Linguagem PASCAL Definição e Tipos de Dados

33
Linguagem PASCAL 1 Linguagem PASCAL Linguagem PASCAL Definição e Tipos de Dados e Informática Disciplina: Introdução à Computação Prof.: Paulemir G. Campos Material elaborado pela Profª Alzennyr Cléa da UFRPE/DFM.

description

UFRPE – Deptº de Estatística e Informática Disciplina: Introdução à Computação Prof.: Paulemir G. Campos. Linguagem PASCAL Definição e Tipos de Dados. Material elaborado pela Profª Alzennyr Cléa da UFRPE/DFM. Origem. - PowerPoint PPT Presentation

Transcript of Linguagem PASCAL Definição e Tipos de Dados

Page 1: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL 1

Linguagem PASCALLinguagem PASCAL Definição e Tipos de Dados

UFRPE – Deptº de Estatística e Informática Disciplina: Introdução à ComputaçãoProf.: Paulemir G. Campos

Material elaborado pela Profª Alzennyr Cléa da UFRPE/DFM.

Page 2: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL2

Origem

Linguagem de programação largamente utilizada no ensino-aprendizagem de programação de computadores;

Criada por Niklaus Wirth em 1972, na Universidade Técnica de Zurique, Suiça;

Seu nome homenageia o matemático Blaise Pascal (1623-1662);

Existem vários compiladores para esta linguagem, o mais comum no ambiente acadêmico é o Turbo Pascal, da Borland.

Page 3: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL3

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

Page 4: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL4

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 ou interpretador.

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.

Page 5: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL5

Etapas

1) Definição do problema2) Desenvolvimento de um algoritmo3) Transcrição para PASCAL4) Digitação do programa5) Compilação6) Execução

Page 6: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL6

Passos para construção de algoritmos Ler atentamente o enunciado do problema a ser

resolvido; Identificar quais são as entradas (ou seja, o que é

fornecido) para a solução do problema; Identificar o que deve ser feito para, a partir das

entradas, produzir as saídas. Um algoritmo pode ser visto como uma função

que leva as entradas para saídas. No processo, tentar achar uma solução prática para

resolver o problema e depois escreve-la na linguagem algorítmica.

Page 7: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL7

Turbo Pascal Compilador que vamos usar:

Inprise/Borland Turbo Pascal 7.0 http://www.borland.com

Criado em 1983 (v1.0) Atualmente: Delphi 2005 - 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).

Page 8: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL8

Equivalência de termos entre a Linguagem Algorítmica e Pascal:

Termos em Pascal

LA PASCALdeclare Var

Início Begin

Fim End

Caracter Char

Inteiro Integer

Real Real

Lógico Boolean

Leia Read

Escreva Write

Page 9: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL9

Equivalência de termos entre a Linguagem Algorítmica e Pascal:

Termos em Pascal

LA PASCALSe If

Então Then

Senão Else

Enquanto While

Faça Do

Repita Repeat

Para For

Até Until / To

:=

Page 10: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL10

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, !, ?, /, *, &, $, %, ...

Page 11: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL11

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

Page 12: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL12

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

Page 13: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL13

Sintaxe de um Programa

Todo programa em PASCAL deve ter a seguinte forma:program <nome>;<bloco>.

Onde:<nome> - nome do programa<bloco> - corpo do programa

Page 14: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL14

O <bloco> é formado por:declaraçõesbegin

seqüência de comandosend

E as declarações de variáveis:var lista-de-variáveis: tipo;onde tipo=integer, real, boolean, string, char.

Bloco do programa

Page 15: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL15

Em pascal, o programador também tem a liberdade de definir um novo tipo;

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;

Definição de novos tipos (type)

Page 16: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL16

Comentários

Usado apenas para aumentar a clareza do programa, não é analisado pelo computador:

{ comentário } ou (* comentário *)

var matr: string; { nr. de matricula }nota: real; { nota de prova }cod: integer; (* código do

curso *)

Page 17: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL17

Expressões

Aritméticas Lógicas Literais

Page 18: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL18

Expressões Aritméticas Ordem de prioridade:

– 1a: *, /, div, mod– 2a: +, -

div - quociente da divisão inteira mod - resto inteiro da divisão inteira

exemplo1: x = 11 div 4 = 2, y = 11 mod 4 = 3

exemplo2: u = sqrt(p*(p-a)*(p-b)*(p-c))

exemplo3: v = exp(b*ln(a)) = eb*ln a

Page 19: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL19

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 dos operadores lógicos e aritméticos

– 1a: not– 2a: *, /, div, mod, and– 3a: +, -, or– 4a: =, <>, <, <=, >=, >, in

Page 20: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL20

Expressões Literais Retorna caracter: chr(cod)

{ cod = código ASCII (American Standard Code for Information Interchange) }

Retorna código ASCII : ord(ch) {ch = caracter }

Sucessor do caracter: succ(ch) Antecessor do caracter: pred(ch) Ex: chr(65) retorna ‘A’;

ord( 'C' ) retorna 67;

succ( 'd' ) retorna ‘e’;

pred( 'd' ) retorna ‘c’;

Page 21: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL21

Comando de Atribuição Identificador := expressão

var A, B, X, Y: integer;K, Media: real;teste: boolean;cor: string;

K:=1;A:=K;Media := (A+B)/2;teste := (X=0) and (Y<>2);cor := ‘verde’;

Page 22: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL22

Entrada e Saída (E/S) As ações que executam estas tarefas são:

– Obter dados: • leia(dado1, …, dadon);

– Apresentar dados: • escreva(dado1, …, dadon);

Exemplos:– leia(NOME, IDADE);– leia(PRODUTO, QUANTIDADE, VALOR);– escreva(SOMA, MÉDIA);– escreva(“Nome: ”, NOME, “Idade: ”, IDADE);

Page 23: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL23

E/S

leia(A, B, C)

leiaA, B, C

escreva(A, B, C)Pseudocódigo

Fluxograma

Pascalwrite(A, B, C)

ouwriteln(A, B, C)

read(A, B, C)ou

readln(A, B, C)

escrevaA, B, C

Page 24: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL24

Comandos de Entrada e Saída Leitura

program leitura;var n: integer;

nota: real;begin

readln (n, nota); readln (n, nota); read (n, nota); read (n, nota); { a diferença é que o readln gera uma mudança de linha após a leitura dos valores }

end.

Entrada:1 6,5 2 7,03 8,0 4 9,05 5,0 6 4,07 3,0 8 9,5

n, nota ?

Page 25: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL25

Comandos de Entrada e Saída Escrita

var n, p: string; x, a: integer;

beginx := 0;read (n,a);x := x + a; p := n;write (p,x);a := x + a;writeln (a);x := x + a;write (n, x, a);

end.

Entrada:Joao 25

Saída ?

Page 26: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL26

Comandos de Entrada e Saída Formatação na escrita

program formata;var a,b: real;

k,l: char;begin

a:=3.2; b:=5.81; k:=‘x’; l:=‘y’; write (a:4:2, k:2, ‘+’, b:5:2, l:2, ‘=‘ , a+b:7:3);

end.

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

Obs.: O caracter ‘_’ neste caso simboliza o espaço vazio.

Page 27: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL27

Exemplo do programa para calcular a área do triângulo retângulo:

Mapeando Programas para Pascal

Linguagem Algoritmicainício declare base, altura, área: real; leia (base, altura); área (altura*base)/2; escreva (área);fim

PascalProgram Area_Triangulo;Var area, altura, base: real;begin write (‘Digite a altura do triangulo: ‘); Readln(altura); write (‘Digite a base do triangulo: ‘); Readln(base); area := altura*base/2; write (‘A área do triângulo é igual a: ‘,area);End.

Observe que as instruções read e write servem para ler dados fornecidos pelo usuário e para escrever informações na tela, respectivamente. Estas duas instruções podem ser seguidas por ln e, neste caso uma linha será pulada na tela após a execução da instrução.

Page 28: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL28

Observe que neste primeiro exemplo, não tivemos a oportunidade de verificar o resultado final emitido pelo algoritmo; POR QUE ISTO ACONTECE?

Podemos resolver tal problema acrescentando a instrução readkey; imediatamente após informarmos o resultado final encontrado pelo algoritmo;– Obs: esta instrução só será reconhecida se logo

após a linha de program for colocada a seguinte instrução: uses crt;

Feito isto, pode-se percebe que o resultado final aparece numa notação científica nada agradável, isto pode ser alterado através da seguinte mudança:

write (‘A área do triângulo é igual a: ’ ,area:2:2);

Mapeando Programas para Pascal

Page 29: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL29

Observe ainda que a cada nova execução do programa aparecem “lixos” na tela, referentes às execuções anteriores. Isto pode ser eliminado com uma instrução apropriada para limpar a tela: clrscr;

(que vem do inglês clear screen) Assim, o algoritmo ficaria da seguinte forma:

Mapeando Programas para Pascal

PascalProgram Area_Triangulo;Uses crt;Var area, altura, base: real;Begin clrscr; write (‘Digite a altura do triangulo: ‘); Readln(altura); write (‘Digite a base do triangulo: ‘); Readln(base); area := altura*base/2; write (‘A área do triângulo é igual a: ‘,area:2:2); readkey;End.

Page 30: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL30

File Edit Run Compile Options Debug Break/Watch

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

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.

2 - Compile (ou ALT-F9)

1 - Save as

3 - Run (ou CTRL-F9)

Exemplo

Page 31: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL31

Exercício de Sala

Programa 1 - Leia 4 números e imprima a média.

Programa 2 - Leia o valor da temperatura em graus Celsius e transforme para Farenheit.

Use a fórmula: C = 5/9*(F-32)

Page 32: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL32

Sumário da metodologia de soluçãoPara solucionar um problema em computação siga os

seguintes passos:

1. Assegurar-se do entendimento completo da especificação do problema

2. Formular um esboço geral do algoritmo para a solução do problema, prestando pouca atenção a detalhes específicos. Esta será a primeira tentativa de expressar a estratégia de sua solução. Assegurar a si próprio que a estratégia está correta.

Page 33: Linguagem PASCAL  Definição e Tipos de Dados

Linguagem PASCAL33

Sumário da metodologia de solução

3. Identificar e listar qualquer variável que você sinta ser necessária. Esta lista é somente uma primeira aproximação do conjunto final de variáveis; ela pode ser aumentada ou diminuída se necessário.

4. Retornar aos passos iniciais do algoritmo e prosseguir com o detalhamento. Cada vez que um passo é desdobrado em vários outros mais detalhados, verificar se estes novos passos executam a função expressa no passo original.

5. Teste o algoritmo com exemplos.