View
34
Download
1
Category
Preview:
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
Citation preview
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.
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.
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.”
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.
Linguagem PASCAL5
Etapas
1) Definição do problema2) Desenvolvimento de um algoritmo3) Transcrição para PASCAL4) Digitação do programa5) Compilação6) Execução
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.
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).
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
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
:=
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, !, ?, /, *, &, $, %, ...
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
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...
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
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
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)
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 *)
Linguagem PASCAL17
Expressões
Aritméticas Lógicas Literais
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
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
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’;
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’;
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);
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
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 ?
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 ?
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.
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.
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
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.
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
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)
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.
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.
Recommended