Language fundamentals
Review the syntax, data types, and variables in detail.
In this tutorial you will build and run your first complete program in Quetzal Language while exploring the language basics.
Let’s begin with the classic “Hello, world!” example:
Create the file
Create a new file named hola_mundo.qz in your preferred folder.
Write the code
// Mi primer programa en Lenguaje Quetzalconsola.mostrar("¡Hola, mundo desde Quetzal!")Run the program
Open Command Prompt or PowerShell in the folder where you saved the file and run:
quetzal hola_mundo.qzExpected output
¡Hola, mundo desde Quetzal!Congratulations! You have executed your first Quetzal program.
Now we will create a more complete program to demonstrate several language features:
Create a file named mi_primer_programa.qz:
/* Mi primer programa completo en Lenguaje Quetzal Autor: Tu nombre Fecha: Hoy*/
consola.mostrar_exito("=== MI PRIMER PROGRAMA EN QUETZAL ===")
// ===== VARIABLES Y TIPOS =====consola.mostrar_informacion("1. Trabajando con variables...")
// Tipos básicosentero edad = 25texto nombre = "Ana García"número salario = 2500.50log esta_empleado = verdadero
// Mostrar variablesconsola.mostrar("Nombre: " + nombre)consola.mostrar("Edad: " + edad.texto() + " años")consola.mostrar("Salario: $" + salario.texto())consola.mostrar("Empleado: " + esta_empleado.texto())
// ===== LISTAS =====consola.mostrar_informacion("2. Trabajando con listas...")
lista<texto> hobbies = ["programar", "leer", "viajar", "cocinar"]lista<entero> numeros_favoritos = [7, 13, 21, 42]
consola.mostrar("Hobbies: " + hobbies.texto())consola.mostrar("Números favoritos: " + numeros_favoritos.texto())
// ===== FUNCIONES =====consola.mostrar_informacion("3. Usando funciones...")
// Función para calcular área de un círculonúmero calcular_area_circulo(número radio) { número pi = 3.14159 retornar pi * radio * radio}
// Función para crear saludo personalizadotexto crear_saludo(texto nombre_persona, entero edad_persona) { si (edad_persona >= 18) { retornar "Hola " + nombre_persona + ", eres mayor de edad" } sino { retornar "Hola " + nombre_persona + ", eres menor de edad" }}
// Usar las funcionesnúmero area = calcular_area_circulo(5.0)texto saludo = crear_saludo(nombre, edad)
consola.mostrar("Área del círculo (radio 5): " + area.texto())consola.mostrar(saludo)
// ===== CONDICIONALES =====consola.mostrar_informacion("4. Usando condicionales...")
entero puntuacion = 85
si (puntuacion >= 90) { consola.mostrar("Calificación: Excelente")} sino si (puntuacion >= 80) { consola.mostrar("Calificación: Muy bueno")} sino si (puntuacion >= 70) { consola.mostrar("Calificación: Bueno")} sino { consola.mostrar("Calificación: Necesita mejorar")}
// ===== BUCLES =====consola.mostrar_informacion("5. Usando bucles...")
consola.mostrar("Contando del 1 al 5:")para (entero i = 1; i <= 5; i++) { consola.mostrar("Número: " + i.texto())}
consola.mostrar("Recorriendo hobbies:")para (texto hobby en hobbies) { consola.mostrar("- " + hobby)}
// ===== OBJETOS JSON =====consola.mostrar_informacion("6. Trabajando con JSON...")
jsn persona = { nombre: nombre, edad: edad, salario: salario, hobbies: hobbies, contacto: { email: "ana@ejemplo.com", telefono: "+502 1234-5678" }, activo: verdadero}
consola.mostrar("Datos de la persona:")consola.mostrar(persona.texto())
// ===== OPERACIONES MATEMÁTICAS =====consola.mostrar_informacion("7. Operaciones matemáticas...")
entero a = 15entero b = 4
consola.mostrar("Operaciones con " + a.texto() + " y " + b.texto() + ":")consola.mostrar("Suma: " + (a + b).texto())consola.mostrar("Resta: " + (a - b).texto())consola.mostrar("Multiplicación: " + (a * b).texto())consola.mostrar("División: " + (a / b).texto())consola.mostrar("Módulo: " + (a % b).texto())
// ===== VARIABLES MUTABLES =====consola.mostrar_informacion("8. Variables mutables...")
entero mut contador = 0consola.mostrar("Contador inicial: " + contador.texto())
contador = contador + 10consola.mostrar("Contador después de sumar 10: " + contador.texto())
contador += 5consola.mostrar("Contador después de += 5: " + contador.texto())
// ===== FINAL =====consola.mostrar_exito("¡Programa completado exitosamente!")consola.mostrar("Has aprendido los conceptos básicos de Lenguaje Quetzal:")consola.mostrar("✓ Variables y tipos de datos")consola.mostrar("✓ Funciones")consola.mostrar("✓ Condicionales")consola.mostrar("✓ Bucles")consola.mostrar("✓ Listas")consola.mostrar("✓ Objetos JSON")consola.mostrar("✓ Operaciones matemáticas")consola.mostrar("✓ Variables mutables")quetzal mi_primer_programa.qz=== MI PRIMER PROGRAMA EN QUETZAL ===1. Trabajando con variables...Nombre: Ana GarcíaEdad: 25 añosSalario: $2500.5Empleado: Sí2. Trabajando con listas...Hobbies: [programar, leer, viajar, cocinar]Números favoritos: [7, 13, 21, 42]3. Usando funciones...Área del círculo (radio 5): 78.53975Hola Ana García, eres mayor de edad4. Usando condicionales...Calificación: Muy bueno5. Usando bucles...Contando del 1 al 5:Número: 1Número: 2Número: 3Número: 4Número: 5Recorriendo hobbies:- programar- leer- viajar- cocinar6. Trabajando con JSON...{ "nombre": "Ana García", "edad": 25, "salario": 2500.5, "hobbies": ["programar", "leer", "viajar", "cocinar"], "contacto": { "email": "ana@ejemplo.com", "telefono": "+502 1234-5678" }, "activo": true}7. Operaciones matemáticas...Suma: 19Resta: 11División: 3Multiplicación: 60Módulo: 3
8. Variables mutables...Contador inicial: 0Contador después de sumar 10: 10Contador después de += 5: 159. Final...¡Programa completado exitosamente!Has aprendido los conceptos básicos de Lenguaje Quetzal:✓ Variables y tipos de datos✓ Funciones✓ Condicionales✓ Bucles✓ Listas✓ Objetos JSON✓ Operaciones matemáticas✓ Variables mutablesEven though the sample code remains in Spanish, the comments and explanations walk you through each concept so you can recognize Quetzal’s Spanish keywords while learning from English guidance.
Language fundamentals
Review the syntax, data types, and variables in detail.
Control structures
Discover how si, loops, and exceptions work.
Data handling
Learn how to manipulate lists, JSON objects, and files.
Practical examples
Practice with complete programs ready to run.