Referencia de lenguaje de programación · Égua

Égua

Esta referencia presenta el lenguaje de programación Égua y su sintaxis en portugués, incluidos datos, flujo de control, funciones, colecciones, objetos y bibliotecas estándar.

Categoría Lenguaje de programaciónReferencia Égua

01 · Panorama

Sobre Égua

Égua es un lenguaje de programación interpretado, con palabras clave y mensajes en portugués. Su sitio oficial lo presenta como una forma accesible de practicar conceptos de programación sin depender del vocabulario en inglés; su implementación combina recursos imperativos y funcionales con orientación a objetos.

Esta página organiza la sintaxis y las funciones descritas en la documentación oficial. Es una guía de consulta, no sustituye la documentación completa del lenguaje.

02 · Organización

Archivo y escritura del código

Un programa se compone de instrucciones y bloques entre llaves. La documentación del proyecto usa archivos .egua, comentarios que comienzan con // y punto y coma para terminar las instrucciones. La ejecución puede comenzar directamente con instrucciones en el archivo; las funciones y clases se declaran donde se necesiten.

// Primer programa
var nome = "Ana";
escreva("Hola, " + nome);

Entre las palabras reservadas principales están var, se, senão, para, função, retorna y classe. La escritura en portugués forma parte de la sintaxis.

03 · Datos

Variables y ámbito

var declara una variable, con o sin valor inicial. La asignación posterior usa =. Las variables pueden tener ámbito global o local dentro de un bloque entre llaves; una variable externa es visible en bloques internos, pero una variable local no está disponible fuera del bloque donde se declaró.

var pontos = 0;
pontos = pontos + 1;

se (pontos > 0) {
  var mensagem = "Hay puntos";
  escreva(mensagem);
}

Égua determina el tipo a partir del valor en ejecución; no se escribe un tipo junto al nombre. Usa nombres descriptivos y mantén cada variable en el ámbito más pequeño que necesite el algoritmo.

04 · Valores

Tipos y colecciones

Los valores incluyen números enteros o decimales, textos entre comillas simples o dobles, valores lógicos verdadeiro y falso, y el valor ausente nulo. Las listas son ordenadas y usan corchetes; los diccionarios asocian claves con valores y usan llaves.

FormaEjemploObservación
Número12, 3.5Entero o punto flotante.
Texto"Hola", 'a'Secuencia entre comillas.
Lógicoverdadeiro, falsoSe usa en condiciones.
Lista[4, "cinco"]Índices desde cero; tamaño variable.
Diccionario{'nome': 'Ana'}Acceso mediante clave.
var notas = [8, 6.5, 9];
var cadastro = {"nome": "Ana"};
escreva(notas[0]);
escreva(cadastro["nome"]);

Las listas y los textos se indexan desde cero. La documentación también describe índices negativos para textos, contados desde el final; leer un índice inexistente de una lista produce un error, mientras que asignar después del final puede ampliarla y rellenar las posiciones intermedias con nulo.

05 · Expresiones

Operadores y comparaciones

GrupoOperadoresUso
Aritméticos** * / + - %Potencia, cálculos y resto.
Comparación> >= < <= == !=Compara valores; la igualdad exige mismo tipo y valor.
Lógicose ouConjunción y disyunción.
PertenenciaemComprueba si un valor está en una lista, texto o clave de diccionario.
Bit a bit<< >> & ^ |Desplazamientos y operaciones sobre bits.
var resultado = 2 ** 3 + 1;
var aprovado = resultado >= 8 e resultado < 10;
var tem_nota = 8 em [6, 8, 9];
escreva(aprovado);

La prioridad de los operadores determina el orden de evaluación. Usa paréntesis cuando una expresión combine varias categorías.

06 · Flujo

Condiciones y repeticiones

se, senão se y senão seleccionan un bloque. Los bucles incluyen enquanto y para; la forma de para se parece a un bucle con inicialización, prueba y actualización. Las condiciones usan valores lógicos.

var notas = [8, 5.5, 9];
para (var i = 0; i < tamanho(notas); i = i + 1) {
  se (notas[i] >= 7) {
    escreva("Aprobado");
  } senão se (notas[i] >= 5) {
    escreva("Recuperación");
  } senão {
    escreva("No aprobado");
  }
}

var contador = 0;
enquanto (contador < 2) {
  escreva(contador);
  contador = contador + 1;
}

verdadeiro y los valores distintos de falso y nulo se evalúan como verdaderos según las reglas descritas en la documentación.

07 · Reutilización

Funciones

Una función con nombre se declara con função, parámetros entre paréntesis y un bloque entre llaves. retorna entrega un valor al punto de llamada. Las funciones anónimas pueden almacenarse o pasarse a otras funciones, por ejemplo para transformar elementos de una lista.

função classificar(nota) {
  se (nota >= 7) {
    retorna("Aprobado");
  } senão {
    retorna("Sigue estudiando");
  }
}

var resultado = classificar(8);
escreva(resultado);

Los parámetros se separan con comas. Una función puede devolver listas, textos, números u otros valores; las funciones integradas mapear, filtrar y para_cada reciben funciones como argumento.

08 · Modelado

Clases y objetos

classe declara una estructura con métodos. Crear una instancia llama el nombre de la clase con paréntesis; los métodos se llaman desde la instancia con punto. El método especial construtor se ejecuta al crearla y isto hace referencia a la instancia actual. La documentación también presenta herencia con herda y acceso a la implementación padre con super.

classe Contador {
  construtor(valor) {
    isto.valor = valor;
  }
  avancar() {
    isto.valor = isto.valor + 1;
    retorna isto.valor;
  }
}

var contador = Contador(2);
escreva(contador.avancar());

Usa clases para agrupar datos y comportamientos relacionados; para transformaciones breves, una función sencilla suele bastar.

09 · Recursos integrados

Funciones y bibliotecas

escreva muestra valores. Entre las funciones integradas documentadas están aleatório, aleatório_entre, inteiro, real, tamanho, para_cada, mapear, filtrar y ordenar. Consulta las páginas oficiales para la lista completa y las reglas de cada función.

Las bibliotecas estándar se cargan explícitamente con importar(...). La documentación oficial presenta bibliotecas para matemáticas, textos, tiempo y solicitudes HTTP.

var tempo = importar("tempo");
escreva(tempo.agora());

var dobro = mapear([1, 2, 3], função(valor) {
  retorna valor * 2;
});
escreva(dobro);

10 · Aplicación

Ejemplo completo

Este programa clasifica una lista de resultados y muestra cuántos elementos alcanzaron el promedio esperado.

função aprovado(nota) {
  retorna nota >= 7;
}

var notas = [8, 5.5, 9, 6];
var aprovadas = filtrar(notas, função(nota) {
  retorna aprovado(nota);
});

escreva("Notas: ", notas);
escreva("Aprobadas: ", aprovadas);
escreva("Cantidad: ", tamanho(aprovadas));

11 · Fuentes

Documentación oficial

Volver al manual de Potoo IDE

Consulta las demás referencias y la información del proyecto.

Abrir el manual