Referencia de pseudolenguaje · Calango

Calango

Esta guía presenta la escritura de algoritmos en Calango, desde la estructura principal hasta las declaraciones, expresiones, decisiones, repeticiones y rutinas.

Categoría PseudolenguajeReferencia Calango

01 · Panorama

Sobre Calango

Calango es un pseudolenguaje y entorno de apoyo para enseñar algoritmos. Sus comandos en portugués permiten centrarse en la secuencia de pasos, las condiciones y los datos antes de pasar a la sintaxis de otros lenguajes. Los materiales de la Universidad de Brasilia describen su uso didáctico, la ejecución interpretada y la depuración paso a paso.

Esta referencia combina ese propósito educativo con las estructuras de Calango descritas en las fuentes al final de la página.

02 · Organización

Estructura del algoritmo

El encabezado comienza con algoritmo, seguido del nombre y un punto y coma. El bloque principal comienza con principal y termina con fimPrincipal. Las funciones y los procedimientos se escriben fuera de este bloque.

algoritmo boasVindas;
principal
    texto nome;
    escreva("¿Cómo te llamas?");
    leia(nome);
    escreval("Hola, ", nome);
fimPrincipal

Una línea que comienza con // es un comentario. El cuerpo puede contener declaraciones y comandos; cada instrucción simple termina con punto y coma.

03 · Datos

Tipos, variables y vectores

Declara una variable escribiendo el tipo seguido del nombre. Los tipos básicos incluyen inteiro, real, logico, caracter y texto. Los literales de texto usan comillas dobles; los números reales usan punto decimal; los valores lógicos son verdadeiro y falso.

inteiro cantidad;
real precio;
logico disponible;
caracter inicial;
texto titulo;
inteiro notas[5];

cantidad = 3;
precio = 2.5;
disponible = verdadeiro;
titulo = "Algoritmos";
notas[0] = 10;

Los vectores se declaran añadiendo dimensiones entre corchetes al nombre. El acceso a un elemento también usa corchetes. Se admiten varias dimensiones; cada índice debe ser entero.

04 · Expresiones

Asignación y operadores

La asignación usa =. Los paréntesis agrupan operaciones. La tabla resume las formas aritméticas, comparaciones y conectores disponibles en la sintaxis documentada.

CategoríaOperadoresUso
Aritméticos+ - * / \ % modCálculos, división y resto.
Comparación= == != <> < <= > >=Comparar valores.
Lógicosnao e ouNegar o combinar por conjunción o disyunción.
real total;
total = precio * cantidad;
se (cantidad > 0 e disponible) entao
    escreva("Total: ", total);
fimSe

Usa mod o % para obtener el resto. La precedencia sigue la prioridad matemática y lógica; los paréntesis facilitan la lectura de expresiones largas.

05 · Interacción

Entrada y salida

escreva(...) muestra valores; escreval(...) añade un salto de línea. Ambas aceptan expresiones separadas por comas. leia(...) recibe un dato para una variable, y leiaCaracter(...) es la forma específica para leer un carácter.

texto nome;
inteiro idade;
escreva("Nombre: ");
leia(nome);
escreva("Edad: ");
leia(idade);
escreval("Hola, ", nome, " — ", idade, " años.");

limpaTela(); limpia el área de salida. La entrada debe ser compatible con el tipo declarado para la variable de destino.

06 · Decisiones

Condiciones y elección

se inicia un bloque condicional; senaoSe permite probar otra condición y senao define la alternativa final. El bloque termina con fimSe. escolha compara una expresión con varias opciones caso y puede incluir outroCaso.

se (nota >= 7) entao
    escreval("Aprobado");
senaoSe (nota >= 5) entao
    escreval("Recuperación");
senao
    escreval("No aprobado");
fimSe

escolha opcion
    caso 1
        escreval("Nuevo ejercicio");
    outroCaso
        escreval("Opción no reconocida");
fimEscolha

Las condiciones deben producir un valor lógico. Cada caso ejecuta el bloque asociado al valor correspondiente.

07 · Repetición

Enquanto, faça-enquanto y para

enquanto comprueba la condición antes del cuerpo. faca ... enquanto ejecuta primero y comprueba al final. para recorre una secuencia numérica con inicio, fin y paso explícitos.

inteiro i;
i = 1;
enquanto (i <= 3) faca
    escreval(i);
    i = i + 1;
fimEnquanto

para i de 1 ate 3 passo 1 faca
    escreval(i);
fimPara

interrompa; termina de inmediato el bucle más interno. Evita condiciones que nunca llegan a ser falsas.

08 · Reutilización

Funciones, procedimientos y parámetros

Una función declara el tipo de retorno antes del nombre y termina con fimFuncao. Un procedimiento no declara valor de retorno y termina con fimProcedimento. Los parámetros se escriben entre paréntesis con tipo y nombre; ref indica paso por referencia. retorna devuelve el resultado de una función.

funcao inteiro dobro(inteiro valor)
    retorna valor * 2;
fimFuncao

procedimento mostrar(texto mensagem)
    escreval(mensagem);
fimProcedimento

principal
    escreval(dobro(4));
    mostrar("Practica un paso a la vez");
fimPrincipal

Llama a cada rutina por su nombre y con los argumentos que espera. Usa parámetros por referencia cuando la rutina deba actualizar la variable recibida.

09 · Aplicación

Ejemplo completo

Este programa lee tres notas, calcula el promedio e informa el resultado con un vector, un bucle y una condición.

algoritmo mediaTurma;
principal
    inteiro i;
    real notas[3];
    real soma;
    soma = 0;
    para i de 0 ate 2 passo 1 faca
        escreva("Nota: ");
        leia(notas[i]);
        soma = soma + notas[i];
    fimPara
    se (soma / 3 >= 7) entao
        escreval("Aprobado");
    senao
        escreval("Sigue estudiando");
    fimSe
fimPrincipal

10 · Fuentes

Referencias consultadas

Los ejemplos de esta página se escribieron para explicar la sintaxis y no reproducen fragmentos extensos de las fuentes.

Volver al manual de Potoo IDE

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

Abrir el manual