Livro Ajustável de Conhecimento · Fundação metodológica

Pseudolinguagem de Referência do LAC

Especificação didática v1.0 · Vocabulário, sintaxe, semântica operacional e laboratório de execução

1 · O que é e por que existe?

A Pseudolinguagem de Referência do LAC (PR-LAC) é uma notação textual, educacional e independente de linguagem de programação para descrever algoritmos de maneira verificável. Sua versão 1.0 define um núcleo de instruções e um subconjunto executável demonstrado; não é um compilador universal.

Referente

Algoritmos, estados e estruturas de dados.

Problema resolvido

Inconsistência entre notação, interpretação, execução e visualização.

Destinatário

Aprendiz, autor, projetista, mentor e implementador.

Critério de qualidade

Mesma instrução, mesma regra semântica e resultado reproduzível.

Instrução→Execução→Estado→Visualização→Resultado

2 · Léxico e vocabulário

O léxico define quais unidades (tokens) podem compor um algoritmo. Palavras reservadas são grafadas em maiúsculas; identificadores podem usar letras, dígitos e sublinhado, começando por letra. Os exemplos adotam identificadores sem acentos.

CategoriaTokensSignificado
DelimitaçãoALGORITMO, DADOS, INÍCIO, FIMNome, dados e corpo
DecisãoSE, ENTÃO, SENÃO, FIM_SEExecução condicional
RepetiçãoPARA, DE, ATÉ, PASSO, FAÇA, FIM_PARA, ENQUANTO, FIM_ENQUANTOLaços
ControleINTERROMPER, CONTINUAR, RETORNARDesvio e saída
Entrada/saídaLER, ESCREVERInteração
TiposINTEIRO, REAL, LOGICO, TEXTO, VETORTipos didáticos
Operadores←, +, -, *, /, =, ≠, <, ≤, >, ≥, E, OU, NÃOAtribuição, aritmética, comparação e lógica
Literais10, 2.5, VERDADEIRO, FALSO, "texto"Valores

Convenção: = compara igualdade; ← atribui valor. Vetores são indexados a partir de zero.

3 · Regras sintáticas

Esta gramática EBNF simplificada especifica o núcleo exemplificado. Elementos opcionais são indicados por colchetes e repetições por chaves.

algoritmo = "ALGORITMO", identificador, ["DADOS", {declaração}], "INÍCIO", {comando}, "FIM" ; comando = atribuição | entrada | saída | condicional | para | enquanto | retorno ; atribuição = destino, "←", expressão ; destino = identificador, ["[", expressão, "]"] ; condicional = "SE", expressão, "ENTÃO", {comando}, ["SENÃO", {comando}], "FIM_SE" ; para = "PARA", identificador, "DE", expressão, "ATÉ", expressão, ["PASSO", expressão], "FAÇA", {comando}, "FIM_PARA" ; enquanto = "ENQUANTO", expressão, "FAÇA", {comando}, "FIM_ENQUANTO" ; entrada = "LER", destino ; saída = "ESCREVER", expressão ; retorno = "RETORNAR", expressão ;

Contrato complementar: expressões obedecem precedência aritmética, relacional e lógica; tipos devem ser compatíveis; o passo de PARA não pode ser zero. A gramática completa de expressões, funções e estruturas compostas fica para a versão 1.1.

4 · Semântica operacional

O estado de execução é representado por σ, um mapeamento entre identificadores e valores, acompanhado da posição da instrução corrente e da saída acumulada. Cada passo aplica uma regra de transição: ⟨instrução, σ⟩ → ⟨próxima instrução, σ'⟩.

InstruçãoEfeito sobre o estado
x ← eAvalia e e atualiza σ(x).
SE c ENTÃO ...Avalia c e escolhe um dos blocos.
PARA i DE a ATÉ bInicializa i, testa o limite inclusivo, executa o corpo e incrementa o contador.
ENQUANTO cTesta c antes de cada execução do corpo.
ESCREVER eAcrescenta o valor avaliado à saída.
RETORNAR eEncerra a rotina e produz um valor.

Uma implementação deve explicitar erros de índice, tipos incompatíveis e variáveis não inicializadas. A terminação não é garantida para todo algoritmo (por exemplo, um ENQUANTO cuja condição nunca se torna falsa).

5 · Laboratório: instrução → estado → resultado

Escolha um exemplo. O interpretador didático executa transições pré-definidas e verificáveis dos exemplos apresentados, sem executar texto arbitrário. O código e a visualização usam o mesmo estado de simulação.

Algoritmo em PR-LAC

Rastro de execução

PassoInstruçãoMudança observada

6 · Integração com Algoritmos e Estruturas de Dados

Página de Algoritmos

Adota o vocabulário PR-LAC, apresenta problema, requisitos e decisões de controle.

Página de Estruturas de Dados

Usa os mesmos nomes de operações e mostra como o estado de vetores, pilhas, filas, árvores e grafos muda.

Contrato de integração

Algoritmo + estado inicial + entrada + regra de transição → rastro + estado final + resultado.

Exemplo de aplicação ao LAC

Ao selecionar um nó de um grafo de conhecimento, um algoritmo de percurso pode visitar seus vizinhos. A estrutura representa os nós e arestas; o algoritmo determina a visita; a visualização revela quais nós foram visitados e em qual ordem.

Regras de governança da notação

  1. Identificar a versão PR-LAC usada em cada artefato.
  2. Não confundir pseudocódigo didático com código executável genérico.
  3. Vincular cada instrução demonstrada a uma regra semântica.
  4. Registrar estado inicial, entradas, transições, saídas e testes esperados.
  5. Versionar mudanças incompatíveis na sintaxe ou semântica.

Critérios de homologação

Para cada exemplo: resultado determinístico; rastreabilidade por passo; sincronismo entre código, estado e visualização; reinicialização reprodutível; tratamento explícito de limites.

7 · Referências para aprofundamento

WIRTH, Niklaus. Algorithms + Data Structures = Programs (1976). KNUTH, Donald. The Art of Computer Programming. CORMEN et al. Introduction to Algorithms. AHO, LAM, SETHI e ULLMAN. Compilers: Principles, Techniques, and Tools. WINSKEL, Glynn. The Formal Semantics of Programming Languages.

Esta notação é uma proposta interna de referência do LAC, não um padrão externo consolidado.