Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Pascal
1 Pascal
Aula nº 12
Teoria e prática.
JChinhama38@yahoo.com.br 1
Origem
Criada em 1968 pelo prof. Niklaus Wirth
(Suíça)
Homenagem a Blaise Pascal (1623-1662)
Marco na evolução das Ling. Prog.
Linguagem simples
Favorece o uso de boas técnicas de
programação
Linguagem PASCAL 2
Algoritmo x Programa
Algoritmo: “Conjunto de etapas finitas,
ordenadamente definidas com o propósito de
obter soluções para um determinado problema.”
Linguagem PASCAL 3
Conceitos básicos
Qual o tipo de linguagem que o computador
entende? Linguagem de máquina.
Como podemos fazer a tradução de uma
linguagem de programação para linguagem de
máquina? Usando um compilador.
Como um programa é executado no
computador?
– Primeiro ele é carregado na memória e depois cada
instrução é executada de acordo com a lógica do
programa.
Linguagem PASCAL 4
Programação Estruturada
Quais são os objetivos da programação
estruturada?
– Facilitar a escrita dos programas;
– Facilitar a leitura dos programas;
– Permitir a verificação prévia dos programas;
– Facilitar a manutenção e modificação dos
programas.
Porque ela é tão importante?
– Devido a complexidade dos sistemas.
Linguagem PASCAL 5
Programação Estruturada
Quais são as características da programação
estruturada?
– Desenvolvimento Top-Down;
– Modularização;
– Estruturas de Controle.
Quais os problemas na produção de
software?
– Confiabilidade x Complexidade;
– Manutenabilidade;
– Documentação;
– Fluxo de controle dos algoritmos.
Linguagem PASCAL 6
Programação Estruturada
Desenvolvimento Top-Down
– indentificar o sistema que se deseja modelar;
– ir descendo cada vez mais no nível de especificação
dos sub-sistemas relacionados.
Modularização
– separar o sistema em pequenos blocos funcionais;
– realizar o encadeamento destes blocos funcionais;
– alterações a nível de bloco => reaproveitamento de
código fonte.
Estruturas de controle: sequencial, condicional e
repetitivo.
Linguagem PASCAL 7
Fases
1) Definição do problema
2) Desenvolvimento de um algoritmo
3) Transcrição para PASCAL
4) Digitação do programa
5) Compilação
6) Análise dos resultados
Linguagem PASCAL 8
program x;
var par: integer;
soma: integer;
begin
soma:=0; { inicializa }
par:=0;
while par<=200 do { loop da soma }
begin
soma:= soma + par;
par:= par + 2;
end;
writeln (soma);
end.
Linguagem PASCAL 9
Turbo Pascal
Compilador que vamos usar:
Inprise/Borland Turbo Pascal 7.0
– http://www.borland.com/pascal
Criado em 1983 (v1.0)
Atualmente: Delphi 4.0 - uma extensão da
linguagem Pascal (inclui conceitos de orientação à
objetos e construção de interfaces gráficas através
de uma programação visual e interativa).
Linguagem PASCAL 10
Formas de descrição de um algoritmo
Pseudocódigo Fluxograma Diagrama de blocos
condição F condição
se <condição> V F
V
então C1
C1
C1;
C2
C2
C2; -
... ... ...
Cn; Cn Cn
fim se;
Linguagem PASCAL 11
Constantes (CONST)
Valor fixo. Não muda durante a
execução de um programa
Podem ser numéricas, lógicas ou
alfanuméricas (literal)
Ex:
– numéricas: 25, +34, -315, -0.53, 7.8E-3, .13
– lógicas: true, false
– alfanuméricas: A-Z, a-z, 0-9, !, ?, /, *, &, $, %, ...
Linguagem PASCAL 12
Variáveis (VAR)
São representadas por identificadores
Formado por
– uma letra, ou
– uma letra seguida de letras ou dígitos:
• Ex: A, Nota, matricula, x, a, a1, a2, bd, A32B
• Maiúsculas são iguais a minúsculas: AB = aB
Linguagem PASCAL 13
Palavras Reservadas
Identificadores usados na linguagem
and, array, begin, case, const, div, do, downto, else,
end, file, for, function, goto, if, in, label, mod, nil, not,
of, or, packed, procedure, program, record, repeat,
set, then, to, type, until, var, while, with.
Linguagem PASCAL 14
Declaração de variáveis
Todo programa em PASCAL deve ter a
seguinte forma:
program <nome>;
<bloco>.
Onde:
<nome> - nome do programa
<bloco> - programa
Linguagem PASCAL 15
Bloco do programa
O <bloco> é formado por:
declarações
begin
sequência de comandos
end
E as declarações de variáveis:
var lista-de-variáveis: tipo;
onde tipo=integer, real, boolean, char.
Linguagem PASCAL 16
Definição de novos tipos (type)
Uma vez definido o novo tipo, este passa a ser
referenciado pelo seu identificador.
Exemplo:
type Indices = 0..63;
Letras = ´A´..´Z´;
Faixa = -3..3;
var codigo: integer;
teste: boolean;
letra: Letras;
Linguagem PASCAL 17
Comentários
Usado para aumentar a clareza do programa,
embora não seja analisado pelo computador:
{ comentário } ou (* comentário *)
Linguagem PASCAL 18
Expressões aritméticas
Ordem de prioridade:
– 1a: *, /, div, mod
– 2a: +, -
div - quociente inteiro (divisão e truncamento, sem
arrendondamento)
mod - resto inteiro da divisão
ex1: x = 11 div 4 = 2, y = 11 mod 4 = 3
ex2: u = sqrt(p*(p-a)*(p-b)*(p-c))
ex3: v = exp(b*ln(a)) = eb*ln a = ab
Linguagem PASCAL 19
Expressões lógicas
Relações
– A<>B, nome=´João´, a<0, x=1
Operadores lógicos
– p and q, p or q, not p
Ex: (idade>25) and (nome=´Maria´)
Prioridade
– 1a: not
– 2a: *, /, div, mod, and
– 3a: +, -, or
– 4a: =, <>, <, <=, >=, >, in
Linguagem PASCAL 20
Expressões literais
Caracter:chr(cod) { cod=código ASCII }
Ordem: ord(ch) { código ASCII, ch=caracter }
Sucessor do caracter: succ(ch)
Antecessor do caracter: pred(ch)
Linguagem PASCAL 21
Comando de atribuição
Identificador := expressão
var A, B, X, Y: integer;
K, Media: real;
teste: boolean;
cor: string; { tipo pré-definido }
K:=1;
A:=B;
Media := A+B/2;
teste := (X=0) and (Y<>2);
cor := ´verde´;
Linguagem PASCAL 22
Entrada e Saída (E/S)
As ações que executam estas tarefas são:
– Obter dados externos:
• leia(dado1, …, dadon);
– Apresentar dados internos:
• imprima(dado1, …, dadon);
Exemplos:
– leia(NOME, IDADE);
– leia(PRODUTO, QUANTIDADE, VALOR);
– imprima(SOMA, MÉDIA);
– imprima(“Nome: “, NOME, “Idade: “, IDADE);
Linguagem PASCAL 23
E/S
Diagrama
de Blocos leia(A, B, C) imprima(A, B, C)
Linguagem PASCAL 24
Comandos de entrada e saída
Leitura
program leitura; Entrada:
var n: integer; 1 6,5 2 7,0
nota: real; 3 8,0 4 9,0
begin 5 5,0 6 4,0
readln (n, nota); 7 3,0 8 9,5
readln (n, nota);
read (n, nota);
n, nota ?
read (n, nota);
{ a diferença é que o readln gera uma mudança de linha após a
leitura dos valores }
end.
Linguagem PASCAL 25
Comandos de entrada e saída
Escrita
var n, p: string[4];
x, a: integer; Entrada:
begin Joao25
x := 0;
read (n,a); Saída ?
x := x + a; p := n;
write (p,x);
a := x + a;
writeln (a);
x := x + a;
write (n, x, a);
end.
Linguagem PASCAL 26
Comandos de entrada e saída
Formatação na escrita
program formata;
var a,b: real;
k,m: char;
begin
a:=3.2; b:=5.81; k:=´x´; l:=´y´;
write (a:4:2, k:2, ´ +´, b:5:2, m:2, ´ =´, a+b:6:3);
end.
Linguagem PASCAL 27
Exemplo 1 - Save as
program AreaCirculo;
const { Declaração de constantes }
PI = 3.1415926;
var { Declaração de Variáveis }
raio : real;
area: real;
begin { Comandos do Programa }
write (‘Forneça o raio: ‘);
readln (raio);
area := PI*(raio*raio);
writeln (‘Área = ‘, area);
end.
Watch
Linguagem PASCAL 30