Você está na página 1de 30

Linguagem 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.”

 Programa: “Formalização de um algoritmo


em uma linguagem inteligível pelo computador.
É escrito em uma linguagem de alto nível,
gerando o programa fonte.”

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.

 Identificadores de significado definido


input, output, integer, real, read, write, etc...

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 *)

var matr, { nr. de matricula }


nota, { nota do semestre }
cod: integer; { código do curso }

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

Pseudocódigo leia(A, B, C) imprima(A, B, C)

Fluxograma leia imprima


A, B, C A, B, C

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.

Saída=3.20_x +_5.81_y =_9.010

Linguagem PASCAL 27
Exemplo 1 - Save as

2 - Compile (ou ALT-F9)


3 - Run (ou CTRL-F9)
File Edit Run Compile Options Debug Break/Watch

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

F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu


Linguagem PASCAL 28
Trabalho #3
 Programa 3.1 - Leia 4 números e
imprima a média.
 Programa 3.2 - Leia um número com
exatamente 5 dígitos em binário e
imprima seu valor em decimal.
 Programa 3.3 - Leia o valor da
temperatura em graus Celsius e
transforme para Farenheit.
Use a fórmula: C = 5/9*(F-32)
Linguagem PASCAL 29
FIM

Linguagem PASCAL 30

Você também pode gostar