Saltar para o conteúdo

Algoritmos e Estruturas de Dados/Sintaxe

Origem: Wikilivros, livros abertos por um mundo aberto.



Para 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.