zbyte-zinit
v1.0.0
Published
Pseudocode programming language for educational purposes
Readme
Zinit
Este es un proyecto acerca de un lenguaje de pseudocódigo llamado Zinit. Este lenguaje fue construido con propósitos pedagógicos.
Documentación
A continuación se presenta la documentación del lenguaje Zinit.
1. Normas generales
- Todas las instrucciones de linea deben terminar con un punto y coma
;. - Los bloques de código deben estar delimitados por llaves
{}.
2. Variables
Declaración
- Las variables se declaran con la palabra reservada
Declararseguida del nombre de la variable. - Los nombres de las variables deben comenzar con una letra y pueden contener letras, números y guiones bajos.
- No pueden tener el mismo nombre que una palabra reservada del lenguaje.
- No pueden ser declaradas más de una vez.
- No pueden ser utilizadas sin ser declaradas.
- No pueden ser utilizadas antes de ser declaradas.
- No pueden ser utilizadas fuera del ámbito en el que fueron declaradas.
Declarar <nombre_variable> <tipo_dato>;Ejemplo:
Declarar direccion_postal Texto;Asignación
- Las variables se asignan con las palabras reservadas
Asignar,a. - Cuando es una expresión, se debe encerrar entre paréntesis.
Asignar <valor|(expresión)> a <nombre_variable>;Ejemplo:
Asignar "Calle 123" a direccion_postal;
Asignar (5 + 3) a resultado;3. Tipos de datos
Números
- Los números son valores enteros o decimales.
- Se declaran con la palabra reservada
Numerico.
Declarar edad Numerico;
Asignar 25 a edad;Cadenas de texto
- Las cadenas de texto son secuencias de caracteres.
- Se declaran entre comillas dobles
". - Se declaran con la palabra reservada
Texto.
Declarar nombre Texto;
Asignar "Juan" a nombre;- Las cadenas de texto pueden concatenarse con el operador
+.
Declarar nombre_completo Texto;
Asignar ("Juan" + " " + "Pérez") a nombre_completo;Booleanos
- Los booleanos son valores de verdad o falsedad.
- Se declaran con la palabra reservada
Logico. - Se asignan con las palabras reservadas
verdaderoofalso.
Declarar es_mayor_de_edad Logico;
Asignar verdadero a es_mayor_de_edad;4. Operadores
Aritméticos
- Suma
+. - Resta
-. - Multiplicación
*. - División
/.
Declarar resultado Numerico;
Asignar (5 + 3) a resultado;Relacionales
- Igualdad
==. - Diferencia
!=. - Mayor que
>. - Menor que
<.
Declarar es_mayor_de_edad Logico;
Asignar (edad > 17) a es_mayor_de_edad;Lógicos
- Y
&&. - O
||. - No
!.
Declarar es_mayor_de_edad Logico;
Asignar (edad > 18 || edad == 18) a es_mayor_de_edad;5. Estructuras de control
Condicional
- La estructura condicional se declara con la palabra reservada
Siseguida de una expresión entre paréntesis. - El bloque de código que se ejecuta si la expresión es verdadera se declara entre llaves
{}. - Puede tener una estructura
Sinoque se ejecuta si la expresión es falsa.
Si (edad > 18) {
Escribir ("Es mayor de edad");
} Sino {
Escribir ("Es menor de edad");
}Iterativa (Mientras)
- La estructura iterativa se declara con la palabra reservada
Mientrasseguida de una expresión entre paréntesis. - El bloque de código que se ejecuta mientras la expresión sea verdadera se declara entre llaves
{}.
Mientras (edad < 18) {
Escribir ("Es menor de edad");
}Iterativa (Hacer-Mientras)
- La estructura iterativa se declara con la palabra reservada
Hacer. - El bloque de código que se ejecuta se declara entre llaves
{}. - La expresión que se evalúa para continuar ejecutando el bloque se declara con la palabra reservada
Mientrasseguida de una expresión entre paréntesis.
Hacer {
Escribir ("Es menor de edad");
Asignar (edad + 1) a edad;
} Mientras (edad < 18);6. Entrada/Salida
Escribir
- La instrucción
Escribirse utiliza para imprimir en consola. - Se declara con la palabra reservada
Escribirseguida de una expresión entre paréntesis.
Escribir ("Hola, mundo!");Leer
- La instrucción
Leerse utiliza para leer desde consola. - Se declara con la palabra reservada
Leerseguida de sus parámetros entre paréntesis. - Posee dos posibles parámetros: el mensaje que se imprime en consola y el nombre de la variable.
Leer (<nombre_variable>);
Leer (<mensaje>, <nombre_variable>);Ejemplo:
Leer (nombre);
Leer ("Ingrese su nombre: ", nombre);