Sintaxe inspirada em Python, com comandos em português e blocos por indentação.
Este guia foi otimizado para consulta rápida em aula e estudo individual.
Teste os exemplos em tempo real no editor principal e valide a lógica com terminal integrado.
Abrir editor agorainicio_algoritmo nome_do_algoritmo
# código aqui
fim_algoritmo
inicio_algoritmo nome.fim_algoritmo.Use inteiro, real, texto, logico, lista,
dicionario
ou var.
inteiro idade = 18
real media = 7.5
texto nome = "Ana"
logico ativo = verdadeiro
lista notas = [7, 8.5, 10]
dicionario aluno = {"nome": "Ana", "idade": 20}
var qualquer = 10
inteiro: números inteiros (ex.: 10).real: números com ponto flutuante (ex.: 8.5).texto: cadeias de caracteres (ex.: "Ana").logico: valores booleanos verdadeiro ou falso.lista: coleção de valores (ex.: [1, 2, 3]).dicionario: coleção chave:valor (ex.: {"nome": "Ana"}).var: inferência automática simples de tipo.Limitações: listas são unidimensionais e coleções não têm métodos por ponto (use funções em português).
texto nome = leia("Digite seu nome: ")
inteiro idade = leia("Digite sua idade: ")
lista notas = leia("Notas (ex.: 7,8,9 ou [7,8,9]): ")
dicionario aluno = leia("Aluno (ex.: nome:Ana,idade:20 ou {\"nome\":\"Ana\",\"idade\":20}): ")
Limitações: em declaração, a entrada é convertida para o tipo declarado; em atribuição, tenta seguir o tipo atual da variável.
Observação: para lista, aceita JSON ([1,2,3]) ou valores por
vírgula; para
dicionario, aceita JSON ({"nome":"Ana"}) ou pares
chave:valor.
escreva("Olá")
escreva("Nome:", nome)
escreva("Resultado:", idade + 2)
Limitações: apenas saída em linha de terminal (sem formatação avançada).
inteiro x = 5
x = x + 10
x = x * 2
Limitações: sem operadores especiais como +=, -= etc.
dicionario pessoa = {"nome": "Ana"}
pessoa.nome = "Bia" # funciona (chave como identificador)
escreva(pessoa["nome"]) # leitura por chave
Limitações: atribuição por índice/chave (pessoa["nome"] = ...) não é
suportada no momento.
Você pode acessar por índice e usar funções utilitárias em português.
lista nomes = ["Ana", "Bia"]
adicionar(nomes, "Caio")
escreva(nomes[0])
escreva(tamanho(nomes))
inserir(nomes, 1, "Duda")
remover(nomes, 0)
se contem(nomes, "Bia"):
escreva("Bia está na lista")
Limitações: índices devem ser inteiros e dentro da faixa da lista.
Use pares chave:valor para organizar dados e consultar por chave.
dicionario pessoa = {"nome": "Ana", "idade": 20}
escreva(pessoa["nome"])
escreva(tamanho(pessoa))
se contem(pessoa, "idade"):
escreva("Tem idade")
Limitações: em contem, para dicionário a verificação é por chave.
Observação: acesso por ponto também funciona quando a chave é identificador
(ex.: pessoa.nome).
tamanho(...): lista (itens), texto (caracteres), dicionário (chaves).contem(...): lista (valor), dicionário (chave).adicionar, inserir, remover: somente para lista.
se idade >= 18:
escreva("Maior de idade")
senaose idade >= 16:
escreva("Quase")
senao:
escreva("Menor")
Limitações: os blocos dependem de indentação correta (4 espaços recomendados).
inteiro i = 1
enquanto i <= 3:
escreva("i =", i)
i = i + 1
texto opcao = ""
enquanto verdadeiro:
opcao = leia("1-continuar / 0-sair: ")
se opcao == "0":
pare
Limitações: loops infinitos são interrompidos por limite de segurança interno e por limite global de tempo de execução.
Observação: declaração de variável dentro de loop não é permitida (declare fora e atribua dentro).
para i de 1 ate 5:
escreva(i)
para j de 10 ate 0 passo -2:
escreva(j)
Limitações: o ate é inclusivo, passo não pode ser zero.
# isto é um comentário
inteiro x = 1 # comentário ao lado
Limitações: apenas comentário de linha com #.
funcao soma(a, b):
retorne a + b
inteiro total = soma(2, 3)
escreva("Total:", total)
Observação: leia(...) dentro de função/método é suportado pelo terminal
integrado.
classe Pessoa:
funcao init(nome, idade):
eu.nome = nome
eu.idade = idade
funcao apresentar():
escreva("Nome:", eu.nome)
var p = Pessoa("Ana", 20)
p.apresentar()
Limitações: construtor por convenção no método init.
Aritméticos: +, -, *, /,
%
Comparação: ==, !=, >,
>=, <, <=
Lógicos: e, ou, nao
Booleanos: verdadeiro, falso
Acesso: obj.propriedade e colecao[indice_ou_chave]
Limitações: prioridade segue o avaliador de expressões do JavaScript.
Executar: inicia o programa no terminal.Parar/Resetar: interrompe a execução atual (inclusive leia(...) pendente e
loops) e reseta o terminal.Limpar terminal: limpa apenas a saída exibida.Quebra: ON/OFF: alterna quebra automática de linha no editor.Expandir: modo de foco no editor em telas menores/dispositivos touch.pare: interrompe o loop atual (enquanto ou para).break: alias aceito para pare.lista e dicionario.leia(...) dentro de função/método usa o terminal integrado..psy
(criar/salvar/duplicar/renomear/excluir).inicio_algoritmo exemplo_completo
texto nome = leia("Nome: ")
inteiro n = leia("Número: ")
se n % 2 == 0:
escreva(nome, "digitou par")
senao:
escreva(nome, "digitou ímpar")
lista valores = [1, 2, 3]
adicionar(valores, n)
escreva("Total de valores:", tamanho(valores))
inteiro soma = 0
para i de 1 ate n:
soma = soma + i
escreva("Soma 1..n =", soma)
fim_algoritmo