Referência de pseudolinguagem · Calango

Calango

Este guia apresenta a escrita de algoritmos em Calango, da estrutura principal às declarações, expressões, decisões, repetições e rotinas.

Categoria PseudolinguagemReferência Calango

01 · Visão geral

Sobre Calango

Calango é uma pseudolinguagem e ambiente de apoio ao ensino de algoritmos. Os comandos em português permitem concentrar o estudo na sequência de passos, nas condições e nos dados antes de avançar para a sintaxe de outras linguagens. Materiais da Universidade de Brasília descrevem o uso didático do Calango, a execução interpretada e a depuração passo a passo.

Esta referência combina essa finalidade educacional com as estruturas de Calango descritas nas fontes ao final da página.

02 · Organização

Estrutura do algoritmo

O cabeçalho começa com algoritmo, seguido do nome e de ponto e vírgula. O bloco principal abre com principal e termina em fimPrincipal. Funções e procedimentos ficam fora desse bloco.

algoritmo boasVindas;
principal
    texto nome;
    escreva("Qual é o seu nome?");
    leia(nome);
    escreval("Olá, ", nome);
fimPrincipal

Uma linha iniciada por // é um comentário. O corpo pode conter declarações e comandos; cada instrução simples termina com ponto e vírgula.

03 · Dados

Tipos, variáveis e vetores

Declare uma variável escrevendo o tipo seguido do nome. Os tipos básicos incluem inteiro, real, logico, caracter e texto. Literais de texto usam aspas duplas; números reais usam ponto decimal; valores lógicos são verdadeiro e falso.

inteiro quantidade;
real preco;
logico disponivel;
caracter inicial;
texto titulo;
inteiro notas[5];

quantidade = 3;
preco = 2.5;
disponivel = verdadeiro;
titulo = "Algoritmos";
notas[0] = 10;

Vetores são declarados acrescentando dimensões entre colchetes ao nome. Acesso a um elemento também usa colchetes. O interpretador aceita vetores de mais de uma dimensão; cada índice deve ser inteiro.

04 · Expressões

Atribuição e operadores

Atribuições usam =. Parênteses agrupam operações. A tabela reúne as formas aritméticas, comparações e conectivos disponíveis na sintaxe documentada.

CategoriaOperadoresUso
Aritméticos+ - * / \ % modCálculos, divisão e resto.
Comparação= == != <> < <= > >=Comparar valores.
Lógicosnao e ouNegar, combinar por conjunção ou disjunção.
real total;
total = preco * quantidade;
se (quantidade > 0 e disponivel) entao
    escreva("Total: ", total);
fimSe

Use mod ou % para obter o resto. A precedência segue a prioridade matemática e lógica; parênteses tornam expressões longas mais fáceis de ler.

05 · Interação

Entrada e saída

escreva(...) exibe valores sem avançar obrigatoriamente a linha; escreval(...) acrescenta uma quebra de linha. Ambos aceitam expressões separadas por vírgulas. leia(...) recebe um dado para uma variável, e leiaCaracter(...) é a forma específica para leitura de caractere.

texto nome;
inteiro idade;
escreva("Nome: ");
leia(nome);
escreva("Idade: ");
leia(idade);
escreval("Olá, ", nome, " — ", idade, " anos.");

limpaTela(); limpa a área de saída. A entrada deve ser compatível com o tipo declarado para a variável de destino.

06 · Decisões

Condições e escolha

se inicia um bloco condicional; senaoSe permite testar outra condição e senao define o ramo final. O bloco encerra com fimSe. escolha compara uma expressão com alternativas caso e pode incluir outroCaso.

se (nota >= 7) entao
    escreval("Aprovado");
senaoSe (nota >= 5) entao
    escreval("Recuperação");
senao
    escreval("Reprovado");
fimSe

escolha opcao
    caso 1
        escreval("Novo exercício");
    outroCaso
        escreval("Opção não reconhecida");
fimEscolha

As condições precisam resultar em valor lógico. Um caso executa o bloco associado ao valor correspondente.

07 · Repetição

Enquanto, faça-enquanto e para

enquanto testa a condição antes do corpo. faca ... enquanto executa primeiro e testa no final. para percorre uma sequência numérica com início, fim e passo explicitados.

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; encerra imediatamente o laço mais interno. Evite condições que nunca se tornam falsas em laços condicionais.

08 · Reuso

Funções, procedimentos e parâmetros

Uma função declara seu tipo de retorno antes do nome e encerra com fimFuncao. Um procedimento não declara valor de retorno e termina com fimProcedimento. Parâmetros aparecem entre parênteses com tipo e nome; ref indica passagem por referência. retorna devolve o resultado de uma função.

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

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

principal
    escreval(dobro(4));
    mostrar("Pratique um passo por vez");
fimPrincipal

Uma rotina pode ser chamada pelo nome e pelos argumentos esperados. Use parâmetros por referência quando a rotina deve atualizar a variável recebida.

09 · Aplicação

Exemplo completo

Este programa lê três notas, calcula a média e informa o resultado usando vetor, repetição e condição.

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("Aprovado");
    senao
        escreval("Continue estudando");
    fimSe
fimPrincipal

10 · Fontes

Referências consultadas

Os exemplos desta página foram redigidos para explicar a sintaxe e não reproduzem trechos extensos dos materiais de referência.

Voltar ao Manual do Potoo IDE

Consulte as outras referências e as informações do projeto.

Abrir o Manual