Have been programing for over four decades. Each programmer needs to be responsible for documenting, testing and debugging what they have created - who else knows it better?
—Prem Sobel
Manual Latino 1.4.0¶
Bienvenidos al manual de Latino, un lenguaje de programación con sintaxis en Español.
Autor: | Melvin Guerrero |
---|---|
Versión: | Latino 1.4.0 |
Categorías¶
- Novedades
- Descubre las mejoras y novedades en esta nueva versión de Latino 1.4.0
- Operadores
- Operadores de aritmética, asignación, condicionales, lógicos, relacionales, y más.
- Tipos de Datos
- Los tipos de datos es una clasificación que define el valor asociado a una variable u objeto.
- Cadenas (Strings)
- Las cadenas (strings por su nombre en Ingles) son utilizados para almacenar y manipular textos en Latino.
- Módulos
- Un módulo es un archivo que contiene un conjunto de funciones que desea incluir en su aplicación.
- RegEx
- Una Expresión Regular o RegEx es una secuencia de caracteres que forman un patrón de búsqueda.
- Funciones Base
- Son funciones predefinidas que nos ayudan a realizar ciertas tareas.
- Glosario
- Lista de librerías, palabras reservadas y definiciones en Latino.
Otras Documentaciones¶
¿Deseas colaborar?¶
Este manual esta abierto para cualquier voluntario que desee colaborar. Si desea colaborar, mire el articulo de guía de colaboración
Introducción¶
¡Programa en tu idioma!
¿A quién está destinado?¶
Esta documentación está destinada a todas las personas que tengan o no, conocimientos en programación. No importar si nunca has programado antes o si eres un programador experimentado con deseos de programar en tu idioma, este lenguaje de programación es para ti.
Aprende con ejemplos¶
Un buen ejemplo vale más que 1,000 palabras. Esta documentación tiene como objetivo poder enseñar por medio de ejemplos que sean fáciles de entender y recordar, ayudando así al aprendizaje y comprensión de este lenguaje de programación llamado Latino.
Aprende a tu ritmo¶
Todo depende de ti. En esta documentación, la velocidad de aprendizaje esta a tu elección. Si estás en algún momento abrumado, tómate un descanso y vuelve a leer el material para una mejor comprensión. Siempre asegúrate de comprender todos los ejemplos antes de avanzar al siguiente capítulo.
Sobre Latino¶
¿Qué es Latino?¶
Latino es un lenguaje de programación con sintaxis en Español, desarrollado en el 2015.
Este lenguaje está inspirado en Python y Lua.
- Latino puede ser usado para:
- Desarrollo web (server-side),
- Conexiones de base de datos,
- Calculos matemáticas,
- System Scripting.
¿Por qué se creó Latino?¶
Este lenguaje nace de la necesidad de incrementar la educación a nivel básico y avanzado, para que niños, adolescentes y también adultos se motiven a entrar en el mundo de la programación y desarrollar aplicaciones con una sintaxis a su idioma.
Al utilizar este lenguaje con sintaxis en Español se espera que de esta manera se reduzca el tiempo de aprendizaje y a su vez se maximice la comprensión al programar.
¿Por qué aprender Latino?¶
Latino al ser un lenguaje de programación con sintaxis en Español nos provee de ciertas ventajas a la hora de programar en el.
- Intuitivo:
- Su sintaxis en Español hace más fácil la comprensión del código, reduciendo así el tiempo de aprendizaje al programar.
- Fácil:
- Latino tiene una sintaxis limpia y no requiere del uso de punto y coma (;) al final de cada código como en el caso de Java, Javascript, C/C++, entre otros.
- Lenguaje de alto nivel:
- Esto significa que es un lenguaje que se asemeja a la gramática que usamos para leer y escribir. Sin embargo, los lenguajes de bajo nivel son aquellos que entiende la máquina tales como el código binario o el Lenguaje ensamblador.
- Portátil:
- Cuando escribimos un código en Latino este puede ser ejecutado en cualquier otra plataforma de manera fácil y sencilla a diferencia de otros lenguajes de programación como es el caso de Visual Basic que solo opera en plataformas MS-Windows.
- Código abierto:
- Cualquiera puede descargar el código fuente de Latino, modificarlo, extender sus librerías y aportar en su desarrollo si así lo desea.
¿Quien desarrolla Latino?¶
Latino es un lenguaje que ha recibido el cariño y apoyo de usuarios hispanos al rededor del mundo y estos han contribuido en el crecimiento de este proyecto ayudando en la divulgación y aportando en el código fuente del lenguaje.
Este lenguaje fue creado por Primitivo Roman en el 2015 con la versión v0.1-alpha hasta su versión v1.0 que fue lanzada en el 2017.
En la actualidad, este lenguaje sigue su desarrollo bajo la dirección de Melvin Guerrero con las versiones v1.1.0, v1.2.0, v1.3.0 en adelante.
¿Cuáles son los planes hacia futuro?¶
Latino sigue su desarrollo para poder convertirse en una herramienta esencial en la educación de Latino-América y ser una alternativa fiel en el campo laboral.
Para el desarrollo de este lenguaje de programación se busca ofrecer herramientas que le permita al usuario crear aplicaciones orientadas a objetos, aplicaciones móviles, videojuegos, y más.
También como parte del desarrollo de este lenguaje se busca ofrecer material educativo de calidad, para la fomentación del uso de este lenguaje.
- Como por ejemplo:
- Un manual fiel y de calidad,
- Libros de aprendizaje,
- Cursos en línea,
- Y videos tutoriales.
MS-Windows¶
La instalación de Latino en Windows no difiere de otros programas ya que el proceso de instalación es el mismo. Antes de hacer nada, descargamos la versión mas actualizada de Latino desde su repositorio en github y procedemos con la instalación.
Descargar
Descargar Latino
Sólo para sistemas de 64bit
Atención
Esta instalación fue realizada en Windows 7 de 64bit, ya que Latino no se encuentra disponoble para los sistema de 32bit(86x). Para saber si usas un sistema MS-Windows de 64bit, haz clic Aquí
- Una vez descargada la instalación de Latino procedemos a instalarla dando doble-clic en ella
- Aceptamos las condiciones de uso
- De-seleccionamos la opción de crear icono en el escritorio y seleccionamos la opción Agregar PATH
- Procedemos con la instalación
- Finalizada la instalación, de-seleccionamos la ejecutación de Latino
- Una vez concluida la instalación, probamos ejecutando Latino desde el CMD para confirmar que este todo correctamente instalado. Para ello ejecutamos CMD en Windows y escribimos el comando Latino y presionamos Enter. Si todo sale bien, entonces CMD ejecutara Latino tal como se muestra en la imagen
Nota
Si en el proceso de instalar Latino en MS-Windows causa algún problema o conflicto, no dude en buscar las soluciones en el foro Aquí
Debian - Ubuntu¶
Para instalar Latino en Debian y Ubuntu, primero abrimos la consola (Terminal) y ejecutamos los siguientes comandos:
Instalación express
El siguiente código tiene en su contenido los pasos para descargar e iniciar el instalador de latino en Linux
git clone https://github.com/lenguaje-latino/instalacion.git && cd instalacion && sudo chmod +x latino_instalacion-linux.sh && ./latino_instalacion-linux.sh
Instalación manual¶
Acontinuación estos son los paso a paso para la instalación de Latino si no desea utilizar el script previamente mostrado
sudo apt-get update
sudo apt-get install git cmake build-essential libreadline-dev libpthread-stubs0-dev
Una vez concluido esto, pasamos a instalar propiamente Latino en nuestro sistema
cd ~
sudo git clone https://github.com/lenguaje-latino/latino-core
cd latino-core
sudo cmake .
sudo make install
… y listo! para ejecutar Latino solo escribimos en nuestra terminal el comando latino
Desinstalar¶
Para desinstalar Latino de su sistema, necesitara el archivo «latino_desinstalacion-linux.sh» el cual puede conseguir desde el siguiente repositorio: git:lenguaje-latino/instalacion
Nota
Si en el proceso de instalar Latino en Debian o Ubuntu causa algún problema o conflicto, no dude en buscar las soluciones en el foro Aquí
Fedora¶
Para instalar Latino en Fedora, primero abrimos la consola (Terminal) y ejecutamos los siguientes comandos:
Instalación express
El siguiente código tiene en su contenido los pasos para descargar e iniciar el instalador de latino en Linux
git clone https://github.com/lenguaje-latino/instalacion.git && cd instalacion && sudo chmod +x latino_instalacion-linux.sh && ./latino_instalacion-linux.sh
Instalación manual¶
Acontinuación estos son los paso a paso para la instalación de Latino si no desea utilizar el script previamente mostrado
sudo dnf -y update
sudo dnf -y install gcc-c++ git cmake kernel-devel readline-devel
Una vez concluido esto, pasamos a instalar propiamente Latino en nuestro sistema
cd ~
sudo git clone https://github.com/lenguaje-latino/latino-core
cd latino-core
sudo cmake .
sudo make install
… y listo! para ejecutar Latino solo escribimos en nuestra terminal el comando latino
Desinstalar¶
Para desinstalar Latino de su sistema, necesitara el archivo «latino_desinstalacion-linux.sh» el cual puede conseguir desde el siguiente repositorio: git:lenguaje-latino/instalacion
Nota
Si en el proceso de instalar Latino en Fedora causa algún problema o conflicto, no dude en buscar las soluciones en el foro Aquí
RHEL - CentOS¶
Para instalar Latino en RHEL (Red Hat) y CentOS, primero abrimos la consola (Terminal) y ejecutamos los siguientes comandos:
Instalación express
El siguiente código tiene en su contenido los pasos para descargar e iniciar el instalador de latino en Linux
git clone https://github.com/lenguaje-latino/instalacion.git && cd instalacion && sudo chmod +x latino_instalacion-linux.sh && ./latino_instalacion-linux.sh
Instalación manual¶
Acontinuación estos son los paso a paso para la instalación de Latino si no desea utilizar el script previamente mostrado
CentOS 8 en adelante disponen tanto de YUM y DNF para la instalación de paquetes, en este caso usaremos DNF ya que es más rápido que YUM
sudo dnf -y update
sudo dnf -y install git cmake readline-devel
sudo dnf -y groupinstall "Development Tools"
CentOS 7 y previos solo disponen tanto de YUM para la instalación de paquetes
sudo yum -y update
sudo yum -y install git cmake readline-devel
sudo yum -y groupinstall "Development Tools"
Con CentOS 7 y previos no es posible la instalación de CMake ^3, la cual es la versión requerida para compilar Latido desde su código fuente, por esta razón procedemos a ejecutar los siguientes pasos
sudo yum -y remove cmake
sudo yum -y install epel-release
sudo yum -y install epel-release cmake3
sudo rm -rf /usr/bin/cmake
sudo ln -s /usr/bin/cmake3 /usr/bin/cmake
cmake --version
Una vez concluido esto, pasamos a instalar propiamente Latino en nuestro sistema
cd ~
sudo git clone https://github.com/lenguaje-latino/latino-core
cd latino-core
sudo cmake .
sudo make install
… y listo! para ejecutar Latino solo escribimos en nuestra terminal el comando latino
Desinstalar¶
Para desinstalar Latino de su sistema, necesitara el archivo «latino_desinstalacion-linux.sh» el cual puede conseguir desde el siguiente repositorio: git:lenguaje-latino/instalacion
Nota
Si en el proceso de instalar Latino en Red Hat o CentOS causa algún problema o conflicto, no dude en buscar las soluciones en el foro Aquí
Arch Linux - Manjaro¶
Para instalar Latino en Arch Linux y Manjaro, primero abrimos la consola (Terminal) y ejecutamos los siguientes comandos:
Instalación express
El siguiente código tiene en su contenido los pasos para descargar e iniciar el instalador de latino en Linux
git clone https://github.com/lenguaje-latino/instalacion.git && cd instalacion && sudo chmod +x latino_instalacion-linux.sh && ./latino_instalacion-linux.sh
Instalación manual¶
Acontinuación estos son los paso a paso para la instalación de Latino si no desea utilizar el script previamente mostrado
sudo pacman -Syu
sudo pacman -S --noconfirm base-devel cmake git
Una vez concluido esto, pasamos a instalar propiamente Latino en nuestro sistema
cd ~
sudo git clone https://github.com/lenguaje-latino/latino-core
cd latino-core
sudo cmake .
sudo make install
… y listo! para ejecutar Latino solo escribimos en nuestra terminal el comando latino
Desinstalar¶
Para desinstalar Latino de su sistema, necesitara el archivo «latino_desinstalacion-linux.sh» el cual puede conseguir desde el siguiente repositorio: git:lenguaje-latino/instalacion
Nota
Si en el proceso de instalar Latino en Arch Linux o Manjaro causa algún problema o conflicto, no dude en buscar las soluciones en el foro Aquí
macOS-X¶
Descargar
Descargar Latino
Sólo para Mac con procesador Intel, requiere el sistemas Mac OS X 10.4 o posteriores.
- Una vez descargada la instalación de Latino procedemos con la instalación
- Doble-clic en nuestro paquete de instalación Latino-XXX-Darwin.pkg
- Doble-clic al volumen del paquete que apareció en nuestro escritorio en Mac
- Doble-clic al paquete de instalación para iniciar con la instalación
- Seguimos las instrucciones del paquete de instalación hasta terminar.
- Una vez terminemos con la instalación, procedemos a verificar que Latino este correctamente instalado abriendo nuestra Terminal y en ella escribiremos el comando Latino
Nota
Si en el proceso de instalar Latino en Mac causa algún problema o conflicto, no dude en buscar las soluciones en el foro Aquí
Atom¶
Sintaxis de Latino en Atom
Para poder usar la sintaxis de Latino en Atom, estos son los pasos a seguir una vez tengamos el programa abierto:
- Clic en Archivo (File) > Configuraciones (Settings)
- Clic en Install > En el buscador escribimos Latino y presionamos Enter y por último Install
- y Listo! Ya podremos programar en Atom con sintaxis de Latino
Notepad++¶
Descargar
Sintaxis de Latino en Notepad++
Para poder usar la sintaxis de Latino en Notepad++, estos son los pasos a seguir una vez tengamos el programa abierto:
- Clic en el menú Lenguaje > Definir Idioma
- Clic en el botón Importar
- Seleccionamos el archivo Latino.xml
- Reinicie Notepad++ para que tome la configuración. (Una vez que vuelva a abrir el programa, si la ventana de Definir Idiomas continúa visible lo podemos quitar dando clic en Lenguaje > Definir Idioma)
- Para activar el Plugin de Latino, sólo tendremos que hacer clic en Lenguaje > Latino
- y Listo! Ya podremos programar en Notepad++ con sintaxis de Latino
Sublime Text¶
Descargar
Sintaxis de Latino en Sublime Text
Para poder usar la sintaxis de Latino en Sublime Text, estos son los pasos a seguir una vez tengamos el programa abierto:
- Clic en el menú Preferences > Browse Packages…
- Una vez nos abra el folder, pasaremos a arrastrar y solar (o copiar) los siguientes archivos LATINO.tmLanguage y LATINO.YAML-tmLanguage
- Reinicie Sublime Text para que tome la configuración.
- y Listo! Ya podremos programar en Sublime Text con sintaxis de Latino
TextMate¶
Descargar
Sintaxis de Latino en Sublime Text
Para poder usar la sintaxis de Latino en TextMate, estos son los pasos a seguir una vez tengamos el programa abierto:
- Descargado el archivo de latino.tmbundle
- En TextMate hacemos clic en el menú Bundles > Edit Bundles…
- Una vez nos abra la ventana, pasaremos a hacer clic en el menu File > Open…
- Pasamos a buscar el archivo latino.tmbundle
- Cambiamos el tipo de lenguaje en TextMate
- y Listo! Ya podremos programar en TextMate con sintaxis de Latino
Vim¶
Descargar
Sintaxis de Latino en Vim
Para poder usar la sintaxis de Latino en Vim, estos son los pasos a seguir:
- Con el programa cerrado, nos vamos a donde tenemos el programa instalado C:\Program Files (x86)\Vim\vim80
- Una vez ahí pasamos a copiar y pegar las carpetas ftdetect, syntax y Ultisnips en la dirección anterior vim80
- Aceptamos y confirmamos cuando se nos pregunte si queremos mezclar (merge) los archivos.
- ¡Y listo! Ya podremos programar en Vim con la sintaxis de Latino
VS Code¶
Sintaxis de Latino en VS Code
Para poder usar la sintaxis de Latino en VS Code, estos son los pasos a seguir una vez tengamos el programa abierto:
- Clic en Extensiones o precionando su atajo de teclado Ctrl+Shift+X
- En el buscador escribimos Latino y presionamos Enter y por último Install
- y Listo! Ya podremos programar en VS Code con sintaxis de Latino
Mi Primer Programa¶
Esta sección del manual está enfocada en dar al usuario una breve muestra de algunas funciones y operaciones básicas que se pueden hacer en Latino
Para comenzar con cada uno de los ejemplos tendremos que abrir la terminal de nuestro sistema operativo y tener ejecutado Latino.
Nota
Para ejecutar Latino en la terminal sólo escribimos latino y presionamos la tecla Enter
Nota
Para ejecutar un archivo de Latino ingresamos a la ubicación del archivo desde la consola y escribimos latino y el nombre del archivo con su extensión. Por ejemplo: latino miarchivo.lat
Hola Mundo en Lenguaje Latino
En este ejemplo vamos a realizar un pequeño programa que al ejecutar mostrara un mensaje que diga «Hola Mundo, Latino!»
Para hacer mostrar un mensaje en pantalla usaremos el siguiente comando y presionamos Enter
escribir("Hola Mundo, Latino!")
El resultado será:
Hola Mundo, Latino!

Imprimir número (digitado por el usuario)
En este ejemplo se mostrara como podemos digitar y almacenar valores a una variable y posteriormente mostrar ese valor en pantalla.
escribir("Digite un número:")
num=leer() //aquí creamos una variable y le asignamos la función leer()
escribir("El número digitado fue: "..num)
Nota
Si está escribiendo el código directamente en la terminal, se puede escribir todo en una sola línea, así:
escribir("Digite un número:") num=leer() escribir("El número digitado fue: "..num)
El resultado será:
Digite un número:
24
El número digitado fue: 24

Número Par o Impar en Latino
En este ejemplo vamos a crear un programa que nos ayude a identificar cuando un número (digitado por el usuario) es par o impar.
Ejemplo 1:
escribir("Entre un número:")
num=leer()
si (num % 2 == 0) //Verdadero si el número es perfectamente divisible por 2
escribir("El número "..num.." es par")
sino
escribir("El número "..num.." es impar")
fin
Nota
Si está escribiendo el código directamente en la terminal, se puede escribir todo en una sola línea, así:
escribir("Entre un número:") num=leer() si(num%2==0) escribir("El número "..num.." es par") sino escribir("El número "..num.." es impar") fin
El resultado será:
Entre un número:
8
El número 8 es par
Ejemplo 2:
Esta es otra forma de poder crear el mismo programa pero en menos líneas de códigos:
escribir("Entre un número:")
num=leer()
escribir("El numero "..num..(num%2==0)?" es par":" es impar")
El resultado será:
Entre un número:
-7
El número -7 es impar

Intercambiar dos números entre variable en Latino
En este ejemplo haremos un programa que intercambie los valores de dos variables entre si.
Ejemplo 1:
priNum = 2
segNum = 5
priNum, segNum = segNum, priNum //Aquí se intercambian los valores
escribir("PrimeroNum:"..priNum.." | SegundoNum:"..segNum)
El resultado será:
PrimeroNum:5 | SegundoNum: 2
Ejemplo 2:
escribir("Entre el primer número:")
priNum=leer()
escribir("Entre el segundo número:")
segNum=leer()
tempVar=priNum //El valor de la primera variable es asignada a una variable temporal
priNum=segNum //El valor de la segunda variable es asignada a la primera variable
segNum=tempVar //El valor de la variable temporaria es asignada a la segunda variable
escribir("Después de intercambiar, la primera variable es de: "..priNum)
escribir("y la segunda variable es de:"..segNum)
El resultado será:
Entre el primer número:
1
Entre el segundo número:
2
Después de intercambiar, la primera variable es de: 2
y la segunda variable es de: 1
Ejemplo 3:
escribir("Entre el primer número:")
priNum=leer()
escribir("Entre el segundo número:")
segNum=leer()
//processo de intercambio
priNum=priNum-segNum
segNum=priNum+segNum
priNum=segNum-priNum
escribir("Después de intercambiar, la primera variable es de: "..priNum)
escribir("y la segunda variable es de:"..segNum)
El resultado será:
Entre el primer número:
10.25
Entre el segundo número:
-12.5
Después de intercambiar, la primera variable es de: -12.5
y la segunda variable es de: 10.25

Identificar si el caracter es vocal o no en Latino
En este ejemplo vamos a crear un programa que sea capaz de saber si el valor que insertamos es una vocal o consonante.
escribir("Entre un alfabeto:")
alfa=leer()
vocales=["a","A","e","E","i","I","o","O","u","U"] //Declaración de vocales
resp = alfa..", NO es una vocal"
desde (i=0; i < lista.longitud(vocales); i++)
si (alfa==vocales[i])
resp = alfa..", SI es una vocal"
fin
fin
escribir (resp)
El resultado será:
Entre un alfabeto:
a
a, es un vocal

Comentarios¶
Como otros lenguajes de programación, Latino dispone de comentarios. Estos comentarios se pueden usar para crear notas que ayuden a explicar algún código que tengamos escrito o también usarlo para prevenir la ejecución de alguna línea de código al momento de ejecutar el programa.
Comentarios de una línea simple¶
Los comentarios de una línea simple pueden comenzar con un signo de # ó //. Cualquier texto o código que este después de estos signos serán ignorados por Latino (No se ejecutaran).
En este ejemplo se hará uso del comentario de una línea antes de cada línea de código:
//Esta línea de código mostrara el mensaje Hola Mundo
al ejecutar el programa
escribir ("Hola Mundo")
#La siguiente línea de código sumara los valores y su resultado se escribirá en pantalla
escribir (5+5)
En este ejemplo se usa un comentario línea simple al final de cada línea para explicar el código:
x = 5 #Declaramos una variable con el nombre de X, y le hemos asignado un valor de 5
y = x + 2 #Declaramos una variable con el nombre de Y, y le hemos asignado el valor de X más 2
escribir (y) //En esta linea de código escribiremos en pantalla el valor de Y el cual tiene el valor de X + 2
Comentarios de líneas múltiples¶
Los comentarios de líneas múltiples comienzan con /* y terminan con */. Cualquier texto o código que este dentro de estos signos serán ignorados por Latino (no se ejecutaran).
En este ejemplo se hará uso del comentario de líneas múltiples:
/*
El siguiente código
repite el mismo ejemplo que vimos hace un momento arriba
con las mismas variables X y Y como variables para usar
*/
x = 5
y = x + 2
escribir (y)
Usando comentarios para prevenir la ejecución de códigos:¶
El uso de comentarios para prevenir la ejecución de una línea de código puede ser muy útil cuando estamos probando nuestro código. Agregando los signos # ó // delante de cualquier línea de código, hará que esta única línea se vuelva invisible para el programa al momento de ejecutarlo.
En este ejemplo se hará uso del signo // para prevenir la ejecución de la primera linea de codigo:
//escribir ("Este código NO se ejecutara")
escribir ("Este código SI se ejecutara")
En este ejemplo se preverá la ejecución de un bloque de código con los comentarios de líneas múltiples:
/*
Todo este bloque de código al ser un comentario
no se ejecutara al iniciar el programa
x = 5
y = x + 2
escribir (y)
*/
Variables¶
Una variable es un espacio en la memoria, en el cual el programador asigna un valor determinado.
Las variables son representadas por un nombre que es asignado por el programador cuando se escribe el código fuente. Cada variable tiene un único nombre el cual no puede ser cambiado una vez esta variable tenga un valor asignado. Dos o más variables pueden tener el mismo valor o contenido, pero no el mismo nombre.
En este ejemplo X, Y y Z serán las variables:
x = 3
y = 5
z = x + y
- En este ejemplo, se puede observar la siguiente explicación:
- X es una variable, y esta almacena el valor de 3
- Y es otra variable, y esta almacena el valor de 5
- Z es otra variable, y esta almacena el valor de 8
Declaración (creación) de variables¶
Las variables de Latino deben ser identificadas por un nombre único.
Estos nombres pueden ser cortos (como X o Y) o pueden ser nombres mas descriptivos (como edad, nombre, valorTotal, etc.)
La regla general en Latino para crear nombres de variables son las siguientes:
Las variables SI pueden:¶
- Empezar con un guión bajo _ o letras a-z o A-Z.
- Contener caracteres en mayúsculas y minúsculas. (Latino es sensible a las mayúsculas y minúsculas, por lo que los identificadores con nombres similares pero con letras mayúsculas o minúsculas en ellas serán interpretadas como diferentes variables en Latino).
mensaje = "Hola Mundo"
Mensaje = "¡Hasta la vista baby!"
Las variables NO pueden:¶
- No son validas las letras acentuadas u otros caracteres como la ñ.
- Empezar por un número.
- Empezar por un símbolo o alguna palabra reservada de Latino.
Declaraciones de múltiples variables¶
En Latino es posible asignar más de una variable en una sola línea de código. En Latino una declaración múltiple sólo será valida de la siguiente manera:
a, b, c = 1, 2, 3 #la variable a=1, b=2, y c=3
a, b, c = 1, 2 #la variable a=1, b=2, y c = nulo (vacío)
a, b = 1, 2, 3 #la variable a=1, b=2 se descarta el valor 3 ya que no fue asignado a una variable
Tipos de variables¶
Las variables en Latino pueden contener casi cualquier tipo de datos como cadenas, diccionarios, data, valores numéricos como el número 100 y valores alfanuméricos como un nombre de persona «José Martinez».
En programación, los valores alfanuméricos (o textos) se los llaman Strings (por su nombre en inglés).
Los strings se escriben dentro de comillas simples o dobles. Sin embargo, los números se pueden escribir sin estas comillas.
pi = 3.14
persona = "Melvin Guerrero"
respuesta = "Hola!, buenos días!"
Variables numéricas¶
En este ejemplo precio1, precio2, y total, serán variables:
precio1 = 5
precio2 = 6
total = precio1 + precio2
escribir("El precio total es: " .. total)
- Las variables de Latino son contenedores para almacenar variedades de datos:
- En programación, también se usan las variables para guardar valores algebraicos (como es el caso de la variable precio1 y precio2).
- En programación, también se usan las variables para guardar expresiones (como es el caso de total = precio1 + precio2).
Concatenar variables¶
En Latino, el símbolo + no es usado para concatenar datos, como sí es el caso de otros lenguajes de programación.
Este símbolo + solo es usado para sumar valores numéricos.
Para concatenar datos en Latino se utilizan los puntos dobles ..
x = 2 + 3 //Aquí se están sumando los valores numéricos
y = 2 .. 3 //Aquí se están concatenado los valores numéricos
escribir(x .. " " .. y) //Aquí se están agregando las dos variables y se le añadió un espacio en blanco para separarlas
Si se desea concatenar valores alfanuméricos con valores u operaciones numéricas, se recomienda que se declaren en variables separadas y se concatenen en una nueva variable para ser escritas:
x = "Melvin"
y = 2 + 3
z = x..", "..y
escribir(z) //El resultado será Melvin, 5
Constantes¶
A este tipo de variables se les llaman Constantes porque una vez el programa arranque, su valor no podrá ser reasignado por otro valor, como sí es el caso de las variables anteriores.
Cuando se declara una variable constante, se le debe asignar un valor al momento de declararla, ya que no pueden estar vacias ni se les puede cambiar ni asignar un valor después de que el programa arranque.
Las variables constantes se deben declarar escribiendo todo su nombre en mayúsculas.
PI = 3.14
VALOR_EXTRA = 9.8
Operadores¶
En Latino como en otros lenguajes de programación, tiene varios operadores para realizar tareas que incluyen operaciones aritméticas, condicionales y lógicos.
La precedencia de operadores en este lenguaje de programación es la misma que otros lenguajes como C, Lua y Python.
Latino tiene una amplia gama de operadores para realizar diversas operaciones. Para una mejor comprensión de los operadores, estos operadores se pueden clasificar como:
- Operadores aritméticos
- Operadores de incremento y decremento
- Operadores de asignación
- Operadores relacionales
- Operadores lógicos
- Operadores condicionales
- Otros operadores
Nota
En Latino estos operadores sólo se pueden usar con variables con valores numéricos, no alfanuméricos.
Operadores aritméticos¶
Los operadores aritméticos realizan operaciones matemáticas básicas tales como suma, resta, multiplicación y división en valores numéricos (constantes y variables).
Operador | Descripción |
---|---|
+ | Suma |
- | Resta |
* | Multiplicación |
/ | División |
% | Modulo (reminente de división) |
^ | Potencia |
Operadores de incremento y decremento¶
En latino se encuentran dos operadores que incrementan y decrementan el valor numérico de un operando (constante o variable) por 1(uno).
Operador | Descripción |
---|---|
+ + | Incrementa el valor en 1 (valido sólo en post). |
- - | Decrementa el valor en 1 (valido sólo en post). |
Operadores de asignación¶
Los operadores de asignación se usan para asignar un valor a una variable. El operador de asignación más común es = (signo de igual).
Operador | Ejemplo | Igual a |
---|---|---|
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
El operador de asignación += agrega un valor a una variable.
x = 10 //Asignamos un valor a la variable X
x += 5 //Al valor que ya dispone la variable X, le sumamos un valor de 5
escribir(x) //El resultado será 15
Operadores relacionales¶
En programación, un operador relacional verifica la relación entre dos operandos. Si la relación es verdadera, devuelve el valor verdadero; si la relación es falsa, devuelve el valor falso.
Los operadores relacionales se utilizan en la toma de decisiones y en los bucles.
Operador | Descripción |
---|---|
== | Igual que |
!= | No igual que |
> | Mayor que |
< | Menor que |
>= | Mayor o igual que |
<= | Menor o igual que |
~= | RegEx (Expresión Regular) |
Operadores lógicos¶
Los operadores lógicos se usan para determinar la lógica entre variables o valores y estos devuelven Verdadero o Falso, dependiendo si la expresión es verdadera o falsa.
Los operadores lógicos se utilizan comúnmente en la toma de decisiones en programación.
Operador | Descripción |
---|---|
&& | Y lógico. Sólo será verdadero si todos los operadores son verdaderos. |
|| | Ó lógico. Será verdadero si sólo uno de los dos operadores es verdadero. |
! | NO lógico. Sólo será verdadero si los operadores son falsos. |
Operadores condicionales¶
Un operador condicional es un operador ternario, es decir, funciona en tres operandos.
Sintaxis del operador condicional:
(Expresión condicional) ? expresión1 : expresión2
- El operador condicional funciona de la siguiente manera:
- La primera expresión condicional se evalúa primero. Esta expresión se evalúa si es verdadera o si es falsa.
- Si la expresión condicional es verdadera, se evalúa la expresión1.
- Si la expresión condicional es falsa, se evalúa la expresió2.
numero = -5 #Creamos una variable con un valor de -5
mensaje = (numero < 0) ? " es negativo" : " es positivo" #Creamos una nueva variable y a esta le asignamos el operador condicional.
escribir ("El número " .. numero .. mensaje) #El mensaje seria: El número -5 es negativo.
Otros operadores¶
Entre estos operadores podemos encontrar el operador de concatenación y el operador de acceso a miembros.
Operador de concatenación¶
El operador de concatenación está representado por doble punto (..).
Este operador se utiliza para concatenar(juntar) expresiones no relacionadas entre sí:
nombre = "Melvin" //Creamos una variable llamada nombre, con un valor alfanumérico Melvin
apellido = "Guerrero" //Creamos otra variable llamada apellido, con un valor alfanumérico Guerrero
escribir ("Hola! " .. nombre .." "..apellido) #En el comando escribir() asignamos un texto de bienvenida y concatenamos nuestras variables dejando un espacio entre ellas.
Operador de acceso a miembro¶
El operador de acceso a miembro está representado por un solo punto .
Un claro ejemplo de su uso es cuando trabajamos con diccionarios y queremos acceder a sus propiedades ó cuando usamos librerías y queremos acceder a sus métodos.
/*
Estos son solo ejemplos representativos
de cuando se hace uso del operador de acceso a miembro.
*/
#librería (punto) método
cadena.longitud
#diccionario (punto) propiedad
persona.nombre
Aritmética¶
Operadores aritméticos¶
Los operadores aritméticos realizan operaciones matemáticas básicas tales como suma, resta, multiplicación y división en valores numéricos (constantes y variables).
Operador | Descripción |
---|---|
+ | Suma |
- | Resta |
* | Multiplicación |
/ | División |
% | Modulo (reminente de división) |
^ | Potencia (Exponencial) |
Ejemplos:
Una típica operación aritmética serían con dos números.
Con dos números literales:
x = 100 + 50
o también con variables:
x = a + b
o también con expresiones:
x = (100 + 50) * a
Multiplicación¶
El operador de multiplicación (*):
x = 5
y = 2
z = x * y
escribir(z) //El resultado sería 10
Modulo (Remitente)¶
El operador de remitente (%):
x = 5
y = 2
z = x % y
escribir(z) //El resultado sería 1
Potencia¶
El operador de función exponencial (^):
x = 5
y = 2
z = x ^ y
escribir(z) //El resultado sería 25
Nota
Para la potencia, podemos conseguir el mismo resultado utilizando la librería de matemáticas mate.pot(5,2)
x = 5
y = 2
escribir(mate.pot(x,y)) //El resultado sería 25
Operadores de incremento y decremento¶
Incrementación¶
El operador de incremento, se representa por suma doble (+ +).
x = 5 //Declaramos una variable con un valor de 5
x++ //Se incrementa el valor de la variable X por 1
escribir(x) //Es resultado sería 6
Decrementación¶
El operador de decremento, se representa por resta doble (- -).
x = 5 //Declaramos una variable con un valor de 5
x-- //Se decrece el valor de la variable X por 1
escribir(x) //Es resultado sería 4
Precedencia en los Operadores¶
En aritmética, todos los operadores (aritméticos, lógicos y relacionales) tienen unas reglas de precedencia que se aplican cuando varios operadores actúan juntos, y Latino hace uso de estas reglas.
Los operadores aritméticos, por ejemplo, la multiplicación y la división se ejecutan antes que la suma o la resta.
Para alterar estas reglas de precedencia, se pueden usar paréntesis ( ).
x = 100 + 50 * 3 //Devolverá 250
y = (100 + 50) * 3 //Devolverá 450
escribir ("Valor de X: " .. x .. ", Valor de Y: ".. y)
Asignación¶
Operador | Ejemplo | Igual a |
---|---|---|
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
Operador +=¶
El asignador operacional += suma los valores de las variables x más y y los asigna a la variable x
x = 10
y = 5
x += y
escribir(x) //El resultado será 15
Operador -=¶
El asignador operacional -= resta los valores de las variables x menos y y los asigna a la variable x
x = 10
y = 5
x -= y
escribir(x) //El resultado será 5
Operador *=¶
El asignador operacional *= multiplica los valores de las variables x por y y los asigna a la variable x
x = 10
y = 5
x *= y
escribir(x) //El resultado será 50
Operador /=¶
El asignador operacional /= divide los valores de las variables x entre y y los asigna a la variable x
x = 10
y = 5
x /= y
escribir(x) //El resultado será 2
Operador %=¶
El asignador operacional %= nos devuelve el remitente (modulo) de la divide los valores de las variables x entre y y los asigna a la variable x
x = 10
y = 5
x %= y
escribir(x) //El resultado será 0
Relacionales¶
En programación, un operador relacional verifica la relación entre dos operandos. Si la relación es verdadera, devuelve el valor verdadero; si la relación es falsa, devuelve el valor falso.
Los operadores relacionales se utilizan en la toma de decisiones y en los bucles (por su nombre en inglés).
Operador | Descripción |
---|---|
== | Igual que |
!= | No igual que |
> | Mayor que |
< | Menor que |
>= | Mayor o igual que |
<= | Menor o igual que |
~= | RegEx (Expresión Regular) |
Ejemplos:
Para los siguientes ejemplos supondremos que la variable x tiene un valor de 5
x = 5
escribir(x==8) //El resultado sería falso
Operador | Descripción | Comparativa | Resultado |
---|---|---|---|
== | igual a | escribir(x == 8) | falso |
escribir(x == 5) | verdadero | ||
!= | no igual | escribir(x != 8) | verdadero |
escribir(x != 5) | falso | ||
> | mayor que | escribir(x > 8) | falso |
< | menor que | escribir(x < 8) | verdadero |
>= | mayor ó igual que | escribir(x >= 8) | falso |
<= | menor ó igual que | escribir(x <= 8) | verdadero |
Operador ~=
Este operador hace uso de las expresiones regulares(regular expression) en Latino.
Una expresión regular (regular expression ó RegEx, por su nombre en Ingles) es una secuencia de caracteres y estas forman un patrón de búsqueda.
/*
El operador ~= utiliza las expresiones regulares
en cadenas para hacer patrones de búsqueda.
La condicional SI, devolverá:
"x inicia con hola"
*/
x = "hola mundo"
si x ~= "^hola"
escribir("x inicia con hola")
sino
escribir("x NO inicia con hola")
fin
Nota
Las Expresiones Regulares (RegEx) contienen un artículo dedicado a su uso en Latino el cual se puede encontrar aquí.
Lógicos¶
Los operadores lógicos se usan para determinar la lógica entre variables o valores y estos devuelven Verdadero o Falso, dependiendo si la expresión es verdadera o falsa.
Los operadores lógicos se utilizan comúnmente en la toma de decisiones en programación.
Operador | Descripción |
---|---|
&& |
|
|| |
|
! |
|
Ejemplo:
Para los siguientes ejemplos supondremos que la variable x=6 y la variable y=3.
Operador | Descripción | Ejecución | Resultado |
---|---|---|---|
&& | y lógico | escribir(x < 10 && y > 1) | Verdadero |
|| | o lógico | escribir(x == 5 || y == 5) | Falso |
! | no lógico | escribir(!(x == y)) | Verdadero |
Tipos de Datos¶
Las computadoras a diferencia de los seres humanos, no reconocen ni saben la diferencia entre «1234» y «abcd», por esta razón en programación se definieron los tipos de datos.
Un tipo de dato es una clasificación que define el valor asociado a una variable u objeto. Por lo general estos tipos de datos suelen estar almacenados en una variable, ya que estas pueden almacenar tipos de datos como: Numéricos, alfanuméricos, listas, diccionarios, entre otros.
A continuación se presenta una tabla con ejemplos de algunas clasificaciones para los tipos de datos en programación tanto para Latino y C.
Latino | Tipo de datos en C | Ejemplos |
---|---|---|
lógico | bool | verdadero ó falso |
numérico (decimal) | double | 1.69549875 |
cadena | char* | letras |
lista (matriz) | array | agr1, agr2, agr3… |
diccionario | struct | «propiedad»: «valor» |
nulo | void | vacio (no data) |
Tipos de datos: Lógico¶
Los tipos de datos lógicos (o booleans por su nombre en inglés) solo pueden tener dos valores: verdadero o falso.
//Es X igual a Y o será X igual a Z
x = 5
y = 5
z = 6
escribir(x == y) // Devolverá un valor verdadero
escribir(x == z) // Devolverá un valor falso
Tipos de datos: Numérico¶
Los tipos de datos numéricos son números asignados a una variable que se pueden escribir con o sin punto decimal.
num1 = 34.00
num2 = 34
Nota
También se pueden escribir en notación científica, ejemplo:
x = 7 x 10 2 || y = 4.9 x 10 9 || z = 5.5 x 10 -3 || n = 2.56 × 10 -6x = (7*10^2) //Devolverá 700
y = (4.9*10^9) //Devolverá 4,900,000,000
z = (5.5*10^-3) //Devolverá 0.0055
n = (2.56*10^-6) //Devolverá 2.56e-06
Tipos de datos: Cadena¶
Los tipos de datos alfanuméricos (o strings por su nombre en inglés) son líneas de textos escritas entre comillas simples o dobles. Ejemplo «Bill Gates» “Steve Jobs”.
persona1 = "Bill Gates" //Uso de comillas dobles
persona2 = 'Steve Jobs' //Uso de comillas simples
respuesta1 = "Su nombre es 'Bill'" //Uso de las comillas simples dentro de comillas dobles
respuesta2 = 'Su nombre es "Steve"' //Uso de las comillas dobles dentro de comillas simples
Tipos de datos: Lista¶
Los tipos de datos de listas o matrices se escriben entre corchetes [ ] y sus elementos están separados por comas.
Las matrices son indexadas desde el número 0 (Cero) en adelante.
Esto significa que el número de índice del primer elemento será [0], y el segundo será [1], y así sucesivamente.
carro = ["Nissan", "Volvo", "BMW"]
escribir(carro[0]) //Devolverá Nissan
Tipos de datos: Diccionario¶
Los tipos de datos de diccionarios u objetos se escriben entre llaves { } y sus propiedades se escriben «propiedad» : «Valor» y cada propiedad con su valor están separadas por comas.
/*
En este ejemplo se creara un diccionario
con algunas propiedades para luego ser escritas en pantalla
*/
persona = {"nombre": "Melvin", "apellido": "Guerrero", "edad": 50, "etimología": "Latino"}
escribir(persona.nombre) //Devolverá Melvin
Nulo¶
En Latino los tipos de datos Nulos son nada. Se supone que es algo que no existe.
persona = nulo
escribir(persona) //Devolverá un valor nulo
En Latino una variable con valor nulo no es igual a una variable con valor indefinido.
Las variables con valor indefinido son imposibles de declarar(crear) en Latino ya que las variables requieren ser asignadas a un valor al momento de estas ser declaradas, de lo contrario Latino solo las omitirá.
De todas maneras si se pueden llegar a crear variables con valor vacío de la siguiente manera:
persona = ""
escribir(persona) //Devolverá un espacio en blanco
Diferencia entre un valor vacío y un nulo¶
Un valor vacío y un valor nulo en primera instancia puede que aparenten ser lo mismo ya que nos permite asignar un valor no definido a una variable, pero internamente son totalmente distintas.
x = "" //Este valor al llevar comillas es una cadena
y = nulo //Este valor es nulo
escribir(x == y) //Devolverá un valor falso
Operador «tipo()»¶
En Latino podemos usar el operador tipo() para saber el tipo de dato que lleva un objeto o una variable.
x = ""
y = nulo
escribir(tipo(x)) //Devolverá un valor de cadena
escribir(tipo(y)) //Devolverá un valor nulo
Números¶
En diversos lenguajes de programación existen varias clasificaciones para los números entre ellas están integer, float, double y complex.
Latino trabaja solo con un tipo de número, los números que se escriben con decimal y los que no.
x = 3.14 //Número con decimal
y = 3 //Número sin decimal
Error
Las siguientes expresiones científicas no son reconocidas por Latino:
x = 123e5 //Expresión no reconocida
y = 123e-5 //Expresión no reconocida
Nota
Latino dispone de una librería para matemáticas la cual puede ver aquí.
Decimales¶
Todos los números en Latino siempre serán reconocidos como decimales, tengan o no el punto decimal.
Esto lo podemos comprobar utilizando la función tipo( ) en Latino.
x = 3.14
y = 3
escribir(tipo(x)) //Devolverá decimal
escribir(tipo(y)) //Devolverá decimal
Los números también puede ser expresados como números negativos:
x = -3255522
y = -35.59
Nota
Los números pasados de 15 dígitos son devueltos como expresión científica en Latino:
x = 999999999999999
y = 9999999999999999
escribir(x) //Devolverá 999999999999999
escribir(y) //Devolverá 1e+16
Números como cadedas(textos)¶
A diferencia de las cadenas los números no requieren ser escritos entre comillas, pero de serlo estas dejaran de ser números y pasaran a ser interpretadas como cadenas(textos).
x = 100 //X es un decimal
y = "100" //Y es una cadena
Convertir cadenas a números¶
Latino puede convertir las cadenas numéricas a números con los operadores aritméticos:
x = "100"
y = "10"
escribir(x + y) //Devolverá 110
escribir(x - y) //Devolverá 90
escribir(x * y) //Devolverá 1000
escribir(x / y) //Devolverá 10
En Latino existe una funcion pre-definida llamada anumero( ) que de igualmanera nos convierte una cadena a número.
x = "100"
escribir(tipo(x)) //Devolverá cadena
x = anumero("100")
escribir(tipo(x)) //Devolverá decimal
Cadenas (Strings)¶
Las cadenas (strings por su nombre en Ingles) son utilizadas para almacenar y manipular textos.
Estas cadenas están rodeadas por comillas simples ( ' ) o comillas dobles ( “ ).
escribir("hola")
escribir('hola')
Se pueden usar comillas dentro de una cadena, siempre y cuando estas no coincidan con las comillas que las rodean.
escribir("El se llama 'Melvin'") //Devolverá: El se llama 'Melvin'
escribir('El se llama "Melvin"') //Devolverá: El se llama "Melvin"
Nota
Latino dispone de una librería para el manejo de cadenas, aquí.
Concatenar cadenas(textos)¶
Para concatenar o unir textos en Latino se hace uso de doble puntos (..), que a diferencia de otros lenguajes de programación los cuales usan el signo de más (+).
El doble punto (..) no solo es útil para unir textos, también números.
x = "Hola mundo"
y = ", Latino"
escribir(x..y) //Devolverá Hola mundo, Latino
escribir(1..2) //Devolverá 12
Caracteres especiales¶
Las cadenas al estar escritas entre comillas, se pudiera producir un error con la siguiente sintaxis:
escribir("Hola mundo, "Latino!" ¿Cómo estan?")
En el ejemplo anterior, La oración estaría cortada hasta “Hola mundo,” y Latino pensaría que el nombre Latino! es una variable, produciendo así un error de sintaxis.
La solución a este problema sería usar una barra invertida ( \ ).
La barra invertida ( \ ) convierte los caracteres especiales en textos:
/*
Devolverá:
Hola mundo, "Latino" ¿Cómo estan?
*/
escribir("Hola mundo, \"Latino!\" ¿Cómo estan?")
Además de usar la barra invertida para escribir textos, también es usada para indicar funciones.
A continuación se presentan los caracteres disponibles para usar en Latino.
Tabla de caracteres:¶
Carácter | Descripción |
---|---|
\ “ | Comillas dobles |
\ ' | Comillas simples |
\n | Nueva línea |
\r | Retorno de carro (Carriage return) |
\b | Remover (Backspace) |
\t | Tabulación horizontal |
\v | Tabulación vertical |
\f | Alimentación de formulario (Form feed) |
\a | Alerta (Beep) |
\0 | Carácter nulo |
\nnn | Carácter con valor octal nnn |
Nota
Los caracteres especiales descritos en la tabla superior fueron originalmente diseñados para el uso de máquina de escribir, teletipo, y máquina de fax.
Retorno de carro¶
Carácter a usar: \r
/*
A diferencia de \n, \r no crea una nueva línea
sino que devuelve el cursor al punto de partida
y sigue escribiendo. Esto proveca una sobre escritura.
Devolverá:
Latinoundo,
*/
escribir("Hola mundo,\rLatino")
Nota
Para saber la diferencia entre \n y \r ver enlace aquí
Remover¶
Carácter a usar: \b
/*
Este comando elimina el carácter previo a este.
Devolverá:
HolMundo
*/
escribir("Hola\bmundo")
Alerta¶
Carácter a usar: \a
/*
Hará sonar el Beep de la PC y Devolverá:
Hola mundo
*/
escribir("Hola mundo\a")
Carácter nulo¶
Carácter a usar: \0 *(cero)
/*
Elimina todo el texto posterío al comando
hasta el cierre de las comillas y Devolverá:
Hola mundo,2020
*/
anio = "2020"
escribir("Hola mundo,\0 Latino! y feliz "..anio)
Nota
De igual manera \0 al ser un valor nulo, también puede ser usado en condicionales lógicas:
Ejemplo 1
/*
Devolverá:
El valor no es nulo
*/
x = 5
si x != "\0"
escribir ("El valor no es nulo")
fin
Ejemplo 2
/*
Devolverá:
No es nulo
*/
x = 5
si x == "\0"
escribir ("Es un valor nulo")
sino
escribir ("No es nulo")
fin
Carácter con valor octal¶
Carácter a usar: \nnn
/*
Devolverá:
Hola mundo
*/
texto = "\110\157\154\141\040\155\165\156\144\157"
escribir(texto)
Textos de multiples líneas¶
Previamente vimos que las cadenas pueden ser textos líneales, pero también pueden ser textos de multiples líneas.
Para indicar cuando una cadena será de múltiples líneas, basta con dejar una de las comillas al inicio y otra al final del párrafo.
escribir("Ejemplo de texto de múltiples lineas:
---------------------------------------
En este ejemplo podemos observar
que Latino es perfectamente capaz de
procesar textos de múltiples líneas
siempre y cuando una de las dos comillas
se encuentre al inicio del párrafo y otra al final")
Textos como listas¶
Como en muchos otros lenguajes de programación, los textos son listas (arrays).
/*
Devolverá:
la letra "o"
*/
x = "Hola"
escribir(x[1])
Convertir números a cadenas¶
En Latino existe una funcion pre-definida llamada acadena( ) que nos convierte un número a una cadena(texto).
x = 100
escribir(tipo(x)) //Devolverá decimal
x = acadena("100")
escribir(tipo(x)) //Devolverá cadena
Funciones¶
Una función es un bloque de código que realiza una tarea específica.
Una función se ejecuta cuando esta es invoca (llamada).
Una ventaja que propone crear y usar una función es la división de problemas complejos en pequeños componentes que hacen el programa mas fácil de entender y programar.
Cuando estamos programando y tenemos líneas de códigos que se repiten o necesitamos de ciertos códigos en más de una ocasión, la mejor forma de gestionar nuestro código es, creando funciones.
Sintaxis de función¶
Las funciones se definen con la palabra clave de funcion o la forma corta fun, seguido por el nombre de la función y terminando con paréntesis().
Ejemplo de sintaxis
funcion nombre1()
#código
fin
fun nombre2()
#código
fin
Los nombres de funciones SI pueden:¶
- Los nombres de funciones pueden contener letras, dígitos, subrayados y signos de dólar.
- Empezar con un guión bajo _ o letras a-z o A-Z.
- Contener caracteres en mayúsculas y minúsculas. (Latino es sensible a las mayúsculas y minúsculas, por lo que los identificadores con nombres similares pero con letras mayúsculas o minúsculas en ellas serán interpretadas como diferentes funciones en Latino).
Los nombres de funciones NO pueden:¶
- No puede existir más de una función con el mismo nombre.
- No son validas las letras acentuadas u otros caracteres como la ñ.
- Empezar por un número.
- Empezar por un símbolo o alguna palabra reservada de Latino.
Nota
En otras palabras los nombres de funciones se rigen por las mismas normas que los nombres de las variables.
Múltiples parámetros¶
Una función puede recibir tantos parámetros como queramos.
Los paréntesis pueden incluir nombres de parámetros y estos parámetros están separados por una coma ( , ). Ejemplo: (parámetro1, parámetro2, parámetro3, etc…)
Al usar más de un parámetro, los valores enviados a la función tienen que estar en el mismo orden que los parámetros asignados en ésta.
funcion nombreFuncion (argumento1, argumento2)
resultado = argumento1 + argumento2
retornar resultado
fin
Invocar una función¶
Para ejecutar el código dentro de una función primero hay que invocarla (llamar a la función).
Para llamar una función se hace escribiendo el nombre de la función y en paréntesis los parámetros que esta tenga (en caso de que haya alguno).
funcion hola() //Aquí creamos una función con el nombre de hola()
escribir("Hola Mundo, Latino!") //Aquí especificamos lo que queremos que la función haga, en este caso sería un mensaje de "Hola Mundo, Latino!"
fin //Se concluye la función
hola() //aquí llamamos a la función a ser ejecutada y el código dentro de esta se ejecutara
Retornar función¶
El retornar los valores de una función nos ayuda a poder procesar de forma independiente valores enviados a esta sin interrumpir nuestro código.
Para que nuestra función pueda retornar valores es necesario que esta tenga sus parámetros asignados.
En Latino se puede regresar el valor de una función con las palabras claves regresar, retornar o la forma corta ret. La estructura de una función es la siguiente:
Palabras reservadas
regresar
retornar
ret
Ejemplo de código
funcion suma(a,b) //creamos una función de nombre suma() y con dos parámetros los cuales serán a y b
retornar a+b //asignamos el valor que deseamos devolver el cual será la suma de a+b
fin
resultado=suma(2,3) //creamos una variable llamada resultado y en ella asignamos el nombre de la función la cual es suma() y le asignamos valores a los parámetros
escribir(resultado) //El resultado será 5
Funciones como variables¶
Las funciones se pueden usar de la misma manera que las variables, en todos los tipos de fórmulas, asignaciones y cálculos.
/*En este ejemplo primero
crearemos una función la cual convertirá
el valor de fahrenheit a celsius
y posteriormente veremos cómo usar
directamente una función en vez de una variable*/
funcion convCelsius (fahrenheit)
retornar (5/9) * (fahrenheit-32)
fin
//Aquí usamos una variable
x = convCelsius(77)
escribir("La temperatura es de "..x.." celsius")
//Aquí usamos directamente la función
escribir("La temperatura es de "..convCelsius(77).." celsius")
Parámetros de funciones¶
Toda función tiene una entrada y una salida de datos.
Las salidas de datos se hacen cuando el código de la función se termina de ejecutar y también cuando usamos el comando retornar.
Para la entrada de datos en una función hacemos uso de los parámetros.
Los parámetros de una función son iguales que las variables con la diferencia que solo funcionan en la función en donde estén declaradas.
/*En este ejemplo creamos una función,
a esta le enviamos el valor colectado por el comando leer()
este valor es enviado a la función por medio de la variable usuario
y es recibida en la función gracias al parámetro nombre*/
funcion bienvenida(nombre)
escribir ("Bienvenido "..nombre)
fin
escribir("Hola como te llamas?")
usuario=leer()
bienvenida(usuario)
Lista (Arrays)¶
Las listas o arrays (también son conocidas como arreglos, matrices o vectores en otros lenguajes de programación) son variables que pueden almacenar múltiples valores al mismo tiempo y estos a su vez están organizados por índice.
Entre algunos de los tipos de datos que una lista puede simultáneamente almacenar pueden ser: lógicos, numéricos, cadenas, otras listas y/o diccionarios.
Nota
Latino dispone de una librería para el manejo de listas, aquí.
¿Cúando y/o por qué usar una lista?¶
Una variable nos permite almacenar únicamente un tipo de dato en ella a la vez. Esto resulta ideal cuando se trabaja con operaciones simples pero no sería practico en grandes operaciones.
Ejemplo:
Si tenemos un grupo de artículos (una lista de marcas de carro, por ejemplo) y las almacenamos en variables, sería algo así:
carro1 = "Toyota"
carro2 = "Ford"
carro3 = "Peugeot"
Sin embargo, ¿qué pasaría si en vez de 3 marcas, tuviéramos 300 marcas y tuviéramos que buscar un valor en específico? Resultaría tedioso y poco practico tener que crear 300 variables con nombres distintos solo para almacenar un valor.
La solución sería usar una lista. Como se había explicado antes, una lista nos permiten almacenar varios valores en ella y acceder a ellos haciendo referencia a su número de índice.
Creación de una lista (array)¶
Las listas se definen (crean) entre corchetes [ ] y sus valores están separados por comas.
carros = ["Toyota", "Ford", "Peugeot"]
Las listas o array como vimos en el ejemplo anterior se pueden declarar en una sola línea, pero esto no es el único caso, también podemos declarar una lista en múltiples líneas de la siguiente manera:
carros = [
"Toyota",
"Ford",
"Peugeot"
]
Acceder a los valores en una lista¶
Para acceder a los valores almacenados en una lista usamos su número de índice.
Estos números índices comienzan a contar desde el número 0 (cero) en adelante.
/*
A continuación definimos una lista
y encima marcaremos su número de índice
*/
//índice: 0 1 2 ...
carros = ["Toyota", "Ford", "Peugeot"]
escribir(carros[0]) //Devolverá Toyota
Índices con números negativos¶
Podemos utilizar también índices con números negativos.
La indexación negativa significa comenzar desde el final, -1 se refiere al último elemento, -2 se refiere al penúltimo elemento, -3 se refiere al antes penúltimo elemento, etc.
/*
A continuación definimos una lista
y encima marcaremos su número de índice negativo
*/
//índice: 0 -5 -4 -3 -2 -1
carros = ["Toyota", "Ford", "Peugeot", "Nissan", "Subaru", "Chevrolet"]
escribir(carros[-1]) //Devolverá Chevrolet
Mostrar carácter de un elemento¶
Anteriormente vimos que usando el número de índice podemos acceder al valor almacenado en una lista, pero también podemos únicamente mostrar un solo carácter de una lista usando doble índice.
Esta propiedad resulta bastante útil cuando se esta buscando palabras con letras específicas o carácteres específicos en los elementos de una lista.
/*
El orden de los índices para buscar un carácter
empezaría desde el número cero (0)
Si quisiéramos mostrar la segunda "t" de la marca Toyota
este valor sería el no. 4 ya que se empezaría a contar desde cero (0)
*/
carros = ["Toyota", "Ford", "Peugeot"]
escribir(carros[0][4]) //Devolverá la segunda "t" de Toyota
escribir(carros[2][3]) //Devolverá la "g" de Peugeot
Agregar un nuevo elemento¶
Para agregar un nuevo elemento a la lista solo basta con escribir el nombre de la lista más el nuevo número de índice.
carro = [
"Toyota", //Este sería el índice #0
"Camry", //Este sería el índice #1
]
carro[2] = 2011 //Creamos un nuevo índice #2 y le asignamos el valor de "2011"
escribir(carro[2]) //Devolverá 2011
Cambiar valor de elemento¶
Se puede cambiar el valor de un elemento con solo hacer referencia a la misma:
carros = [
"Toyota",
"Ford",
"Peugeot"
]
carros[1] = "Ferrari"
escribir(carros[1]) //Devolverá Ferrari
Acceder a todos los valores de una lista¶
Para imprimir todos los valores de una lista solo hacemos mención del nombre de la lista sin número de índice.
carros = [
"Toyota",
"Ford",
"Peugeot"
]
escribir(carros) //Devolverá ["Toyota","Ford","Peugeot"]
Las listas pueden ser objetos¶
Las variables pueden ser objetos, y las listas son un tipo de variables. Debido a esto se puede almacenar diversos tipos de datos en una lista.
Las listas pueden almacenar funciones, otras listas o diccionarios si así se desea.
Anidar una función en una lista¶
funcion miCarro()
retorno carro[0]..", "..carro[1]
fin
carro = [
"Toyota",
"Camry",
"2011"
]
carro[3] = miCarro() //Agregamos la función en un nuevo índice de la lista
escribir(carro[3]) //Devolverá Toyota, Camry
Anidar otras listas¶
La manera de llamar a una sub-lista de una lista es de la misma manera en la que se accede a los carácteres de un elemento que explicamos unos puntos más arriba de este articulo.
carros = [
"Toyota", //Este sería el índice 0
"Ford", //Este sería el índice 1
"Peugeot" //Este sería el índice 2
]
modelos = [
"Camry",
"Fiesta",
"206"
]
carros[3] = modelos //Agregamos la lista modelos en un nuevo índice
escribir(carros[3][1]) //Devolverá Fiesta
Anidar un diccionario a una lista¶
Si tenemos un diccionario anidado en una lista, para llamar un elemento del diccionario, escribimos el nombre de la lista con el número de índice en donde se encuentra el diccionario más la propiedad del diccionario:
//Creación de un diccionario
region = {
"ciudad1" : "Santiago",
"ciudad2" : "Bayamón",
"ciudad3" : "Las Tunas"
}
//Creación de una lista
pais = [
"Santo Domingo",
"Puerto Rico",
"Cuba"
]
pais[3] = region //Agregamos el diccionario a la lista en un nuevo índice
escribir(pais[3].ciudad1) //Devolverá Santiago
Diccionarios (Objetos)¶
Los diccionarios u objetos, también son llamados matrices asociativas, esto deben su nombre a que son colecciones que relacionan una propiedad (o llave) a un valor.
Las listas (arrays) almacenan sus valores organizados por índeces, pero este no es el caso de los diccionarios los cuales almacenan sus valores utilizando corchetes [ ].
Los diccionarios son una colección de valores almacenados sin orden y sin índeces. Esto es así porque los diccionarios se implementan como tablas hash, y a la hora de introducir una nueva propiedad (llave) en el diccionario se calcula el hash de la llave para después poder encontrar la entrada correspondiente rápidamente. Si se modificara su propiedad después de haber sido introducida en el diccionario, evidentemente, su hash también cambiaría y no podría ser encontrado.
Los diccionarios u objetos se declaran (crean) entre llaves { } y sus propiedades se escriben «propiedad» : «Valor» y cada propiedad con su valor están separadas por comas.
/*
En este ejemplo se creara un diccionario
con algunas propiedades para luego ser escritas en pantalla
*/
persona = {"nombre": "Melvin", "apellido": "Guerrero", "edad": 50, "etimología": "Latino"}
escribir(persona.nombre) //Devolverá Melvin
En el ejemplo anterior se puede apreciar que los diccionarios realmente son variables, pero estas almacenan una mayor cantidad de valores.
Nota
Latino dispone de una librería para el manejo de diccionarios, aquí.
Definir un diccionario¶
Los diccionarios u objetos como vimos en el ejemplo anterior se pueden declarar en una sola línea, pero esto no es el único caso, también podemos declarar un diccionario en múltiples líneas de la siguiente manera:
Declaración de un diccionario en una sola línea:
carro = {"marca":"Toyota", "modelo":"Camry", "anio":2011, "color":"Blanco"}
Declaración de un diccionario en múltiples líneas:
carro = {
"marca" : "Toyota",
"modelo" : "Camry",
"anio" : 2011,
"color" : "Blanco"
}
Propiedades de un diccionario¶
En programación al conjunto de llave:valor se les llaman propiedades.
Propiedad (llave) | Valor de propiedad |
---|---|
marca | Toyota |
modelo | Camry |
anio | 2011 |
color | Blanco |
Invocar una propiedad (llave)¶
En Latino existen dos maneras para llamar a una propiedad de un diccionario.
Usaremos el ejemplo anterior como base:
escribir(carro.marca) //Devolverá Toyota
escribir(carro["modelo"]) //Devolverá Camry
Cambiar valor de propiedad¶
Se puede cambiar el valor de una propiedad con solo hacer referencia a la misma:
carro = {
"marca" : "Toyota",
"modelo" : "Camry",
"anio" : 2011,
"color" : "Blanco"
}
carro.color="Negro"
escribir(carro.color) //Devolverá Negro
Métodos de un diccionario¶
Los diccionarios además de ser objetos con sus propiedades, también disponen de métodos.
Los métodos son acciones que se pueden realizar a un objeto. En otras palabras los métodos en realidad son funciones almacenadas en las propiedades del objeto.
persona = {
"nombre" : "Melvin",
"apellido" : "Guerrero",
"edad" : 50,
"completo" : funcion()
retornar persona.nombre.." "..persona.apellido
fin
}
escribir(persona.completo()) //Devolverá Melvin Guerrero
Invocar un método¶
Al igual que las propiedades los métodos se invocan de la misma manera, con la diferencia que estos requiere paréntesis ( ) al final del nombre.
escribir(persona.completo())
escribir(persona["completo"]())
Anidar diccionarios¶
Un diccionario no únicamente está compuesto por propiedades y métodos, también de otros diccionarios. A esto se lo llama diccionario anidado.
carros = {
"carro1" : {
"marca" : "Toyota",
"modelo" : "Camry",
"anio" : "2011"
},
"carro2" : {
"marca" : "Ford",
"modelo" : "Fiesta",
"anio" : "2012"
},
"carro3" : {
"marca" : "Peugeot",
"modelo" : "206",
"anio" : "2009"
}
}
escribir(carros.carro1.marca) //Devolverá Toyota
De igual manera podemos anidar otros diccionarios ya existentes a un diccionario:
carro1 : {
"marca" : "Toyota",
"modelo" : "Camry",
"anio" : "2011"
}
carro2 : {
"marca" : "Ford",
"modelo" : "Fiesta",
"anio" : "2012"
}
carro3 : {
"marca" : "Peugeot",
"modelo" : "206",
"anio" : "2009"
}
carros = {
"carro1" : carro1,
"carro2" : carro2,
"carro3" : carro3
}
escribir(carros.carro3.marca) //Devolverá Peugeot
Librería «dic»¶
La librería dic nos permite obtener más información sobre nuestro diccionario en Latino.
Longitud de un diccionario¶
Para obtener la Longitud de un diccionario usaremos el siguiente comando dic.longitud( ).
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
escribir(dic.longitud(persona)) //Devolverá un valor de 4
Llaves de un diccionario¶
Para obtener las llaves (propiedades) que almacena un diccionario usaremos el siguiente comando dic.llaves( ).
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
escribir(dic.llaves(persona)) //Devolverá ["nombre", "apellido", "edad", "etimología"]
Valores de un diccionario¶
Para obtener los valores almacenados en las propiedades de un diccionario usaremos el siguiente comando dic.valores( ), también podemos usar este otro comando que de igual manera hace lo mismo dic.vals( ).
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
escribir(dic.vals(persona)) //Devolverá ["Melvin", "Guerrero", 50, "Latino"]
Agregar nuevas propiedades a un diccionario¶
Para agregar nuevas propiedades a un diccionario implementamos el siguiente código:
carro = {
"marca" : "Toyota",
"modelo" : "Camry",
"anio" : 2011,
"color" : "Blanco"
}
carro["engranaje"]="Automatico" //Aquí hemos agregado una nueva propiedad llama "engranaje" y está con un valor de "Automático"
carro.pais="USA" //También se puede agregar nuevas propiedades de esta manera
escribir(carro) //escribimos el nombre del diccionario para que se impriman todas sus propiedades y valores
Recorrer un diccionario¶
Podemos recorrer un diccionario utilizando el ciclo Desde (For Loop).
Éste es un ejemplo de cómo podríamos recorrer un diccionario que este a su vez imprima las llaves y valores almacenados:
carro = {
"marca" : "Toyota",
"modelo" : "Camry",
"anio" : 2011,
"color" : "Blanco"
}
desde(i=0; i < dic.longitud(carro); i++) //Obtenemos la longitud del diccionario
escribir(dic.llaves(carro)[i].." | "..dic.valores(carro)[i]) //Devolverá cada propiedad del diccionario con su valor
fin
Nota
Por el momento en Latino 1.2.0 en la librería dic funciones como dic.copiar( ), dic.eliminar( ) y dic.existe( ) no están disponibles. Espere a futuros lanzamientos de Latino para ver sus novedades.
Condición Si (If)¶
En programación la condicional Si (If) ayuda al programador a ejecutar instrucciones cuando una condición lógica es cumplida.
Esta condicional evalúa una condición y si el resultado es verdadero ejecuta las instrucciones descritas en ella.
Latino tiene las siguientes declaraciones condicionales:
Comandos | Descripción |
---|---|
si | Inicio de la declaración condicional y esta ejecuta un bloque de código si su condición es verdadera. |
osi | Esta ejecuta un nuevo bloque de código si la condicional anterior fue falsa. |
sino | Esta ejecuta un bloque de código si las codiciones anterios son falsas. |
fin | Marca el fin de la condicional lógica. |
Las condiciones lógicas pueden contener expresiones matemáticas.
Expresión | Descripción |
---|---|
a == b | Es igual |
a != b | No es igual |
a < b | Menor que |
a > b | Mayor que |
a <= b | Menor o igual que |
a >= b | Mayor o igual que |
a <> b | Si es diferente |
Condicional «si» (if)¶
Inicio de la declaración condicional y esta ejecuta un bloque de código si su condición es verdadera.
En esta declaración condicional solo se puede escribir el comando si una vez y es solo al principio, así también como el comando fin solo al final.
Ejemplo de sintaxis
si (condición lógica)
#Bloque de código
fin
Nota
La condición lógica se puede escribir entre paréntesis o sin ellos.
Ejemplo de código
/*
Si la condición se cumple
escribirá en pantalla la siguiente oración:
10 es mayor que 5
*/
x = 10
y = 5
si (x > y)
escribir(x.." es mayor que "..y)
fin
Condicional «osi» (else if)¶
Esta ejecuta un nuevo bloque de código si la condicional anterior fue falsa.
El comando osi se puede repetir cuantas veces sean necesarias pero cada nuevo comando osi debe llegar una nueva condición lógica.
Ejemplo de sintaxis
si condición lógica
#bloque de código
osi condición lógica
#bloque de código
fin
Ejemplo de código
/*
Si la condición se cumple
escribirá en pantalla la siguiente oración:
Y es menor
*/
x = 10
y = 5
z = 20
si x < y //Recuerde que los paréntesis en la condicional lógica es opcional.
escribir("X es menor")
osi x > z
escribir("X es mayor")
osi y < z
escribir("Y es menor")
fin
Condicional «sino» (else)¶
Esta ejecuta un bloque de código si las codiciones anterios son falsas.
El comando sino solo se puede escribir una sola vez y debe ir después del comando si o después del comando osi.
El comando sino a diferencia del comando si y del comando osi no lleva condición lógica.
Ejemplo de sintaxis
si (condición lógica)
#bloque de código
sino
#bloque de código
fin
Ejemplo de código
/*
Si la condición se cumple
escribirá en pantalla la siguiente oración:
Ninguna condición lógica fue cumplida
*/
x = 10
y = 5
z = 20
si x < y
escribir("X es menor")
osi x > z
escribir("X es mayor")
osi y < z
escribir("Y es menor")
sino
escribir("Ninguna condición lógica fue cumplida")
fin
Condicional «si» lineal¶
Latino al ser un lenguaje de consola, su código se puede escribir en una sola línea, asi:
Este ejemplo también aplica para el comando osi y sino.
si x < y escribir("X es menor") fin
Anidar condición «si»¶
Una condicional si puede tener anidada otra condición si, si fuera necesario.
Esta nueva condición anidada puede ir en cualquier bloque de código, dentro del si, o del osi o también del sino
x = 40
si x > 10
escribir("X es mayor que 10")
si x > 20
escribir("y mayor que 20")
sino
escribir("pero menor que 20")
fin
fin
Operadores condicionales¶
En capítulos pasados ya habiamos hablado de los operadores condicionales. Aquí volveremos a repasar esta clase de operador.
El operadore condicional es puede implementar como una alternativa de la condicional si, ya que requiere de menos líneas de código para ejecutar su condicional lógica.
Sintaxis del operador condicional:
(Expresión condicional) ? expresión1 : expresión2
- El operador condicional funciona de la siguiente manera:
- La primera expresión condicional se evalúa primero. Esta expresión se evalúa si es verdadera o si es falsa.
- Si la expresión condicional es verdadera, se evalúa la expresión1.
- Si la expresión condicional es falsa, se evalúa la expresió2.
numero = -5 #Creamos una variable con un valor de -5
mensaje = (numero < 0) ? " es negativo" : " es positivo" #Creamos una nueva variable y a esta le asignamos el operador condicional.
escribir ("El número " .. numero .. mensaje) #El mensaje seria: El número -5 es negativo.
Operadores lógicos¶
En capítulos pasados vimos que los operadores lógicos son el Y lógico, el Ó lógico y el No lógico.
Estos al igual que las expresiones matemáticas también se pueden utilizar en la condicional si.
«Y» lógico¶
El Y lógico se expresa así: &&
x = 10
y = 5
z = 20
si x > y && z > x
escribir ("Ambas condiciones se cumplieron")
fin
«Ó» lógico¶
El Ó lógico se expresa así: ||
x = 10
y = 5
si x > 100 || y < 30
escribir ("Una condición se cumplió")
fin
«No» lógico¶
El No lógico se expresa así: !
/*
Para este ejemplo la condición lógica
la escribimos en paréntesis con esto negamos
todo el conjunto de la condición lógica
*/
x = 10
si !(x > 100)
escribir ("La condición se cumplió")
fin
Condición Elegir (Switch)¶
La condicional elegir es una alternativa a la condicional si que vimos en el capítulo anterior.
Esta condicional es usada para realizar diferentes acciones basándose en diferentes condiciones lógicas. En otras palabras, esta condicional evalúa una opción en múltiples casos posibles y selecciona uno de varios bloques de códigos para ser ejecutados.
La condicional elegir contiene las siguientes declaraciones:
Comandos | Descripción |
---|---|
elegir | Inicio de la declaración. Esta evalúa la expresión condicional. |
caso | El resultado de la expresión es evaluada y si concuerda con cualquier caso este es ejecutado. |
defecto | En caso de no producirse ninguna concordancia en ninguno de los casos, este bloque de código será ejecutado. |
otro | Es exactamente lo mismo que el comando defecto solo con otro nombre. |
fin | Marca el fin de la declaración. |
romper | Detiene la ejecución del código. |
Sintaxis de la condicional «elegir»¶
Ejemplo de sintaxis
elegir(expresión)
caso 1:
#Bloque de código
romper
caso 2:
#Bloque de código
romper
defecto:
#Bloque de código
fin
Ejemplo de código
/*
Dependiendo de cual condición se cumpla
esta ejecutara el código en su caso correspondiente.
En este ejemplo el programa escribirá en pantalla
¡Bien echo!.
*/
calificacion = 'B'
elegir(calificacion)
caso 'A':
escribir("¡Excelente!.")
caso 'B':
escribir("¡Bien echo!.")
caso 'C':
escribir("¡Bien echo!.")
caso 'D':
escribir("Necesitas mejorar.")
caso 'F':
escribir("Has reprobado.")
otro:
escribir("Calificación invalida.")
fin
Casos Múltiples¶
En Latino el comando Elegir puede soportar casos múltiples igual que otros lenguajes de programación tales como C/C++, C#, Java, entre otros.
Ejemplo de sintaxis
elegir(expresión)
caso 1:
caso 2:
caso 3:
#Bloque de código
romper
caso 4:
caso 5:
#Bloque de código
romper
defecto:
#Bloque de código
fin
Ejemplo de código
/*
Dependiendo de cual condición se cumpla
esta ejecutara el código en su caso correspondiente.
En este ejemplo el programa escribirá en pantalla
¡Excelente!.
*/
calificacion = 'B'
elegir(calificacion)
caso 'A':
caso 'B':
caso 'C':
escribir("¡Excelente!.")
caso 'D':
escribir("Necesitas mejorar.")
caso 'F':
escribir("Has reprobado.")
otro:
escribir("Calificación invalida.")
fin
Condición Desde (For Loop)¶
La condicional desde hace repetir un mismo código una y otra vez hasta que su expresión sea cumplida (sea verdadera).
Regularmente, la condicional desde se utiliza para navegar entre los elementos de una lista o diccionario, pero también para ejecutar códigos que seán repetitivos.
Sintaxis de la condicional «desde»¶
Ejemplo de sintaxis
desde (declaración; expresión; sentencia)
#Bloque de código
fin
Declaraciones | Descripción |
---|---|
Declaración | Esta se ejecuta (una sola vez) antes de la ejecución del código |
Expresión | Define las condiciones para que el bloque de código sea ejecutado |
Sentencia | Esta se ejecuta (cada vez) después de ejecutar el bloque de código |
Ejemplo del código
/*
En el siguiente código
mientras la variable i sea menor o igual que 10
la condicional desde seguirá ejecutándose.
El programa escribirá en pantalla:
0 1 2 3 4 5 6 7 8 9 10
*/
desde (i = 0; i <= 10; i++)
escribir(i)
fin
/*
En este otro ejemplo
el programa escribirá en pantalla:
10 9 8 7 6 5 4 3 2 1 0
*/
desde (i = 10; i >= 0; i--)
escribir(i)
fin
#salida: 10 9 8 7 6 5 4 3 2 1 0
Se puede especificar un salto diferente cambiando la expresión de incremento.
desde(i = 0; i < 50; i = i+10)
imprimir(i)
fin
#salida: 0 10 20 30 40
Uso de librerías¶
Las expresiones de la condicional desde pueden implementar el uso de librerías, así:
/*
Esta operación compárala la cantidad
de elementos en la lista frutas y
los escribirá en pantalla, así:
> manzana
> uva
> cereza
*/
frutas = ["manzana", "uva", "cereza"]
desde(i=0; i < lista.longitud(frutas); i++)
imprimir(frutas[i])
fin
Anidar condicional «desde»¶
Cuando una condicional desde contiene otro condicional desde dentro de ella, se le llama condicional anidada.
Cuando la condicional «desde» (madre) se ejecuta y llega a una condicional anidada (hija), la condicional madre no continúa hasta que la condicional hija termine todos sus ciclos (hasta que sea verdadera). Todo este ciclo se repetirá hasta que la condicional madre sea verdadera.
/*
Esta operación compara la cantidad
de elementos en la lista frutas y adjetivos
los escribirá en pantalla, así:
> manzana verde
> manzana grande
> manzana sabrosa
> uva verde
> uva grande
> uva sabrosa
> cereza verde
> cereza grande
> cereza sabrosa
*/
frutas = ["manzana", "uva", "cereza"]
adjetivos = ["verde", "grande", "sabrosa"]
desde(i=0; i < lista.longitud(frutas); i++)
desde (e=0; e < lista.longitud(adjetivos); e++)
escribir (frutas[i].." "..adjetivos[e])
fin
fin
Condición Mientras (While Loop)¶
La condicional mientras ejecuta un bloque de código repetidas veces mientras su condición se siga cumpliendo (sea verdadera).
Esta condicional primero verifica que su condición se cumpla antes de ejecutar el código.
Sintaxis de la condicional «mientras»¶
Ejemplo de sintaxis
mientras (condición)
#Bloque de código
fin
Ejemplo de código
/*
Mientras la operación sea verdadera
este código escribirá en pantalla
los siguientes números:
0 1 2 3 4 5 6 7 8 9
*/
i=0
mientras i < 10
escribir(i)
i++ //incrementamos el valor de i
fin
Nota
En este ejemplo, si no se incrementa el valor de la variable i este bucle se repetiría infinitamente sin parar, produciendo un error en la memoria.
Diferencias entre «mientras» y «desde»¶
Como habrá notado, el comando mientras y el comando desde son muy parecidos entre sí, con la diferencia que el comando mientras no requiere de una declaración o sentencia como en el comando desde.
Ejemplo #1: «desde»
En este ejemplo se utiliza el comando desde para adquirir las marcas de carros en una variable.
/*
Este ejemplo escribir en pantalla:
BMW
Volvo
Ford
Nissan
*/
carros = ["BMW", "Volvo", "Ford", "Nissan"]
texto = ""
desde (i=0; i < lista.longitud(carros); i++)
texto = texto..carros[i].."\n" # \n significa nueva línea
fin
escribir(texto)
Ejemplo #2: «mientras»
Este ejemplo es similar al anterior con la diferencia que se utilizara el comando mientras.
/*
Este ejemplo escribir en pantalla:
BMW
Volvo
Ford
Nissan
*/
carros = ["BMW", "Volvo", "Ford", "Nissan"]
i = 0
texto = ""
mientras(i < lista.longitud(carros))
texto = texto..carros[i].."\n" # \n significa nueva línea
i++
fin
escribir(texto)
Condición Rango (For Loop)¶
El condicional rango hace repetir un mismo código una y otra vez mientras su expresión se cumpla.
Es un método de bucle similar al que utiliza Python y a partir de la versión 1.4.0. En esta versión solo se utilizan valores númericos, no esta habilitado el uso de variables.
Crea una secuencia númerica que va desde inicio hasta fin. La secuencia salto genera el tipo de incremento/decremento del bucle.
Si el salto no se especifica el código avanzará de 1 en 1.
Sintaxis del condicional «rango»¶
Ejemplo de sintaxis
para elemento en rango (inicio, fin, salto)
#Bloque de código
fin
Declaraciones | Descripción |
---|---|
Inicio | Es el primer valor desde donde comienza a contar el bucle |
Fin | En el último valor en el que dejará de contar |
Salto | Es la secuencia del salto del código |
Ejemplo del código
/*
El siguiente código mostrará los valores
del 0 al 9
*/
para i en rango(10)
poner(i)
fin
#salida: 0 1 2 3 4 5 6 7 8 9
/*
Cuando se escriben dos valores el lenguaje
interpreta los parámetros de inicio y fin.
Este ejemplo escribirán en pantalla los valores:
1 2 3 4 5 6 7 8 9 10
*/
para i en rango(1, 10)
poner(i)
fin
#salida: 1 2 3 4 5 6 7 8 9 10
Cuando se escriben tres valores, el tercero determina el tipo de secuencia de incremento o decremento.
Ejemplo del código
/*
En el siguiente ejemplo el programa comienza
a contar desde el 1 hasta el 10 con incremento de 2.
Se escribirán en pantalla los valores:
1 3 5 7 9
*/
para i en rango(1, 10, 2)
poner(i)
fin
#salida: 1 3 5 7 9
/*
En el siguiente ejemplo el programa comienza
a contar desde el 10 hasta el 0 con decremento de 2.
Se escribirán en pantalla los valores:
10 8 6 4 2
*/
para i en rango(10, 0, -2)
poner(i)
fin
#salida: 10 8 6 4 2
Anidar condicional «rango»¶
Cuando un condicional rango contiene otro dentro de él, se lo llama condicional anidado.
Cuando el condicional rango (el para principal) se ejecuta y llega a un condicional anidado (el para secundario o itinerado), el principal no continúa hasta que el secundario termine todos sus ciclos.
/*
Esta operación imprime las tablas del 1 al 10
con sus resultados
*/
para i en rango(1, 11)
para j en rango(1, 11)
poner(i .. ' x ' .. j .. ' = ' .. i * j)
fin
fin
#salida: Son las tablas de multiplicar del 1 al 10
Condición Repetir (Do While)¶
La condicional repetir es una variante de la condicional mientras.
Esta condicional ejecuta su bloque de código al menos una vez antes de verificar si su condición es cumplida (es verdadera).
Mientras su condición sea verdadera, este bucle se volverá a repetir.
Sintaxis de la condicional «repetir»¶
Ejemplo de sintaxis
repetir
#Bloque de código
hasta (condición)
/*
Hasta que la operación deje de ser cumplida
este código escribira en pantalla
los siguientes números:
0 1 2 3 4 5 6 7 8 9
*/
i=0
repetir
escribir(i)
i++ //incrementamos el valor de i
hasta i == 10
Nota
En este ejemplo, si no se incrementa el valor de la variable i este bucle se repetiría infinitamente sin parar, produciendo un error en la memoria.
Condición Romper (Break)¶
La condición o sentencia Romper (Break) detiene las repeticiones (rompe) de los bucles si, mientras, rango y desde.
Es decir, la sentencia romper termina de forma abrupta un bucle.
Esta condicional evalúa una condición y si el resultado es verdadero ejecuta las instrucciones descritas en ella.
Latino tiene las siguientes declaraciones condicionales:
Comandos | Descripción |
---|---|
romper | Detiene la operación de un bucle y, el programa, continua con la siguiente operación. |
Condicional «romper» (Break)¶
Inicio de cualquier condicional que genere un bucle (si, mientras, rango y desde). Dentro de esa declaración, en el bloque de código, se ingresa el comando romper.
Ejemplo de sintaxis
elegir (condición lógica)
caso 1:
caso 2:
#Bloque de código
romper
caso 3:
#Bloque de código
romper
defecto:
#Bloque de código
fin
desde (condición lógica)
#Bloque de código
romper
fin
Nota
La condición lógica se puede escribir entre paréntesis o sin ellos.
Ejemplo de código
/*
Cuando la condición se cumple
se detendrá la ejecución del código
y devolverá los valores obtenidos
hasta antes de su finalización.
*/
desde (i=0; i<10; i++)
escribir(i)
si (i == 5)
romper
fin
fin
fin
#salida: 0 1 2 3 4 5
i=0
mientras (i < 10)
escribir(i)
si (i == 5)
romper
fin
i++
fin
fin
#salida: 0 1 2 3 4 5
para i en rango(0, 10)
escribir(i)
si (i == 5)
romper
fin
fin
fin
#salida: 0 1 2 3 4 5
Módulos¶
Un módulo es cualquier archivo o directorio en donde se divide el programa en muchos componentes o bloques de códigos autónomos que pueden ser utilizados en diferentes partes del programa.
Creación de módulos¶
Un módulo no es más que otro archivo en Latino, el cual puede contener desde variables, funciones, listas, diccionarios, etc.
Para crear un módulo en Latino necesitamos guardar el código deseado en un archivo con extensión .lat.
Además es necesario definir en un diccionario las variables y funciones que serán exportadas desde el módulo con el comando retornar.
sintaxis de un modulo
variableMensaje = "Hola mundo"
retornar {"comandoAExportar":variableMensaje}
Uso de módulos¶
Para usar un módulo necesitamos utilizar el comando incluir( ).
Cuando se importan un módulo en Latino es necesario asignarlo a una variable, de esta manera el programa sabrá en cuál módulo buscar la función deseada.
Ejemplo con módulo¶
Para este ejemplo usaremos dos archivos los cuales deben de estar en la misma ubicación de carpeta.
El primer archivo será nuestro código principal en el cual utilizaremos el comando incluir( ) y después usaremos las funciones importadas del módulo.
/*
En este ejemplo escribiremos en pantalla
el resultado de nuestra función en nuestro módulo.
*/
m = incluir("moduloPersona")
escribir(m.hola) //Devolverá Hola mundo, Latino
escribir(m.persona_completo) //Devolverá Melvin Guerrero
n = m.persona.edad
escribir("edad: "..n) //Devolverá edad: 50
escribir(m.suma(2,3)) //Devolverá 5
El segundo archivo será el código de nuestro módulo, el cual guardaremos con el nombre de moduloPersona.lat.
Importante
Es necesario especificar en el comando retornar las funciones y variables que deseamos que se exporten de este módulo, de lo contrario el módulo no funcionara.
/*
Como se puede ver,
un módulo no es más que un archivo en el cual este
será importado en otro archivo para ser usado.
*/
hola = "Hola mundo, Latino"
persona = {
"nombre" : "Melvin",
"apellido" : "Guerrero",
"edad" : 50,
"completo" : funcion()
retornar persona.nombre.." "..persona.apellido
fin
}
funcion suma(m,n)
retornar m + n
fin
/*
**Importante**
Se deben de regresar las funciones y variables
que se quieran exponer del modulo.
*/
retornar {
"hola" : hola,
"persona" : persona,
"persona_completo" : persona.completo(),
"suma" : suma
}
Subdirectorio¶
Con el comando incluir( ), para especificar archivos en subdirectorios varia dependiendo del sistema operativo.
En MS-Windows, para especificar un archivo en un subdirectorio usamos \.
En Linux y Mac, para especificar un archivo en un subdirectorio usamos /.
Ejemplo
Para añadir un archivo del siguiente subdirectorio carpeta/modulo lo especificamos de la siguiente manera:
incluir("carpeta\modulo") //MS-Windows
incluir("carpeta/modulo") //Unix
RegEx¶
Una expresión regular (regular expression ó RegEx, por su nombre en Ingles) es una secuencia de caracteres que forman un patrón de búsqueda.
Una RegEx puede ser utilizada para comprobar si una cadena(string) contiene un patrón de carácter específico.
Para hacer uso de las expresiones regulares se pueden utilizar los siguientes comandos:
- ~= de este operador relacional también se hace mención en este artículo.
- cadena.regexl( ) el cual devuelve un valor buleano.
- cadena.regex( ) el cual devuelve una lista de todas las coincidencias.
Operador ~=¶
Ejemplo de sintaxis
~= (expresión)
/*
El operador ~= utiliza las expresiones regulares
en cadenas para hacer patrones de búsqueda.
La condicional SI, devolverá:
"x inicia con hola"
*/
x = "hola mundo"
si x ~= "^hola"
escribir("x inicia con hola")
sino
escribir("x NO inicia con hola")
fin
cadena.regexl( )¶
Ejemplo de sintaxis
cadena.regexl(texto, expresión)
/*
En este ejemplo la expresión
buscará la letra U en la cadena.
Devolverá:
falso
*/
txt = "Las manzanas son verdes"
x = cadena.regexl(txt, "u")
escribir(x)
cadena.regex( )¶
Ejemplo de sintaxis
cadena.regex(texto, expresión)
Ejemplo 1
/*
En este ejemplo la variable TXT contendrá el texto principal
la variable X contendrá el resultado de cadena.regex
y su resultado se escribirá en pantalla.
Devolverá una lista de cada coincidencia encontrada:
[["a"], ["a"], ["a"]]
*/
txt = "El agua es vida"
x = cadena.regex(txt, "a")
escribir(x)
Ejemplo 2
/*
Devolverá una lista de cada coincidencia encontrada:
[["El agua es vida"]]
*/
txt = "El agua es vida"
x = cadena.regex(txt, "^El.*vida$")
escribir(x)
Ejemplo 3
/*
Este comando también se puede
utilizar en expresiones lógicas.
Devolverá:
"Eureka! la expresión ha sido encontrada"
*/
txt = "El agua es vida"
x = cadena.regex(txt, "^El.*vida$")
si x
escribir ("Eureka! la expresión ha sido encontrada")
sino
escribir ("No se ha encontrado la expresión")
fin
Metacaracteres¶
Los metacaracteres son caracteres con un significado especial.
Carácter | Descripción | Ejemplo |
---|---|---|
[ ] | Conjunto de caracteres | “[a-m]” |
\ | Señaliza una secuencia especial | “\d” |
. | Cualquier carácter(excepto nuevas líneas) | “Bien..dos” |
^ | Comienza con… | “^hola” |
$ | Termina con… | “mundo$” |
* | Cero o más caracteres | “Bienve*” |
+ | Uno o más caracteres | “Hol+” |
{ } | Número especifico de caracteres | “Bien{7}” |
| | Cualquiera de las opciones | “x|y” |
( ) | Grupo |
Conjuntos¶
Los conjuntos son caracteres dentro de corchetes [ ] los cuales tiene un significado especial.
Conjunto | Descripción |
---|---|
[arn] | Devuelve los conjuntos donde estén presentes cualquiera de los caracteres especificados (a, r ó n) |
[a-n] | Devuelve los conjuntos de cualquier letra minúscula que estén alfabeticamente entre a y n |
[^arn] | Devuelve cualquier conjunto de caracteres EXCEPTO a, r y n |
[0123] | Devuelve los conjuntos donde estén presentes cualquiera de los digitos especificados (0, 1, 2 ó 3) |
[0-9] | Devuelve cualquier conjuntos de digitos entre 0 y 9 |
[0-5][0-9] | Devuelve los conjuntos de cualquiera de los dos digitos entre 00 y 59 |
[a-zA-Z] | Devuelve cualquier conjunto de caracteres desde la a hasta la z sean minúsculas o mayusculas |
[+] | Los conjuntos +, *, ., |, ( ), $, { } no tienen un significado especial. [+] significa que devolverá una coincidencia para cualquier carácter + en la cadena. |
secuencias especiales¶
Una secuencia especial inicia con una barra invertida \ seguido de uno carácter de la siguiente lista, los cuales tienen un significado especial.
Carácter | Descripción |
---|---|
\A | Devuelve un conjunto si el carácter especificado está al inicio del texto |
\b | Devuelve un conjunto cuando un carácter especificado está al inicio o al final de una palabra |
\B | Devuelve un conjunto cuando los caracteres especificados están presentes pero NO al inicio o al final de la palabra |
\d | Devuelve un conjunto cuando la cadena(string) contiene números |
\D | Devuelve un conjunto cuando la cadena(string) NO contiene números |
\s | Devuelve un conjunto cuando la cadena(string) contiene almenos un espacio en blanco |
\S | Devuelve un conjunto cuando la cadena(string) NO contiene espacios blanco |
\w | Devuelve un conjunto cuando la cadena(string) cualquier carácter( a_Z, 0-9 ó _ ) |
\W | Devuelve un conjunto cuando la cadena(string) NO contiene ningún carácter |
\Z | Devuelve un conjunto si el carácter especificado está al final de la cadena(string) |
Patrones de expresiones regulares¶
Carácter [ ]¶
Los brackets son utilizados para buscar caracteres en un rango asignado.
Expresión | Descripción |
---|---|
[abc] | Busca cualquier carácter asignado en los brackets |
[0-9] | Busca cualquier número asignado en los brackets |
(x|y) | Busca cualquiera de las alternativas separados por “|” |
/*
Busca entre todas las letras minúsculas
en orden alfabético desde la "a" hasta la "m"
*/
txt = "El agua es vida"
x = cadena.regex(txt, "[a-m]")
escribir (x)
acadena( )¶
La función acadena( ) convierte los números a cadenas(textos).
Esta función puede ser utilizada en cualquier tipo de números, decimales, variables, o expresiones.
acadena(x) //Devolverá como texto el valor numérico de la variable X
acadena(123) //Devolverá como texto el valor numérico 123
acadena(100 + 23) //Devolverá como texto el resultado de la expresión
Ejemplo de función
x = 123
y = acadena(x)
escribir(x) //Devolverá 123
escribir(y) //Devolverá 123
/*Aunque visualmente parezca que no ha cambiado nada
si usamos la función tipo() veremos la diferencia*/
escribir(tipo(x)) //Devolverá decimal
escribir(tipo(y)) //Devolverá cadena
Convertir buleanos a cadenas(textos)¶
La función acadena( ) se puede usar para convertir valores buleanos(lógicos) en cadenas(textos).
acadena(verdadero) //Devolverá "verdadero"
acadena(falso) //Devolverá "falso"
alogico( )¶
La función alogico( ) convierte los números y textos a un valor lógico (verdadero o falso).
Cualquier número diferente a 0, ya sea un número positivo, negativo o decimal, dará verdadero.
De igual manera cualquier texto aun si este es un espacio en blanco devolverá verdadero.
La función alogico( ) devolverá un valor falso solo si el número es 0, si no hay nada en las comillas, o si asignamos un valor nulo.
Ejemplo de función
escribir(alogico(1)) //Devolverá "verdadero"
escribir(alogico(-1)) //Devolverá "verdadero"
escribir(alogico(3.14)) //Devolverá "verdadero"
escribir(alogico("Hola")) //Devolverá "verdadero"
escribir(alogico(" ")) //Devolverá "verdadero" (al tener un espacio en blanco, es verdadero)
escribir(alogico("0")) //Devolverá "falso"
escribir(alogico(nulo)) //Devolverá "falso"
escribir(alogico("")) //Devolverá "falso"
anumero( )¶
La función anumero( ) convierte las cadenas(textos) a números.
Las comillas sin caracteres, ejemplo “” devolverá un valor Nulo al igual que el números 0.
Los espacios en blanco, ejemplo “ “ o cualquier número que tengo un espacio en blanco, ejemplo “7 “ estos serán convertidos su valor de código ALT.
Ejemplo de función
escribir(anumero("3.14")) //Devolverá 3.14
escribir(anumero("")) //Devolverá nulo
escribir(anumero("0")) //Devolverá nulo
escribir(anumero(" ")) //Devolverá 32 (Esto correspondo al código ALT)
escribir(anumero("9")) //Devolverá 9
escribir(anumero("9 ")) //Devolverá 57(Como tiene un espacio devolverá el código ALT)
Convertir buleanos a número¶
La función anumero( ) se puede usar para convertir valores buleanos(lógicos) en un valor numérico.
anumero(verdadero) //Devolverá 1
anumero(falso) //Devolverá "nulo" (no retorna 0, ya que su valor es representado por un valor nulo)
imprimir, escribir, poner( )¶
Las funciones imprimir( ), escribir( ), y poner( ) escriben en pantalla la cadena, número, o expresión asignadas en ellas.
Estas funciones imprimir( ), escribir( ), y poner( ) son literalmente la misma función, pero con distintos nombres.
La razón de la amplia variedad de nombres que recibe esta función es por las diferentes maneras que existen en otros lenguajes de programación para realizar la misma función. Ejemplo: algunos lenguajes utilizan el comando print y otros el comando put.
Ejemplo de función
imprimir("Hola mundo") //Devolverá "Hola mundo"
escribir("Latino es fenomenal") //Devolverá "Latino es fenomenal"
poner("Un abrazo psicologico, chao chao") //Devolverá "Un abrazo psicologico, chao chao"
imprimirf( )¶
El comando imprimirf( ) esta inspirado en el comando printf( ) en C, pero el comando en Latino es mas limitado.
Este comando en esencia es similar a los comandos imprimir( ), escribir( ) y poner( ) pero con algunas diferencias.
El comando imprimirf( ) requiere del carácter \n al final de cada cadena para poner escribir en pantalla, caso que NO se da con los otros comandos.
Este comando permite dar formato a un carácter o valor ASCII.
El comando imprimirf( ) opera con los siguientes formatos:
- %c, convierte a un carácter el valor ASCII.
- %i, convierte a un número enteros.
- %f, convierte a un número decimal.
- %d, convierte a un número.
- %o, convierte a un valor octal.
- %x, convierte a un hexadecimal.
- %e, convierte a una expresión científica.
- %s, convierte a carácter o ha una cadena de texto.
- %%, Devuelve el simbolo de porcentage (%).
x = "hola"
escribir(cadena.formato("%c",x)) //Devolverá h
escribir(cadena.formato("%i",x)) //Devolverá 104
escribir(cadena.formato("%f",x)) //Devolverá 104.000000
escribir(cadena.formato("%d",x)) //Devolverá 104
escribir(cadena.formato("%o",x)) //Devolverá 150
escribir(cadena.formato("%x",x)) //Devolverá 68
escribir(cadena.formato("%e",x)) //Devolverá 5.556763e-307
escribir(cadena.formato("%s",x)) //Devolverá hola
escribir(cadena.formato("%%",x)) //Devolverá %
escribir(cadena.formato("%c",75)) //Devolverá K
escribir(cadena.formato("%c%c%c",75,76,77)) //Devolverá KLM
incluir( )¶
La función incluir( ) nos permite importar módulos y librerías a nuestro proyecto.
Cuando escribimos el módulo o librería, este debe ser escrito entre comillas y no es necesario escribir su extensión.
Ejemplo de sintaxis
incluir("librería") //No requieren una variable variable = incluir("módulo") //Requieren ser asignadas a una variable
Nota
Esta función solo puede incluir archivos con extensión .lat o archivos de librerías que hayan sido escritas para Latino y que usen su API.
Subdirectorio¶
Con el comando incluir( ), para especificar archivos en subdirectorios varia dependiendo del sistema operativo.
En MS-Windows, para especificar un archivo en un subdirectorio usamos \.
En Linux y Mac, para especificar un archivo en un subdirectorio usamos /.
Ejemplo
Para añadir un archivo del siguiente subdirectorio carpeta/modulo lo especificamos de la siguiente manera:
incluir("carpeta\modulo") //MS-Windows
incluir("carpeta/modulo") //Unix
leer( )¶
La función leer( ) escanea las teclas numéricas y alfanuméricas digitadas por el usuario, hasta que este presione la tecla enter.
Es recomendable asignar este comando a una variable, ya que se puede manipular con mayor facilidad cualquier dato digitado por el usuario.
leer()
escribir("¿Cual es su nombre?")
x = leer()
escribir("Hola "..x) //Devolverá "Hola (Mas el nombre del usuario)"
limpiar( )¶
La función limpiar( ) limpia la pantalla de la consola.
Esta función es exactamente igual como si usáramos cls en el CMD de MS-Windows o como utilizar clear en sistemas basados en UNIX.
limpiar()
escribir("Hola Mundo")
limpiar()
escribir("El texto anterior se a eliminado")
tipo( )¶
La función tipo( ) devuelve el tipo de valor almacenado en una variable o memoria.
Los valores que esta función nos puede devolver lo podemos encontrar en tipos de datos.
x = 123
escribir(tipo(x)) //Devolverá decimal
x = "Hola Mundo"
escribir(tipo(x)) //Devolverá cadena
x = ["Hola", "mundo"]
escribir(tipo(x)) //Devolverá lista
x = {"Mensaje":"Hola", "Continuacion":"mundo"}
escribir(tipo(x)) //Devolverá diccionario
x = verdadero
escribir(tipo(x)) //Devolverá logico
x = nulo
escribir(tipo(x)) //Devolverá nulo
Lib «archivo»¶
La librería archivo contiene las funciones principales para el manejo de archivos en Latino.
Cada uno de estos comandos puede recibir el nombre como también la ruta del archivo.
El nombre de archivo o ruta del archivo deben ser escritas entre comillas.
Importante
Al marcar las rutas es importante utilizar doble slash \ \ en MS-Windows
Y en macOS o Linux utilizar slash invertido /
Lista de comando
Comando | Parámetros | Descripción |
---|---|---|
anexar( ) | 2 | Agrega un texto o dato al final del archivo |
borrar( ) | 1 | Elimina el archivo especificado |
eliminar( ) | ||
crear( ) | 1 | Crea un archivo con el nombre especificado |
duplicar( ) | 2 | Hace un duplicado del archivo especificado |
ejecutar( ) | 1 | Ejecuta el archivo especificado |
escribir( ) | 2 | Escribe y/o Sobrescribe en el archivo |
leer( ) | 1 | Lee el contenido de un archivo y lo convierte en cadena |
lineas( ) | 1 | Almacena en una lista cada línea del archivo |
renombrar( ) | 2 | Renombra un archivo por un nuevo nombre asignado |
archivo.anexar( )¶
Este comando nos permite agregar texto al final del documento especificado.
A diferencia del comando archivo.escribir( ) que sobrescribe los datos existentes en el documento, el comando archivo.anexar( ) añade el texto al final del documento.
/*
Para este ejemplo supondremos que tenemos
un archivo llamado "prueba.lat" el cual
ya contiene un texto adentro "Hola mundo"
*/
/*
Devolverá:
Hola mundo, Latino
Hoy será un hermoso día.
*/
archivo.anexar("c:\\user\\prueba.lat", ", Latino\n\nHoy será un hermoso día.")
archivo.duplicar( )¶
Este comando crea un duplicado de un archivo especificado.
Ejemplo de sintaxis
archivo.duplicar("archivo_Original", "archivo_Copia")
/*
En este ejemplo se creará un duplicado del archivo
en la carpeta Desktop y se cambiará el nombre del archivo
por "hola.lat"
*/
archivo.duplicar("c:\\user\\prueba.lat", "c:\\user\\desktop\\hola.lat")
archivo.crear( )¶
Este comando nos permite crear un archivo con un nombre especificado en cualquier ruta de nuestro sistema.
/*
Este comando creará un archivo
con el nombre de "prueba"
en la ruta "C:\Users\"
*/
archivo.crear("C:\\Users\\prueba.lat")
Nota
Si al especificar la ruta del archivo a crear escribimos un nombre de alguna carpeta que no existe, este no hará nada, ya que este comando solo puede crear archivos y no carpetas.
archivo.ejecutar( )¶
Este comando nos permite la ejecución de un archivo que contenga código de Latino.
archivo.ejecutar("c:\\user\\prueba.lat")
archivo.eliminar( )¶
Este comando nos ayuda a eliminar un archivo especificado.
archivo.eliminar("c:\\user\\prueba.lat")
archivo.escribir( )¶
Este comando nos permite escribir y sobrescribe un archivo especificado.
Importante
Si deseamos añadir más información al archivo usar el comando archivo.anexar( )
Si se usa este comando en un archivo NO vacío este será completamente sobrescribe con la nueva información.
archivo.escribir("c:\\user\\prueba.lat", "Hola mundo")
archivo.leer( )¶
Para este comando se requiere almacenar en una variable el contenido del archivo que deseamos leer.
x = archivo.leer("C:\\Users\\prueba.lat")
escribir(x)
archivo.lineas( )¶
Este comando almacena en una lista cada línea de código de un archivo especificado.
Para este comando es requerido asignarlo a una variable para almacenar el contenido del archivo.
x = archivo.lineas("C:\\Users\\prueba.lat")
escribir(x)
archivo.renombrar( )¶
Este comando nos permite renombrar el nombre de un archivo.
Este comando también adminte rutas.
Ejecuta de sintaxis
archivo.renombrar(Nombre_viejo, Nombre_nuevo)
archivo.renombrar("hola.lat", "queTal.lat") //Renombrará el archivo por queTal.lat
Lib «cadena»¶
La librería cadena nos permite trabajar y manipular las cadenas (string) en Latino.
Lista de comando
Comando | Parámetros | Descripción |
---|---|---|
bytes( ) | 1 | Devuelve el valor ASCII de cada carácter en una lista |
char( ) | 1 | Combierte el valor o lista ASCII a un carácter o una lista de caracteres |
comparar( ) | 2 | Compara dos cadenas de textos y devuelve un valor númerico |
concatenar( ) | 2 | Combina dos cadenas de textos en una sola cadena |
contiene( ) | 2 | Devuelve un valor buleano si encuentra la palabra o cadena especificada |
ejecutar( ) | 1 | Ejecuta una cadena que tenga código de latino |
eliminar( ) | 2 | Elimina la primera considencia en una cadena |
encontrar( ) | 2 | Regresa la posición de la primera considencia encuentra |
indice( ) | ||
es_alfa( ) | 1 | Comprueba si la cadena solo contiene texto y/o números |
es_igual( ) | 2 | Regresa verdadero si las dos cadenas son iguales |
es_numerico( ) es_numero( ) | 1 | Comprueba si la cadena solo contiene números |
esta_vacia( ) | 1 | Regresa verdadero si la cadena está vacia |
formato( ) | 1 | Asigna un formato a un carácter |
inicia_con( ) | 2 | Comprueba si la cadena inicia con un texto o cadena especificado |
insertar( ) | 3 | Agrega una cadena en la posición indicada |
invertir( ) | 1 | Invierte el contenido de la cadena |
longitud( ) | 1 | Regresa el tamaño de la cadena |
mayusculas( ) | 1 | Combierte toda la cadena en mayúsculas |
minusculas( ) | 1 | Combierte toda la cadena en minúsculas |
recortar( ) | 1 | Elimina los espacios al inicio y al final de la cadena |
reemplazar( ) | 4 | Cambiar una palabra por otra en una cadena |
regex( ) | 2 | Utiliza RegEx y regresa una lista de las coincidencias |
regexl( ) | 2 | Regresa un valor buelano si encuentra la coincidencia |
rellenar_derecha( ) | 3 | Agrega n caracteres al final de la cadena especificada |
rellenar_izquierda( ) | 3 | Agrega n caracteres al inicio de la cadena especificada |
separar( ) | 2 | Separa la cadena en una lista en base a un separador |
subcadena( ) | 3 | Devuelve una sub-cadena en base a la posición y su longitud |
termina_con( ) | 2 | Devuelve un valor buleano si hay una coincidencia |
ultimo_indice( ) | 2 | Devuelve la posición final de un caracter o palabra especificada |
cadena.bytes( )¶
Este comando nos permite convertir nuestra cadena de texto a valor ASCII y la devuelve en una lista.
El comando cadena.char( ) es su contraparte, ya que convierte los valores ASCII a textos.
x = "Hola mundo"
escribir(cadena.bytes(x)) //Devolverá [72,111,108,97,32,109,117,110,100,111]
cadena.char( )¶
Este comando nos permite convertir un número o lista de valores ASCII a una cadena de texto.
El comando cadena.bytes( ) es su contraparte, ya que convierte los textos a valores ASCII.
x = [72,111,108,97,32,109,117,110,100,111]
escribir(cadena.char(x)) //Devolverá Hola mundo
cadena.comparar( )¶
Este comando comparar dos cadenas de textos carácter por carácter hasta encontrar la primera diferencia.
Este comando es similar al comando strcmp() en C.
El comando cadena.comparar( ) devuelve los siguientes valores:
- -1, si la primera cadena es menor que la segunda.
- 0, si ambas cadenas son iguales.
- 1, si la primera cadena es mayor que la segunda.
Nota
menor, igual o mayor hacen referencia al orden o posición de las letra en el alfabeto.
escribir(cadena.comparar("a","b")) //Devolverá -1
escribir(cadena.comparar("a","a")) //Devolverá 0
escribir(cadena.comparar("b","a")) //Devolverá 1
escribir(cadena.comparar("abeja","avestruz") //Devolverá -1
cadena.concatenar( )¶
Este comando nos permite unir dos cadenas de textos en una sola.
El comando cadena.concatenar( ) es una alternativa al comando doble punto (..).
x = "Hola"
y = " mundo"
z = cadena.concatenar(x,y)
escribir(z) //Devolverá Hola mundo
cadena.contiene( )¶
Este comando nos permite verificar si existe una coincidencia del texto o cadena a buscar en otra y devolverá un valor buleano.
x = "LenguajeLatino"
y = "Latino"
escribir(cadena.contiene(x, y)) //Devolverá verdadero
cadena.ejecutar( )¶
Este comando nos permite ejecutar una cadena de texto que tenga código de Latino.
x = 'escribir("Hola mundo")' //Almacenamos en una variable el código en Latino como una cadena
cadena.ejecutar(x) //Devolverá Hola mundo
cadena.eliminar( )¶
Este comando solo elimina la primera coincidencia encontrada en una cadena de texto.
x = "Hola mundo, holahola otra vez"
escribir(cadena.eliminar(x, "hola")) //Devolverá Hola mundo, hola otra vez
cadena.encontrar( )¶
Este comando busca la posición de la primera coincidencia de caracteres o textos.
Este comando también dispone de un alias cadena.indice( ).
El comando cadena.encontrar( ) cuenta cada carácter de una cadena de texto hasta encontrar la primera coincidencia.
El comando comienza a contar desde el número cero (0) como primer número en adelante.
Si el texto o cadena no fue encontrado, entonces devolverá -1.
x = "Hola mundo latino, como estan?"
escribir(cadena.encontrar(x, "como")) //Devolverá 19
cadena.es_alfa( )¶
Este comando comprueba si la cadena solo contiene valores alfanuméricos y NO símbolos.
El comando cadena.es_alfa( ) devolverá un valor buleano:
- verdadero si la cadena es letras y/o números.
- falso si la cadena contiene o es un símbolo.
escribir(cadena.es_alfa("1")) //Devolverá verdadero
escribir(cadena.es_alfa("a")) //Devolverá verdadero
escribir(cadena.es_alfa("&")) //Devolverá falso
escribir(cadena.es_alfa("#")) //Devolverá falso
escribir(cadena.es_alfa("Hola")) //Devolverá verdadero
escribir(cadena.es_alfa("Hola++")) //Devolverá falso
cadena.es_igual( )¶
Este comando comprueba si ambas cadenas coinciden entre sí y regresa un valor buleano.
escribir(cadena.es_igual("hola", "HOLA")) //Devolverá falso
escribir(cadena.es_igual("hola", "hola")) //Devolverá verdadero
cadena.es_numero( )¶
Este comando comprueba si la cadena solo contiene números y devolverá un valor buleano.
Este comando también dispone de un alias cadena.es_numerico( ).
escribir(cadena.es_numerico("123456")) //Devolverá verdadero
escribir(cadena.es_numerico("1234f")) //Devolverá falso
escribir(cadena.es_numerico("hola24")) //Devolverá falso
escribir(cadena.es_numerico("123$%")) //Devolverá falso
cadena.esta_vacia( )¶
Este comando verificar que la cadena está vacía.
El comando cadena.esta_vacia( ) devolverá un valor buleano:
- verdadero si la cadena esta vacía.
- falso si la cadena NO esta vacía.
escribir(cadena.esta_vacia("")) //Devolverá verdadero
escribir(cadena.esta_vacia("a")) //Devolverá falso
cadena.formato( )¶
Este comando permite dar formato a un carácter o valor ASCII.
Este comando es similar al comando imprimirf( ), aunque este ultimo requiere del carácter \n para poder escribir en pantalla.
El comando cadena.formato( ) opera con los siguientes formatos:
- %c, convierte a un carácter el valor ASCII.
- %i, convierte a un número enteros.
- %f, convierte a un número decimal.
- %d, convierte a un número.
- %o, convierte a un valor octal.
- %x, convierte a un hexadecimal.
- %e, convierte a una expresión científica.
- %s, convierte a carácter o ha una cadena de texto.
- %%, Devuelve el simbolo de porcentage (%).
x = "hola"
escribir(cadena.formato("%c",x)) //Devolverá h
escribir(cadena.formato("%i",x)) //Devolverá 104
escribir(cadena.formato("%f",x)) //Devolverá 104.000000
escribir(cadena.formato("%d",x)) //Devolverá 104
escribir(cadena.formato("%o",x)) //Devolverá 150
escribir(cadena.formato("%x",x)) //Devolverá 68
escribir(cadena.formato("%e",x)) //Devolverá 5.556763e-307
escribir(cadena.formato("%s",x)) //Devolverá hola
escribir(cadena.formato("%%",x)) //Devolverá %
escribir(cadena.formato("%c",75)) //Devolverá K
escribir(cadena.formato("%c%c%c",75,76,77)) //Devolverá KLM
cadena.inicia_con( )¶
A diferencia del comando cadena.termina_con( ), este comando comprueba si la cadena de texto inicia con un carácter especificado, y este devolverá un valor buleano.
Este comando distingue entre mayúsculas y minúsculas.
x = "Hola mundo"
escribir(cadena.inicia_con(x, "H")) //Devolverá verdadero
escribir(cadena.inicia_con(x, "h")) //Devolverá falso
cadena.insertar( )¶
Este comando nos permite añadir una cadena a otra cadena de texto en cualquier posición especificada.
La posición se maneja contando cada carácter de la cadena original. Este conteo inicia desde el número cero (0) como primer número en adelante.
Ejemplo de sintaxis
cadena.insertar(cadena_original, cadena_a_agregar, la_posición)
x = "Hola mundo, como estan?"
y = " Latino"
escribir(cadena.insertar(x, y, 10)) //Devolverá Hola mundo Latino, como estan?
cadena.invertir( )¶
Este comando nos permite invertir el orden de la cadena.
x = "Hola mundo, como estan?"
escribir(cadena.invertir(x)) //Devolverá ?natse omoc ,odnum aloH
cadena.longitud( )¶
Este comando retorna la longitud de la cadena en dígitos.
El comando comienza a contar desde el número uno (1) como primer número en adelante.
x = "Hola mundo, como estan?"
escribir(cadena.longitud(x)) //Devolverá 23
cadena.mayusculas( )¶
Este comando nos permite transformar toda nuestra cadena a letras mayúsculas.
x = "hola mundo"
escribir(cadena.mayusculas(x)) //Devolverá HOLA MUNDO
cadena.minusculas( )¶
Este comando nos permite transformar toda nuestra cadena a letras minúsculas.
x = "HOLA MUNDO"
escribir(cadena.minusculas(x)) //Devolverá hola mundo
cadena.recortar( )¶
Este comando elimina cualquier carácter de espacio al inicio y al final de la cadena, ya sea espacio en blanco o tabulación.
x = " Hola mundo"
escribir(cadena.recortar(x)) //Devolverá Hola mundo
cadena.reemplazar( )¶
Este comanod nos permite cambiar una palabra por otra en una cadena
Ejemplo de sintaxis
(cadena_original, texto_a_reemplazar, texto_nuevo, posición)
Nota
Este comando cambia el texto seleccionado por el nuevo texto asignado, mas no lo guarda.
Para guardar el cambio es recomendable asignarlo a una variable.
x = "Hola mundo HTML"
y = cadena.reemplazar(x, "HTML", "Latino", 12) //Asignamos en una variable el nuevo texto
escribir(x) //Devolverá Hola mundo HTML
escribir(y) //Devolverá Hola mundo Latino
cadena.regex( )¶
Este comando hace uso de las Expresiones Regulares o RegEx para hacer una búsqueda avanzada y retorna una lista con cada una de las coincidencias.
Para aprender más sobre este comando y las expresiones regulares, mire el artículo de RegEx, aquí.
x = "Hola mundo, Latino"
escribir(cadena.regex(x, "o")) //Devolverá [["o"], ["o"], ["o"]]
cadena.regexl( )¶
Este comando es conocido como regex lógico.
Este comando hace use de las Expresiones Regulares o RegEx para hacer una búsqueda avanzada y retorna verdadero si encuentra la coincidencia y falso si no la encontró.
Para aprender más sobre este comando y las expresiones regulares, mire el artículo de RegEx, aquí.
//Busca si la cadena termina con "Latino"
x = "Hola mundo, Latino"
escribir(cadena.regexl(x, "Latino$")) //Devolverá verdadero
cadena.rellenar_derecha( )¶
Este comando nos permite añadir al final de la cadena especificada un texto o cadena.
El comando cadena.rellenar_derecha( ) nos permite indicar la cantidad de veces que deseamos se repita el nuevo texto a añadir.
Ejemplo de sintaxis
cadena.rellenar_derecha(cadena_original, cadena_a_agregar, long_cadena_original + cantidad_de_repeticiones(Valor númerico))
/*
El no.19 es la longitud de la cadena_original
más la cantidad de repeticiones que deseamos,
en este caso indicamos que sean dos veces
*/
x = "Hola mundo, Latino"
y = " que tal?"
escribir(cadena.rellenar_derecha(x,y,19)) //Devolverá Hola mundo, Latino que tal? que tal?
cadena.rellenar_izquierda( )¶
Este comando nos permite añadir al inicio de la cadena especificada un texto o cadena.
El comando cadena.rellenar_izquierda( ) nos permite indicar la cantidad de veces que deseamos se repita el nuevo texto a añadir.
Ejemplo de sintaxis
cadena.rellenar_izquierda(cadena_original, cadena_a_agregar, long_cadena_original + cantidad_de_repeticiones(Valor númerico))
/*
El no.14 es la longitud de la cadena_original
más la cantidad de repeticiones que deseamos,
en este caso indicamos que sean dos veces
*/
x = "mundo, Latino"
y = "hola "
escribir(cadena.rellenar_izquierda(x,y,14)) //Devolverá hola hola mundo, Latino
cadena.separar( )¶
Este comando nos permite segmentar una cadena de texto al especificar un separador y el resultado lo devuelve en una lista.
El separador debe ser especificado dentro de comillas.
Si no se le asigna un separador, por defecto buscara los espacios en blanco.
Ejemplo de sintaxis
cadena.separar(cadena_original, separador)
x = "Hola-mundo-Latino-que tal-estan-todos?"
escribir(cadena.separar(x,"-")) //Devolverá ["Hola","mundo","Latino","que tal","estan","todos?"]
cadena.subcadena( )¶
Este comando copia de una cadena el texto deseado el cual se define indicando en donde inicia y la longitud que deseamos que tenga el texto a copiar.
La posición_inicial comienza a contar desde el número cero (0) en adelante.
La longitud comienza a contar desde el número uno (1) en adelante.
Ejemplo de sintaxis
cadena.subcadena(cadena_original, posición_inicial(número), longitud(número))
x = "Hola mundo Latino que tal estan todos?"
escribir(cadena.subcadena(x,5,12)) //Devolverá mundo Latino
cadena.termina_con( )¶
A diferencia del comando cadena.inicia_con, este comando nos permite buscar en una cadena de texto si esta termina con un carácter especificado y devuelve un valor buelano.
Este comando distingue entre mayúsculas y minúsculas.
x = "Hola mundo"
escribir(cadena.termina_con(x, "O")) //Devolverá falso
escribir(cadena.termina_con(x, "o")) //Devolverá verdadero
cadena.ultimo_indice( )¶
Este comando devuelve la última posición encontrada del carácter especificado.
Este comando comienza a contar desde el número cero (0) en adelante.
x = "Hola mundo"
escribir(cadena.ultimo_indice(x, "u")) //Devolverá 6
Lib «dic»¶
La librería dic nos permite trabajar y manipular los diccionarios en Latino.
Lista de comando
Comando | Parámetros | Descripción |
---|---|---|
contiene( ) | 2 | Devuelve verdadero si el elemento existe |
eliminar( ) | 2 | Elimina la llave asignada y su valor |
llaves( ) | 1 | Devuelve el nombre de la propiedad (llave) |
longitud( ) | 1 | Devuelve la longitud de texto |
valores( ) | 1 | Devuelve el valor de la propiedad |
vals( ) |
dic.contiene( )¶
Este comando nos permite comprobar si una llave o propiedad existe en un diccionario.
Este comando es sensible a las mayúsculas y minúsculas.
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
escribir(dic.contiene(persona, "edad")) //Devolverá verdadero
dic.eliminar( )¶
Este comando nos permite eliminar una llave o propiedad existente de un diccionario.
Este comando es sensible a las mayúsculas y minúsculas.
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
dic.eliminar(persona, "edad") //Eliminamos la propiedad llamada edad
escribir(persona) //Devolverá {"nombre": "Melvin", "apellido": "Guerrero", "etimologa": "Latino"}
dic.llaves( )¶
Para obtener las llaves (propiedades) que almacena un diccionario usaremos el siguiente comando dic.llaves( ).
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
escribir(dic.llaves(persona)) //Devolverá ["nombre", "apellido", "edad", "etimología"]
dic.longitud( )¶
Para obtener la Longitud de un diccionario usaremos el siguiente comando dic.longitud( ).
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
escribir(dic.longitud(persona)) //Devolverá un valor de 4
dic.valores( )¶
Para obtener los valores almacenados en las propiedades de un diccionario usaremos el siguiente comando dic.valores( ), también podemos usar este otro comando que de igual manera hace lo mismo dic.vals( ).
persona = {"nombre":"Melvin", "apellido":"Guerrero", "edad":50, "etimología":"Latino"}
escribir(dic.vals(persona)) //Devolverá ["Melvin", "Guerrero", 50, "Latino"]
Lib «lista»¶
La librería lista contiene las funciones para el manejo de lista en Latino.
Lista de comando
Comando | Parámetros | Descripción |
---|---|---|
agregar( ) | 2 | Agrega un elemento al final de la lista |
comparar( ) | 2 | Comprueba el orden y tamaño de letras de los elementos |
concatenar( ) | 2 | Uné todos los elementos de dos listas en una sola |
contiene( ) | 2 | Devuelve verdadero si el elemento existe en la lista |
crear( ) | 1 | Crea una lista con el nombre especificado |
eliminar( ) | 2 | Elimina solo la primera coincidencia de la lista |
eliminar_indice( ) | 2 | Elimina un elemento de la lista por posición |
encontrar( ) | 2 | Devuelve el índice del elemento buscado |
indice( ) | ||
extender( ) | 2 | Agrega los elementos de una lista en otra lista |
insertar( ) | 3 | Inserta un nuevo elemento a una lista |
invertir( ) | 1 | Invierte el orden de la lista |
longitud( ) | 1 | Devuelve la cantidad de elementos de una lista |
separador( ) | 2 | Separa los elementos de una lista |
lista.agregar( )¶
Para agregar un nuevo elemento a la lista usamos el comando lista.agregar().
Este comando agrega un nuevo elemento al final de la lista.
carros = ["Toyota", "Ford", "Peugeot"]
lista.agregar(carros, "Honda") //Agregará "Honda" al final de la lista
escribir(carros) //Imprimirá ["Toyota", "Ford", "Peugeot", "Honda"]
lista.comparar( )¶
Con este comando podremos comparar la longitud de dos listas.
Este comando devolverá los siguientes valor según el resultado:
- -1 si la lista original es menor.
- 1 si la lista original es mayor.
- 0 si ambas listas son iguales.
Ejemplo de sintaxis
lista.comparar(listaOriginal, listaAComparar)
lista1 = ["Hola", "mundo"]
lista2 = ["Mundo", "Latino"]
escribir(lista.comparar(lista1, lista2))
escribir(lista.comparar(lista2, lista1))
escribir(lista.comparar(lista2, lista2)) //Devolverá cero"0", ya que la lista son idénticas
lista.concatenar( )¶
Con este comando podremos unir dos listas en una nueva lista.
lista1 = ["Hola", "mundo"]
lista2 = ["como", "estan?"]
lista3 = lista.concatenar(lista1, lista2)
escribir(lista3) //Devolverá ["Hola", "mundo", "como", "estan?"]
lista.contiene( )¶
Este comando nos permite comprobar si un elemento existe en la lista.
Este comando es sensible a las mayúsculas y minúsculas.
mensaje = ["Hola", "mundo"]
escribir(lista.contiene(mensaje, "Latino")) //Devolverá Falso
lista.crear( )¶
Este comando nos permite crear una lista asignando la cantidad de elementos que esta tendrá.
Al crear una lista con este comando, cada elemento tendrá un valor nulo los cuales podrán ser modificados después.
Este comando admite un valor número positivo, de ser asignado cualquier número negativo, esta creará una lista vacía.
/*
Al crear una lista con este comando,
sus elementos serán nulos
*/
x = lista.crear(3) //Creará una lista con 3 elementos nulos
escribir(x) //Devolverá [nulo, nulo, nulo]
y = lista.crear(-1) //Creará una lista con cero elementos
escribir(y) //Devolverá [ ]
lista.eliminar( )¶
A diferencia de lista.eliminar_indice( ) el comando lista.eliminar( ) elimina la primera coincidencia de la lista.
/*
Elimina solo la primera coincidencia.
Para eliminar las demás coincidencias
se tendrá que repetir el código.
*/
mensaje = ["hola", "Hola", "Hola", "xHola"]
lista.eliminar(mensaje, "Hola") //Eliminará la primera coincidencia
escribir(mensaje) //Devolverá ["hola", "Hola", "xHola"]
lista.eliminar(mensaje, "Hola") //Eliminará el segundo "Hola"
escribir(mensaje) //Devolverá ["hola", "xHola"]
lista.eliminar_indice( )¶
Este comando nos permite eliminar un elemento de la lista asignada por medio de su número de índice.
En una lista los elementos de esta están organizados por índices y estos índices inicial desde el número cero ( 0 ) en adelante.
Este comando NO admite números negativos.
mensaje = ["Hola", "mundo", "Latino", "es lo máximo"]
lista.eliminar_indice(mensaje, 3) //Aquí asignamos la librería y el índice del elemento a eliminar
escribir(mensaje) //Devolverá ["Hola", "mundo", "Latino"]
lista.indice( )¶
El comando lista.indice( ) también dispone de un alias el cual es lista.encontrar( ). Este comando nos permite buscar un elemento por su nombre en una lista y nos devolverá su número de índice.
Este comando es sensible a las mayúsculas y minúsculas.
Si NO encuentra el nombre del elemento a buscar, entonces regresara -1.
mensaje = ["Hola", "mundo", "Latino"]
escribir(lista.indice(mensaje, "latino")) //Devolverá -1, ya que latino esta en mayúsculas
escribir(lista.encontrar(mensaje, "Latino")) //Devolverá 2, ya que el índice comienza a contar desde el número cero
lista.extender( )¶
El comando lista.extender( ) copiará los elementos de una lista para ser insertados al final de otra lista deseada.
Ejemplo de sintaxis
lista.extender("ListaAExtender", "ListaACopiar")
mensaje = ["Hola", "mundo"]
copiar = ["Latino", "es lo máximo!"]
lista.extender(mensaje, copiar)
escribir(mensaje) //Devolverá ["Hola", "mundo", "Latino", "es lo maximo!"
lista.insertar( )¶
Con este comando podemos insertar un elementos en cualquier indice deseado de una lista.
Ejemplo de sintaxis
lista.insertar(listaOriginal, elementoNuevo, indice)
mensaje = ["Hola", "mundo", "Latino"]
lista.insertar(mensaje, "Lenguaje", 2)
escribir(mensaje) //Devolverá ["Hola", "mundo", "Lenguaje", "Latino"]
lista.invertir( )¶
Para invertir el orden de una lista, utilizamos el comando lista.invertir( ).
carros = ["Toyota", "Ford", "Peugeot", "Nissan", "Subaru", "Chevrolet"]
escribir(lista.invertir(carros)) //Devolverá la lista en orden invertido
lista.longitud( )¶
Este comando devuelve la cantidad de elementos de una lista.
mensaje = ["Hola", "mundo", "Latino"]
escribir(lista.longitud(mensaje)) //Devolverá "3"
lista.separar( )¶
El comando lista.separar( ) nos permite separar cada elemento de la lista con un separador asignado.
El separador debe ser declarado dentro de comillas.
Por defecto si no se indica un separador este será sustituido por un espacio en blanco.
Ejemplo de sintaxis
lista.insertar(lista, separador)
mensaje = ["Hola", "mundo", "Latino"]
escribir(lista.separar(mensaje, "-")) //Devolverá Hola-mundo-Latino
escribir(lista.separar(mensaje, "..")) //Devolverá Hola..mundo..Latino
escribir(lista.separar(mensaje, "_")) //Devolverá Hola_mundo_Latino
escribir(lista.separar(mensaje, "")) //Devolverá HolamundoLatino
escribir(lista.separar(mensaje)) //Devolverá Hola mundo Latino]
Lib «mate»¶
La librería mate contiene las funciones de matemáticas en Latino.
Lista de comando
Comando | Parámetros | Descripción |
---|---|---|
abs( ) | 1 | Devuelve el valor absoluto |
acos( ) | 1 | Devuelve el arcocoseno en radianes |
acosh( ) | 1 | Devuelve el coseno hiperbólico inverso de un número |
aleatorio( ) | 0, 1 ó 2 | Devuelve un número aleatorio |
alt( ) | ||
asen( ) | 1 | Devuelve el arcoseno en radianes |
asenh( ) | 1 | Devuelve el arcoseno hiperbólico inverso de un número |
atan( ) | 1 | Devuelve el arcotangente como un valor numérico entrew -PI/2 y PI/2 radianes |
atanh( ) | 1 | Devuelve el arcotangente hiperbólico inverso de un número |
atan2( ) | 2 | Devuelve el arcotangente del cociente de sus argumentos |
base( ) | 2 | Devuelve la base de la operación |
cos( ) | 1 | Devuelve el coseno |
cosh( ) | 1 | Devuelve el coseno hiperbólico |
e( ) | 0 | Devuelve el valor del número de Eular (Eular’s number) |
exp( ) | 1 | Devuelve el valor de \(E^x\), donde E es un número de Euler |
frexp( ) | 2 | Devuelve el número descompuesto y a una potencia integral de dos. |
ldexp( ) | 2 | Devuelve el número multiplicado por 2 elevado a una potencia |
log( ) | 1 | Devuelve el logaritmo natural |
log10( ) | 1 | Devuelve el logaritmo natural en base diez |
parte( ) | 2 | Devuelve la parte de la operación |
pi( ) | 0 | Devuelve el valor de PI |
piso( ) | 1 | Devuelve el número redondeado hacia abajo al número entero más cercano |
porc( ) | 2 | Devuelve el porcentaje de la operación |
porciento( ) | ||
porcentaje( ) | ||
pot( ) | 2 | Devuelve el valor de un número elevado a la potencia |
max( ) | 1,2,3… | Devuelve el más alto valor de una lista |
min( ) | 1,2,3… | Devuelve el más bajo valor de una lista |
raiz( ) | 1 | Devuelve la raíz cuadrada |
raizc( ) | 1 | Devuelve la raíz cúbica de un número |
redondear( ) | 1 | Devuelve el número redondeado |
rnd( ) | ||
sen( ) | 1 | Devuelve el seno |
senh( ) | 1 | Devuelve el seno hiperbólico |
tan( ) | 1 | Devuelve la tangente de un ángulo |
tanh( ) | 1 | Devuelve la tangente hiperbólico de un número |
tau( ) | 0 | Devuelve el valor de TAU |
techo( ) | 1 | Devuelve el número redondeado hacia arriba al número entero más cercano |
trunc( ) | 1 | Devuelve las partes enteras truncadas de diferentes números |
mate.abs( )¶
El comando mate.abs( ) devuelve el valor absoluto (positivo) del número especificado.
escribir(mate.abs(-7.25)) //Devolverá 7.25
mate.acos( )¶
Este comando devuelve el arcocoseno de un número como un valor entre el cero (0) y PI radianes.
Si el número asignado está fuera del rango de -1 a 1, el comando devolverá NaN.
El valor de -1 devolverá el valor de PI, y el valor de 1 devolverá el valor de cero (0).
escribir(mate.acos(0.5)) //Devolverá 1.04719...
mate.acosh( )¶
Este comando devuelve el coseno hiperbólico inverso de un número.
Este comando admite números igual o mayor que 1 (x >= 1).
Si el número asignado está fuera es menor que 1, el comando devolverá NaN.
escribir(mate.acosh(7)) //Devolverá 2.633915793849634
escribir(mate.acosh(56)) //Devolverá 4.71841914237288
escribir(mate.acosh(2.45)) //Devolverá 1.544713117870739
escribir(mate.acosh(1)) //Devolverá 0
mate.aleatorio( )¶
El comando mate.aleatorio( ) devuelve un número.
Este comando también dispone de un alias mate.alt().
Este comando puede admitir desde cero (0) parámetros, hasta un máximo de dos (2) parámetros.
En este comando se puede asignar números positivos como negativos.
Nota
Los parámetros se definen de la siguiente manera:
- Cero o ningún parámetro:
- Devolverá un valor aleatorio entre cero (0) y uno (1).
- Un parámetro:
- Se tomará como el número máximo, y devolverá entre cero (0) hasta el número asignado.
- Dos parámetros:
- Devolverá un número aleatorio dentro del rango numérico asignado.
escribir(mate.alt()) //Devolverá un número aleatorio entre 0 y 1
escribir(mate.aleatorio(25)) //Devolverá un número aleatorio entre 0 y 25
escribir(mate.aleatorio(-25,5)) //Devolverá un número aleatorio entre -25 a 5
mate.asen( )¶
El comando mate.asen( ) devuelve el arcoseno de un número como un valor entre -PI/2 y PI/2 radianes.
Si el número asignado está fuera del rango de -1 a 1, el comando devolverá NaN.
El valor de 1 devolverá el valor de PI/2 y el valor de -1 devolverá el valor de -PI/2.
escribir(mate.asen(0.5)) //Devolverá 0.52359...
mate.asenh( )¶
Este comando devuelve el arcoseno hiperbólico inverso de un número.
escribir(mate.asenh(7)) //Devolverá 2.644120761058629
escribir(mate.asenh(56)) //Devolverá 4.718578581151767
escribir(mate.asenh(2.45)) //Devolverá 1.6284998192841909
escribir(mate.asenh(1)) //Devolverá 0.881373587019543
escribir(mate.asenh(0.5)) //Devolverá 0.48121182505960347
escribir(mate.asenh(-10)) //Devolverá -2.99822295029797
mate.atan( )¶
Este comando devuelve el arcotangente de un número como un valor entre -PI/2 y PI/2 radianes.
escribir(mate.atan(2)) //Devolverá 1.10714...
mate.atanh( )¶
Este comando devuelve el arcotangente hiperbólico inverso de un número.
El parámetro admitido por este comando debe estar entre -0.99 y 0.99.
escribir(mate.atanh(0.59)) //Devolverá 0.6776660677579618
escribir(mate.atanh(-0.12)) //Devolverá -0.120581028408444
escribir(mate.atanh(0.99)) //Devolverá 2.646652412362246
mate.atan2( )¶
Este comando devuelve el arcotangente del cociente de sus argumentos, como un valor numérico entre PI y -PI radianes.
El número devuelto representa el ángulo en el sentido contrario de las agujas del reloj en radianes (pero NO en grados) entre los dos valores asignados a la operación.
/*
En este ejemplo usaremos las coordenadas de (4,8).
**Importante**
Con este comando la segunda coordenada se pasa como primer argumento
y la primera coordenada se pasa como segundo argumento
*/
escribir(mate.atan2(8,4)) //Devolverá 1.10714...
mate.base( )¶
Este comando devuelve la base de un porciento.
Para el porcentaje NO es necesario digitarlo en número decimal sino en porcentaje.
Este comando está relacionado con los comandos mate.parte( ) y mate.porc( )
Ejemplo de sintaxis
base = parte / porciento
/*
En este ejemplo buscaremos la base.
Ejemplo: ¿30 es una parte que representa el 40% de cuál número?
*/
escribir(mate.base(30,40)) //Devolverá 75
mate.cos( )¶
Este comando devuelve el coseno de un número.
El comando mate.cos( ) devuelve un valor numérico entre -1 y 1, que representa el coseno del ángulo.
escribir(mate.cos(3)) //Devolverá -0.98999...
mate.cosh( )¶
Este comando devuelve el coseno hiperbólico de un número.
escribir(mate.cosh(3)) //Devolverá 10.06766...
mate.e( )¶
Este comando devuelve el valor del número de Eular (eular’s number).
escribir(mate.e()) //Devolverá 2.718281828459045
mate.exp( )¶
Este comando devuelve el valor \(E^x\), donde E es un número de Euler (aproximadamente 2,7183) y equis(x) es el número que se le pasa.
escribir(mate.exp(1)) //Devolverá 2.71828...
escribir(mate.exp(-1)) //Devolverá 0.36787...
escribir(mate.exp(5)) //Devolverá 148.41315...
escribir(mate.exp(10)) //Devolverá 22026.46579...
mate.frexp( )¶
Este comando descompone un número en significativo y a una potencia integral de 2.
escribir(mate.frexp(123.45,0.45)) //Devolverá 0.96445...
mate.ldexp( )¶
Este comando multiplica un número por 2, elevado a una potencia.
escribir(mate.ldexp(7,-4)) //Devolverá 0.4375
escribir(mate.ldexp(1,-1074)) //Devolverá 4.94065...
escribir(mate.ldexp(-0,10)) //Devolverá -0
escribir(mate.ldexp(1,1024)) //Devolverá inf
mate.log( )¶
Este comando devuelve el logaritmo natural de un número.
Si el parámetro es negativo, devolverá NaN.
Si el parámetro es cero (0), devolverá infinito.
escribir(mate.log(2)) //Devolverá 0.69314...
escribir(mate.log(2.7183)) //Devolverá 1.0000066849...
escribir(mate.log(1)) //Devolverá 0
escribir(mate.log(0)) //Devolverá -inf
escribir(mate.log(-1)) //Devolverá NaN
mate.log10( )¶
Este comando devuelve el logaritmo común de un número (en base a 10).
Si el parámetro es negativo, devolverá NaN.
Si el parámetro es cero (0), devolverá infinito.
escribir(mate.log10(1)) //Devolverá 0
escribir(mate.log10(5)) //Devolverá 0.69897...
escribir(mate.log10(10)) //Devolverá 1
escribir(mate.log10(20)) //Devolverá 1.30102...
escribir(mate.log10(100)) //Devolverá 2
escribir(mate.log10(1000)) //Devolverá 3
escribir(mate.log10(0.001)) //Devolverá -3
escribir(mate.log10(0)) //Devolverá -inf
escribir(mate.log10(-1)) //Devolverá NaN
mate.parte( )¶
Este comando devuelve la parte de un porciento.
Para el porcentaje NO es necesario digitarlo en número decimal sino en porcentaje.
Este comando está relacionado con los comandos mate.base( ) y mate.porc( )
Ejemplo de sintaxis
parte = base * porciento
/*
En este ejemplo buscaremos la parte.
Ejemplo: ¿cuanto es el 35% de 200?
*/
escribir(mate.parte(35,200)) //Devolverá 70
mate.piso( )¶
A diferencia del comando mate.techo( ), el comando mate.piso( ) redondea un número hacia abajo al entero más cercano.
Si el argumento pasado es un número entero, el valor NO se redondeará.
escribir(mate.piso(1.6)) //Devolverá 1
escribir(mate.piso(0.60)) //Devolverá 0
escribir(mate.piso(5)) //Devolverá 5
escribir(mate.piso(5.1)) //Devolverá 5
escribir(mate.piso(-5.1)) //Devolverá -6
escribir(mate.piso(-5.9)) //Devolverá -6
mate.porc( )¶
Este comando devuelve la porcentaje de un porciento.
Este comando también dispone de alias como mate.porciento( ) y mate.porcentaje( ).
Para el porcentaje NO es necesario digitarlo en número decimal sino en porcentaje.
Este comando está relacionado con los comandos mate.base( ) y mate.parte( )
Ejemplo de sintaxis
porcentaje = parte / base
/*
En este ejemplo buscaremos el porcentaje.
Ejemplo: ¿45 es cual porcentaje de 70?
*/
escribir(mate.porc(45,70)) //Devolverá 0.6428571428571429
mate.pot( )¶
Este comando devuelve el valor(primer dígito) elevado a la potencia (segundo dígito).
escribir(mate.pot(4,3)) //Devolverá 64
escribir(mate.pot(0,1)) //Devolverá 0
escribir(mate.pot(1,1)) //Devolverá 1
escribir(mate.pot(1,10)) //Devolverá 1
escribir(mate.pot(3,3)) //Devolverá 27
escribir(mate.pot(-3,3)) //Devolverá -27
escribir(mate.pot(2,4)) //Devolverá 16
mate.max( )¶
Este comando devuelve el más alto valor de una lista.
Este comando también trabaja con números negativos.
Este comando NO tiene cantidad máxima de parámetros, lo que significa que se puede hacer una comparación entre 2 a 1000 números si se desea.
escribir(mate.max(-4,-15,1,5,10,2)) //Devolverá 10
mate.min( )¶
Este comando devuelve el más bajo valor de una lista.
Este comando también trabaja con números negativos.
Este comando NO tiene cantidad máxima de parámetros, lo que significa que se puede hacer una comparación entre 2 a 1000 números si se desea.
escribir(mate.min(-20,1,5,-15,10,2)) //Devolverá -20
mate.raiz( )¶
Este comando devuelve la raíz cuadrada de un número.
escribir(mate.raiz(9)) //Devolverá 3
escribir(mate.raiz(0)) //Devolverá 0
escribir(mate.raiz(1)) //Devolverá 1
escribir(mate.raiz(64)) //Devolverá 8
escribir(mate.raiz(-9)) //Devolverá NaN
mate.raizc( )¶
Este comando devuelve la raíz cúbica de un número.
escribir(mate.raizc(6)) //Devolverá 1.817120592832139
mate.redondear( )¶
Este comando redondea el número a su mas cercano entero.
Este comando también dispone de un alias mate.rnd( ).
escribir(mate.redondear(5.4)) //Devolverá 5
escribir(mate.rnd(5.6) //Devolverá 6
mate.sen( )¶
Este comando devuelve el seno de un número.
El comando mate.sen( ) devuelve un valor entre -1 y 1, que representa el seno del parámetro asignado.
escribir(mate.sen(3)) //Devolverá 0.14112...
escribir(mate.sen(-3)) //Devolverá -0.14112...
escribir(mate.sen(0)) //Devolverá 0
mate.senh( )¶
Este comando devuelve el seno hiperbólico de un número.
escribir(mate.senh(1)) //Devolverá 1.17520...
mate.tan( )¶
Este comando devuelve la tangente de un número.
escribir(mate.tan(1)) //Devolverá 1.55740...
mate.tanh( )¶
Este comando devuelve la tangente hiperbólica de un número.
escribir(mate.tanh(1)) //Devolverá 0.76159...
mate.tau( )¶
Este comando devuelve el valor de TAU.
escribir(mate.tau()) //Devolverá 6.283185307179586
mate.techo( )¶
A diferencia del comando mate.piso( ), el comando mate.techo( ) redondea un número hacia arriba al entero más cercano.
Si el argumento pasado es un número entero, el valor NO se redondeará.
escribir(mate.techo(1.4)) //Devolverá 2
escribir(mate.techo(0.60)) //Devolverá 1
escribir(mate.techo(5)) //Devolverá 5
escribir(mate.techo(5.1)) //Devolverá 6
escribir(mate.techo(-5.1)) //Devolverá -5
escribir(mate.techo(-5.9)) //Devolverá -5
mate.trunc( )¶
Este comando devuelve la parte entera truncada de un número.
Este comando NO redondea el número al más cercado entero, sino remueve su punto decimal.
escribir(mate.trunc(2.77)) //Devolverá 2
escribir(mate.trunc(8.32)) //Devolverá 8
escribir(mate.trunc(-99.29)) //Devolverá -99
Lib «sis»¶
La librería sis contiene funciones que nos permitirán operar con nuestro sistema desde Latino.
Lista de comando
Comando | Parámetros | Descripción |
---|---|---|
dormir( ) | 1 | Detiene el sistema por segundos |
ejecutar( ) | 1 | Ejecuta un comando de la consola desde latino |
fecha( ) | 1 | Imprime la fecha y hora del sistema (cadena) |
salir( ) | 0 | Termina la ejecución de latino |
cwd( ) | 0 | Imprime la ruta de donde se está ejecutando Latino |
iraxy( ) | 2 | Mueve el cursor de la consola a una nueva posición |
tiempo( ) | 2 | Muestra el año, mes, hora, min, y seg de la máquina local |
usuario( ) | 0 | Devuelve el nombre del usuario activo del sistema |
operativo( ) | 1 | Devuleve el sistema operativo en el que se ejecuta |
op( ) |
sis.dormir( )¶
Este comando detiene la ejecución del código por la cantidad de segundos signados.
Es importante recalcar que este comando admite segundos y NO milisegundos.
sis.dormir(5) //Detendar la ejecución del código por 5 segundos
escribir("Hola mundo) //Escribirá el mensaje después de pasar el tiempo asignado
sis.ejecutar( )¶
Con este comando podemos efectuar comandos nativos de la consola en el que estamos.
/*
Este comando escribirá
"Hola mundo" en la consola
*/
sis.ejecutar("echo Hola mundo")
sis.fecha( )¶
Este comando nos permite obtener la fecha del equipo o máquina local en donde Latino se está ejecutado.
Los comando a utilizar son los siguientes:
Comandos | Descripción |
---|---|
seg | Devuelve los segundos |
min | Devuelve los minutos |
hora | Devuelve las horas (hora militar) |
mes | Devuelve el mes |
año | Devuelve el año |
d_sem | Devuelve el día de la semana |
d_mes | Devuelve el día del mes |
d_año | Devuelve el día del año |
estacion | Devuelve la estación del año |
escribir(sis.fecha("hora")) //Devolverá las horas EJ. 17 horas
sis.salir( )¶
Con este comando podemos cerrar o terminar la ejecución de Latino.
Este comando es similar al atajo de teclado de consola explicado aquí.
sis.salir()
sis.iraxy( )¶
Con este comando podemos mover el cursor de texto a cualquier parte de la ventana.
Este comando es similar al comando gotoxy( ) en C.
Ejemplo de sintaxis
sis.iraxy(valorHorizontal, valorVertical)
/*
Este código dibujara una caja
para luego mover el cursor dentro de ella
*/
escribir("Ingrese su número en la caja
+----------+
| |
+----------+")
sis.iraxy(2,3) //Moverá el cursor al sitio deseado
x = leer()
sis.tiempo( )¶
A diferencia del comando sis.fecha( ), el comando sis.tiempo( ) nos permite tener un mayor control de las fechas y horas.
Este comando es similar a la librería datetime en Python.
Comando | Descripción |
---|---|
%a | Nombre del día de la semana abreviado |
%A | Nombre del día de la semana completo |
%w | Día de la semana en números del 0-6 (0 es domingo) |
%d | Día del mes |
%b | Nombre del mes abreviado |
%B | Nombre del mes completo |
%m | Mes en números |
%y | Año abreviado |
%Y | Año completo |
%H | Horas (00-23) |
%I | Horas (00-12) |
%p | AM/PM |
%M | Minutos (00-59) |
%S | Segundos (00-59) |
%z | UTC offset |
%Z | Zona horaria (timezone) |
%j | Número del día del año (001-366) |
%U | Números de la semana del año (00-53, Domingo como el primer día de la semana) |
%W | Números de la semana del año (00-53, Lunes como el primer día de la semana) |
%c | Fecha y el hora de la máquina local |
%x | Fecha de la máquina local |
%X | Hora de la máquina local |
%% | Devuelve el carácter de % |
escribir(sis.tiempo("%c")) //Devolverá la fecha y hora actual
sis.usuario( )¶
Este comando obtener el nombre del usuario activo en el sistema.
escribir(sis.usuario())
sis.operativo( )¶
El comando sis.operativo( ) también dispone de una abreviación op.
Ambos comandos retornar el nombre del sistema operativo es en el que Latino esta siendo ejecutado.
Estés comando solo admite los siguientes comandos (en mayúsculas):
- WIN32 : para MS-Windows
- APPLE : para macOS-X
- LINUX : para Linux
/*
Esta operación escribirá un mensaje personalizado
dependiendo del sistema operativo en donde sea ejecutado
*/
si sis.op("WIN32")
escribir("Windows-XP 4ever")
osi sis.operativo("APPLE")
escribir("Think Different")
osi sis.op("LINUX")
escribir("Linux for Humand")
sino
escribir("El sistema no es reconocido por Latino")
fin
Comandos de Consola¶
Los comandos de consola son algunas funciones que podemos efectuar con Latino antes de ejecutarlo en nuestra consola o terminal.
A continuación se presentará una tabla con los comandos de consola disponibles en Latino.
Comando | Descripción |
---|---|
-a | Muestra la ayuda de Latino en la terminal |
- -ayuda | |
- -help | |
-e | Ejecuta un comando con código de Latino |
-v | Muestra la versión instalada de Latino |
- -version | |
Ctrl + C | Cierra el programa de Latino en la consola |
Comandos¶
Ejecutar un comando¶
Para ejecutar un comando con código de Latino en la consola usamos el siguiente comando:
latino -e *código de Latino*

Ver versión de Latino¶
Para mostrar la versión de Latino que se tiene instalada en nuestro sistema, podemos usar el siguiente comando:
latino -v
latino --version

Glosario¶
Palabras reservadas¶
- caso
- cierto | verdadero
- continuar
- defecto | otro
- desde
- elegir
- error
- escribir | imprimir | poner
- falso
- fin
- funcion | fun
- global
- hasta
- imprimirf
- incluir
- mientras
- nulo
- osi
- repetir
- retorno | retornar | ret
- romper
- si
- sino
- tipo
- rango
- ir
Librerías¶
- archivo
- cadena
- dic
- gc
- lista
- mate
- paquete
- sis