introdução à linguagem pascal prof. luis otavio alvares

Post on 11-Jan-2016

120 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares. 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 dado s - PowerPoint PPT Presentation

TRANSCRIPT

1

Introdução à Linguagem PASCAL

Prof. Luis Otavio Alvares

2

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.

Unidades léxicas (vocabulário) do Unidades léxicas (vocabulário) do PascalPascal• constantes• identificadores• palavras reservadas• símbolos especiais

ConstantesConstantes• numéricas

inteiras ex:ex: 123 - 45 +6789

reais (fracionárias) ex:ex: 1.23 - 4.45 +0.6789

1.23E4 - 1.E+56 +0.67E-22

ConstantesConstantes

• numéricas

• lógicas true false

• literais strings‘Nome’ ‘a12b/c’

‘12345’ ‘true’

caractere branco: ‘ ’

IdentificadorIdentificador

Sintaxe de identificador:

< letra > < letras e/ou dígitos e/ou ´_´ >

Unidades léxicas do Pascal

Ex: A12x_3i AnaTerra Valor1

• 63 caracteres significativos• não pode conter espaços brancos• tem que começar por letra

Unidades léxicas do Pascal

Palavras reservadasPalavras reservadasIdentificadores que não podem ser utilizados como nomes de variáveis pelo programador

Ex: if begin readln for end write

Símbolos especiaisSímbolos especiais

Ex: ; : , { } ( ) . := <= <>

Estrutura de programas PascalEstrutura de programas Pascal

Program <nome do programa> ;

<declarações, separadas por ponto e vírgula> ; begin <comandos, separados por ponto e vírgula> end.

Cabeçalho: •opcional•nome único no programa

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

8

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.

9

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!

10

Entrada e Saída de Dados

• 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);

Comando de leitura entrada de dados

Sintaxe:

readln ( < lista de variáveis, separadas 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

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 (´A soma vale : ´, 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

Exemplos de comandos de saída de dadosExemplos de comandos de saída de dados

• write (´A soma vale : ´); writeln ( Soma );

saída: A soma vale : 1234 Considerando: Soma=1234A=12B=7

14

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

• Exemplosx := 4; lemos: x recebe 4

y := x + 2; lemos: y recebe x mais 2

y := y + 4; lemos: y recebe y mais 4

valor := 2.5;

sexo := 'F' constantes devem estar entre aspas simples (apóstrofe)

o resultado da expressão deve ser compatível com o tipo da variável

Ex: var X:integer; Y:real; C:char; begin

end.

C := 'a'; C := ';';Y := 7 + 3.5; Y := X / 2;

X := 5; X := 5 * 2;

Atribuição

16Expressões aritméticasExpressões aritméticas

Operador Significado

+ Adição

- Subtração

* Produto

/ Divisão real

div Divisão inteira

mod Resto da divisão inteira

** Potenciação

Sintaxe:

< operando > < operador aritmético > < operando >

Operandos • inteiros• variáveis numéricas• chamadas a funções• expressões aritméticas (podem estar entre parêntesis)

Ex:Ex: A + 1A * 2 + 7.32X div C 2 + cos(X)

CUIDADO!!!!

17

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

18Expressões lógicasExpressões lógicas 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)

Sintaxe relação:

< expressão > < operador relacional > < expressão >

Operadores relacionais

< > <= >= <> =

Tipos de dados compatíveis

Ex: Idade > 21 Nome = ‘Roberta’

19Operadores lógicos Operador Tipo Significado

and binário “e”

or binário “ou”

not unário negação

and V F

V V F

F F F

or V F

V V V

F V F

not V F

F V

Sintaxe: 1. < operando > < operador lógico > < operando >

2. not < expressão lógica >

Ex: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 PascalPrecedência de operadores Pascal

Ordem Precedência Operador

1 Maior not

2 / div mod and

3 + - or

4 Menor = < > <= >= < >

Em dúvida, o melhor é colocar parênteses, para não haver problema

Funções pré-definidas PascalFunções pré-definidas PascalFunção Argumentos Resultado Ação

abs(X) integer / real integer Valor absoluto

arctan(X) integer / real real Arco tangente

cos(X) integer / real real Cosseno

sin(X) integer / real real Seno

exp(X) integer / real real ex

frac(X) integer / real real Parte fracionária

int(X) integer / real real Parte inteira

trunc(X) integer / real integer Trunca p/ inteiro

round(X) integer / real integer Inteiro + próximo

ln(X) integer / real real Log. neperiano

Pi - real Valor de

sqr(X) integer integer Quadrado

real realsqrt(X) integer / real real Raiz quadrada

22

Aula prática 1:

- o ambiente de programação- estrutura de programa Pascal- comandos de entrada / saída- programas seqüenciais

23

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

24

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

25

Usando o Dev-Pascal

program OiMundo;begin writeln('Oi mundo!'); readln;end.

Experimente executar sem o comando readln para ver o que acontece

26

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

27

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 ;

28

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

ler n1, n2, n3

Media(n1+n2+n3)/3Mostrar media

Algoritmo

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)

se < expressão lógica >

então < comando >

if < expressão lógica >

then < comando > ;

Algoritmo programa Pascal

if < expressão lógica >

then begin

< comandos >

end;

31

31

se < expressão lógica >

então < comando >

senão < comando >

if < expressão lógica >

then < comando >

else < comando >;

If < condição >then begin < comandos > endelse begin < comandos > end;

Algoritmo programa Pascal

32

if < expressão lógica >

then < comando >

else < comando >;

‘‘Ifs’ encadeadosIfs’ encadeados

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 >;

33‘‘Ifs’ encadeados – cuidado !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 >;

34

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.

top related