Escolar Documentos
Profissional Documentos
Cultura Documentos
Sérgio Madeira
Isto é feito pelos tradutores. Cada linguagem de alto nível tem os seus.
Existem 2 tipos de tradutores:
Interpretadores
Operam diretamente sobre o programa de alto nível (source module)
durante a execução, traduzindo linha a linha.
Compiladores
Traduzem todo o programa de uma só vez, criando uma versão em
linguagem máquina (object module) e seguidamente uma versão
executável (executable module) ligado a bibliotecas de software.
Sintaxe:
Conjunto de regras rígidas constituídas pelas relações entre palavras
chave, identificadores, operadores e pontuação. Caso a sintaxe não
esteja correcta o compilador não conseguirá traduzir para linguagem
máquina. Normalmente o compilador detecta estes erros e aponta-os.
Semântica:
Conjunto de relações entre as operações solicitadas pelo programa. A
sua incorreção não origina erros de compilação mas de execução (resultados
errados, comportamento inesperado do programa …)
Nota importante:
Basicamente todas as linguagens de programação usam os mesmos
tipos de estruturas, podendo essas variar sintaticamente de linguagem
para linguagem.
Begin Begin
Instrução 1; Instrução a;
d=Func_1 (a,b) Instrução b;
Instrução 2; Instrução c;
etc etc
End End
Exemplos
Const, Var, Real, Integer,
Const taxa_juro=1.85 : Real Char, Cadeia, Boolean
São palavras reservadas
Var alunos_turma : Integer
nota_aluno : Char
‘B’ ‘B’ ‘A’ ‘F’ ‘A’ ‘B’ ‘C’ ‘B’ ‘C’ ‘C’
aprovado = true;
valor_anual = sqr(12*(lucro/2–inflacao));
Algumas funções
/ Divisão etc
> Maior
~(aprovado)
< Menor
& AND
Nota: segue-se neste caso os
Símbolos usados pela linguagem | OR
Matlab ~ NOT
xor XOR
input(x,”Pick a number.”)
O Matlab muda sempre de linha Matlab
x
disp(x)
O Matlab muda sempre de linha Matlab
x
Repeat
instrução_1; Repeat, Until
instrução_2; São palavras
: : reservadas.
instrução_n;
Until expressão_booleana
While expressão_booleana Do
Begin While
instrução_1; É uma palavra
instrução_2; reservada.
: :
instrução_n;
End
PROGRAM exemplo_9_3_2(input,output);
Var i, n, soma : integer;
Aspecto no ecran
BEGIN
writeln('Introduza um número inteiro positivo.');
readln(n); Introduza um número inteiro positivo.
i:=1; 5
soma:=0;
Eis a soma dos números até 5: 15
WHILE i < n+1 DO
BEGIN
soma:=soma+i
i:=i+1;
END;
writeln(‘Eis a soma dos números até ‘,n,’: ‘,soma);
END.
PROGRAM exemplo_9_3_2(input,output);
{* Programa para calcular a soma de todos os inteiros até n. *}
Var i, n, soma : integer;
BEGIN
{* Leitura do valor n. *}
writeln('Introduza um número inteiro positivo.');
readln(n);
i:=1;
{* Cálculo da soma através de um ciclo While. *}
soma:=0;
WHILE i < n+1 DO
BEGIN
i:=i+1;
soma:=soma+i
END;
writeln(‘Eis a soma dos números até ‘,n,’: ‘,soma);
END.