Algoritmos e Estruturas de Dados/Sintaxe
CAPÍTULO 1
editar1.3 Sintaxe
editarPara facilitar o entendimento dos algoritmos e, conseqüentemente, sua tradução para as diversas linguagens de programação existentes atualmente, adotaremos uma sintaxe de descrição padrão.
Nossa sintaxe será baseada na linguagem Pascal.
- Hierarquias - As hierarquias serão denotadas pelas identações entre as linhas. Ou seja, terão a mesma ordem hierárquica todas as instruções que estiverem a uma mesma distância da margem esquerda da tela.
- Variáveis - Não serão declaradas variáveis ou mesmo tipos de variáveis. Todas as variáveis utilizadas aparecerão ao longo do código e serão representadas por conjuntos de letras e números.
-
- Ponteiros receberão uma representação diferenciada, para destacá-los das variáveis comuns:
- ^pt - variável do tipo ponteiro (armazena um endereço de memória).
- [^pt] - acesso ao conteúdo no endereço que ^pt armazena.
- $var - endereço da variável var.
- Operadores
- atribuição
var <- 12
- matemáticos
OPERAÇÃO OPERADOR adição + subtração - multiplicação * divisão / módulo MOD quociente DIV
- lógicos
OPERAÇÃO OPERADOR e (and) E ou (or) OU não (not) ~
- relacionais
OPERAÇÃO OPERADOR maior > maior ou igual >= menor < menor ou igual <= igual = diferente ~=
- Condicionais (ou blocos de seleção) - As possíveis formas de uma estrutura condicional serão:
SE (...) ENTÃO (...) SENÃO SE (...) ENTÃO (...) SENÃO (...)
SELECIONE (...) DENTRE [valores]: (...) SAIA
- Laços - A estrutura dos laços de repetição serão:
ENQUANTO (...) FAÇA (...)
PARA var <- 1,2,...,20 FAÇA (...)
FAÇA (...) ATÉ (...)
- Valores de retorno
Sempre que um algoritmo especificar um campo SAÍDA em sua definição (ver a seguir), em seu corpo deverá ocorrer ao menos uma instrução RETORNA. Os algoritmos definirão os valores a serem retornados como a seguir:
RETORNE a
Estrutura dos Algoritmos
Sempre que um novo algoritmo seguir, será da seguinte forma:
ALGORITMO: NomeAlgoritmo(i, nome, ^pt) ENTRADA: inteiro i, frase nome [SAÍDA: quantidade de letras de nome] [REQUISITOS: nome deve iniciar por caractere alfabético] -------------------------------------------------------- (instruções)
Os campos entre colchetes são utilizados somente quando necessário.