Introdução à Linguagem
PASCAL
Prof. Luis Otavio Alvares
1
Histórico da Linguagem PASCAL
• Criada por Niklaus Wirth , em 1969 e 1970,
como uma linguagem pequena e eficiente,
para encorajar as boas práticas de
programação, com o uso de programação
estruturada e estruturação de dados
• Foi baseada na linguagem ALGOL
• O nome é em homenagem ao matemático e
filósofo francês Blaise Pascal.
2
Unidades léxicas (vocabulário) do Pascal
• constantes
• identificadores
• palavras reservadas
• símbolos especiais
Constantes
• numéricas
inteiras
ex: 123
- 45
+6789
reais (fracionárias)
ex: 1.23
1.23E4
- 4.45
- 1.E+56
+0.6789
+0.67E-22
Constantes
• numéricas
• lógicas
• literais
true false
strings
‘Nome’
‘12345’
‘a12b/c’
‘true’
caractere branco:
‘ ’
Unidades léxicas do Pascal
Identificador
Sintaxe de identificador:
< letra > < letras e/ou dígitos e/ou ´_´ >
• 63 caracteres significativos
• não pode conter espaços brancos
• tem que começar por letra
Ex: A12x_3i
AnaTerra
Valor1
Unidades léxicas do Pascal
Palavras reservadas
Identificadores que não podem ser utilizados como nomes
de variáveis pelo programador
Ex: if
begin
readln
for
end
(
)
write
Símbolos especiais
Ex: ; :
,
:=
{
<=
}
<>
.
Estrutura de programas Pascal
Cabeçalho:
•opcional
•nome único no programa
Program <nome do programa> ;
<declarações, separadas por ponto e vírgula> ;
begin
<comandos, separados por ponto e vírgula>
end.
Definir todas as palavras que não fazem
parte da linguagem:
• nomes de todas as variáveis, com tipo de
valor que vai ser armazenado
• ...
Exemplo 1
{meu primeiro programa Pascal }
program OiMundo;
begin
write('Oi mundo!');
{mostra}
readln;
{espera}
end.
O que está entre { } é um comentário apenas,
não é considerado pelo computador
O que está em verde são palavras
reservadas do Pascal.
8
Declarações
• Declaram as variáveis e seus tipos
• Os nomes das variáveis devem conter
apenas letras, dígitos e o símbolo _ e iniciar
com letra
• Os principais tipos são: integer, real,
double, char, string e boolean
• Exemplos
var Valor1, Valor2 : integer;
quociente: real;
sexo: char;
nome: string;
Pascal NÃO diferencia letras maiúsculas de minúsculas!
9
Entrada e Saída de Dados
10
Comando de leitura
 entrada de dados
Sintaxe:
readln (
< lista de variáveis, separadas por vírgulas > )
• os dados fornecidos pelo usuário devem concordar com o tipo das variáveis da lista,
na ordem definida
Ex: readln(N1,N2,N3);
readln(n1);readln(n2);readln(n3);
Comandos de saída de dados
Sintaxe:
write ( < lista de variáveis e strings, sep. por vírgulas > )
writeln ( < lista de variáveis e strings, sep. por vírgulas > )
• write - o próximo comando de escrita será executado na
mesma linha deste, logo após o último valor impresso
• writeln - o próximo comando de escrita será executado a
partir do início de nova linha
• strings
- mensagens que se deseja que sejam mostradas
- qualquer seqüência de caracteres, entre apóstrofes
Exemplos de comandos de saída de dados
• write (´A soma vale : ´, Soma);
saída: A soma vale : 1234
• write (´A soma vale : ´);
writeln ( Soma );
saída: A soma vale : 1234
• writeln (´A soma vale : ´);
writeln ( Soma );
saída: A soma vale :
1234
• writeln (´X=´ , A , ´ - Y=´ , B );
saída: X=12 - Y=7
Considerando:
Soma=1234
A=12
B=7
Comando de atribuição :=
• Atribui o valor da direita à variável da esquerda
• O valor pode ser:
– uma constante,
– uma variável ou
– uma expressão
• Exemplos
x := 4;
y := x + 2;
y := y + 4;
valor := 2.5;
sexo := 'F'
simples (apóstrofe)
lemos: x recebe 4
lemos: y recebe x mais 2
lemos: y recebe y mais 4
constantes devem estar entre aspas
14
Atribuição
o resultado da expressão deve ser compatível com o tipo da
variável
Ex:
var X:integer; Y:real; C:char;
begin
X := 5;
C := 'a';
Y := 7 + 3.5;
end.
X := 5 * 2;
C := ';';
Y := X / 2;
Expressões aritméticas
16
Sintaxe:
< operando > < operador aritmético > < operando >
Operador
Significado
+
Adição
-
Subtração
*
Produto
/
Divisão real
div
mod
**
Divisão inteira
Resto da divisão
inteira
Potenciação
Operandos
• inteiros
• variáveis numéricas
• chamadas a funções
• expressões aritméticas
(podem estar entre
parêntesis)
Ex:
A+1
A * 2 + 7.32
X div C
2 + cos(X)
CUIDADO!!!!
• OBS: o operador “/” (divisão) exige que a variável que
recebe o resultado da divisão seja do tipo real.
Exemplo:
var
X,Y,U: integer;
Z: real;
Begin
X:=2; Y:=3; U:=3;
Z:=X/Y;
{ Z terá o valor 0.666667}
U:=X/Y;
{dá erro de compilação, pois U deveria ser
real}
End.
17
Expressões lógicas
18
Sintaxe:
< operando > < operador lógico > < operando >
< operador lógico > < expressão lógica >
Operandos
• valores lógicos
• variáveis booleanas
•chamadas a funções
• expressões lógicas
(podem estar entre
parêntesis)
Operadores relacionais
< > <= >= <> =
Ex: Idade > 21
Nome = ‘Roberta’
Tipos de dados compatíveis
Sintaxe relação:
< expressão > < operador relacional > < expressão >
Operadores lógicos
19
Operador
Tipo
Significado
and
V
F
or
V
F
and
binário
“e”
V
V
F
V
V
V
F
V
F
or
binário
“ou”
F
F
F
not
unário
negação
not
V
F
F
V
Sintaxe:
1. < operando > < operador lógico > < operando >
2.
not < expressão lógica >
Ex: ( A > B ) or (A>C)
( Valor >= 0 ) and ( Valor < 10 )
not (A>B)
Os operandos devem
estar entre parênteses
quando têm operadores
relacionais
Precedência de operadores Pascal
Ordem
Precedência
Operador
1
Maior
not

2
div mod and
+
3
4
/
Menor
= < > <=
-
or
>=
<
>
Em dúvida, o melhor é colocar parênteses, para não haver problema
Funções pré-definidas Pascal
Função
abs(X)
arctan(X)
cos(X)
sin(X)
exp(X)
frac(X)
int(X)
trunc(X)
round(X)
ln(X)
Pi
sqr(X)
sqrt(X)
Argumentos
integer / real
integer / real
integer / real
integer / real
integer / real
integer / real
integer / real
integer / real
integer / real
integer / real
integer
real
integer / real
Resultado
integer
real
real
real
real
real
real
integer
integer
real
real
integer
real
real
Ação
Valor absoluto
Arco tangente
Cosseno
Seno
ex
Parte fracionária
Parte inteira
Trunca p/ inteiro
Inteiro + próximo
Log. neperiano
Valor de 
Quadrado
Raiz quadrada
22
Aula prática 1:
- o ambiente de programação
- estrutura de programa Pascal
- comandos de entrada / saída
- programas seqüenciais
O ambiente Dev-Pascal
• O Dev-Pascal é um ambiente de
desenvolvimento de programas em Pascal
(editor, compilador, bibliotecas...)
• Pode ser baixado de
http://www.bloodshed.net/devpascal.html
23
Usando o Dev-Pascal
• Inicie o Dev-Pascal pelo ícone ou pelo menu
• Crie um novo arquivo, com o comando
– Arquivo, Novo Arquivo Fonte
– ou clicando no ícone
• Digite o programa da página seguinte
24
Usando o Dev-Pascal
program OiMundo;
begin
writeln('Oi mundo!');
readln;
end.
Experimente executar sem o comando readln para ver o
que acontece
25
Usando o Dev-Pascal
• Salve o programa com o nome exemplo.pas
• Compile o programa pressionando
•
• Se houver algum erro de sintaxe, aparece
uma ou mais mensagens no rodapé da
janela. Neste caso, corrija o programa e
repita.
• e depois pressione
para executar o programa
26
Dicas
• Termine todos os comandos com ;
• Quando ocorrer um erro de compilação, dê um
duplo clique sobre a mensagem de erro para
destacar o comando errado no programa
• Verifique também a linha anterior, que pode ser
a responsável pelo erro, especialmente se faltar
o caracter ;
27
Exemplo
Algoritmo
ler n1, n2, n3
Media(n1+n2+n3)/3
Mostrar media
Na Linguagem Pascal...
Var
n1, n2, n3: integer;
media: real;
begin
readln(n1);
readln(n2);
readln(n3);
media:=(n1+n2+n3)/3;
writeln('a media eh: ', media);
readln; {para não desaparecer}
end.
28
Exercícios: fazer programas Pascal para:
1. Mostrar na tela o produto entre 28 e 43.
2. Mostrar a média aritmética entre 3 números fornecidos pelo
usuário.
3. Ler um número inteiro e mostrar seu sucessor e seu antecessor
na tela.
4. Ler dois números e mostrar a sua soma. Antes do resultado,
deverá aparecer a mensagem: SOMA=.
5. Ler um número e mostrar a terça parte deste número.
6. Ler dois números e mostrar os seguintes resultados:
1. Quociente:
2. Resto (para calcular o resto de uma divisão utilize o operador MOD)
7. Leia 4 números e mostre a média ponderada, sabendo-se que os
pesos são respectivamente: 1, 2, 3 e 4.
29
Comandos de decisão (if)
Algoritmo
programa Pascal
se < expressão lógica >
if < expressão lógica >
então < comando >
then < comando >
;
if < expressão lógica >
then begin
< comandos >
end;
Algoritmo
programa Pascal
se < expressão lógica >
if < expressão lógica >
então < comando >
then < comando >
senão < comando >
else < comando >;
If < condição >
then begin
< comandos >
end
else begin
< comandos >
end;
31
31
‘Ifs’ encadeados
32
if < expressão lógica >
then < comando >
else < comando >;
if < condição 1 >
then if < condição 2 >
then if < condição 3 >
then < comando >
else < comando >
else < comando >
else < comando >;
if < condição 1 >
then if < condição 2 >
then if < condição 3 >
then < comando >
else < comando >
else < comando >;
‘Ifs’ encadeados – cuidado !
if < condição 1 >
then if < condição 2 >
then if < condição 3 >
then < comando >
else < comando >
else < comando >;
if < condição 1 >
then if < condição 2 >
then begin
if < condição 3 >
then < comando >;
end
else < comando >
else < comando >;
33
Exercícios
•Faça um programa Pascal para ler 3 números reais e verificar se o
primeiro é maior que a soma dos outros dois. Informar se é maior ou não.
•Faça um programa Pascal que leia 5 números e informe quantos desses
números são maiores que 10
•Faça um programa Pascal para ler 3 números reais e verificar se o maior
deles é maior que a soma dos outros dois. Informar se sim ou não.
•Faça um programa Pascal para ler três números diferentes e mostrá-los
em ordem crescente. Idem para ordem decrescente.
•Faça um programa Pascal para ler os três coeficientes de uma equação
de segundo grau e determinar suas raízes.
•Faça um programa Pascal para ler 4 números inteiros e calcular a soma
dos que forem par.
34
Download

Introdução à Linguagem C