Vous êtes sur la page 1sur 42

Universidade Lrio

Faculdade de Engenharias

Engenharia Informtica
FUNDAMENTOS DE PROGRAMAO- FP

Linguagem Pascal

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Introduo
Algoritmo
a descrio, de forma lgica, dos passos a serem
executados no cumprimento de determinada tarefa;
Programa
a formalizao de um algoritmo em uma determinada
linguagem de programao.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Introduo
Linguagem de Programao
um conjunto de smbolos (comandos, identificadores,
caracteres ASCII, etc. ... ) e regras de sintaxe que
permitem a construo de sentenas que descrevem de
forma precisa aes compreensveis e executveis para o
computador;

LP = SMBOLOS + REGRAS DE SINTAXE.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Critrios de Qualidade
Integridade: os resultados gerados pelo processamento
do programa devem estar corretos, caso contrrio o
programa no tem sentido;
Clareza: refere-se facilidade de leitura do programa,
possibilitando a continuidade por outros programadores;
Simplicidade: objetividade na programao;

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Critrios de Qualidade
Eficincia: refere-se velocidade de processamento e a
correta utilizao da memria;
Modularidade: consiste no particionamento do programa
em mdulos menores; bem identificveis e com funes
especficas;
Generalidade: interessante que um programa seja to
genrico quanto possvel de forma a permitir a
reutilizao de seus componentes em outros projetos.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
A linguagem Pascal
Histrico
desenvolvida nos anos entre 1968 e 1970 por Nicklaus
Wirth, na Universidade Tcnica de Zurique, Sua;
Objetivo
desenvolver uma linguagem de programao disciplinada de
alto nvel para ensinar programao estruturada;
Pascal
homenagem a Blaise Pascal, filsofo e matemtico francs
que viveu entre 1623 e 1662.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Conceitos Bsicos
Qual o tipo de linguagem que o computador
entende?
Linguagem de mquina.
Como podemos fazer a traduo de uma linguagem
de programao para linguagem de mquina?
Usando um compilador ou interpretador.
Como um programa executado no computador?
Primeiro ele carregado na memria e depois cada
instruo executada de acordo com a lgica do
programa.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Etapas
1) Definio do problema
2) Desenvolvimento de um algoritmo
3) Transcrio para PASCAL
4) Digitao do programa
5) Compilao
6) Execuo

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Passos para construo de algoritmos
Ler atentamente o enunciado do problema a ser
resolvido;
Identificar quais so as entradas (ou seja, o que
fornecido) para a soluo do problema;
Identificar o que deve ser feito para, a partir das
entradas, produzir as sadas.
Um algoritmo pode ser visto como uma funo que leva as
entradas para sadas.
No processo, tentar achar uma soluo prtica para
resolver o problema e depois escreve-la na linguagem
algortmica.
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Termos em Pascal
Equivalncia de termos entre a Linguagem
Algortmica e Pascal:

LA PASCAL
declare Var
Incio Begin
Fim End
Caracter Char
Inteiro Integer
Real Real
Lgico Boolean
Leia Read
Escreva Write
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Termos em Pascal
Equivalncia de termos entre a Linguagem
Algortmica e Pascal:

LA PASCAL
Se If
Ento Then
Seno Else
Enquanto While
Faa Do
Repita Repeat
Para For
At Until / To
:=
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Estrutura de um Programa
Cabealho

rea de declaraes

Corpo do programa

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Cabealho
utilizada para se fazer a identificao do
programa com um nome;
atribudo pela instruo program
seguida de um nome e um smbolo ponto-
e-vrgula (;) no final;
exemplo
program CALCULA_AREA;

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
rea de declaraes
utilizada para validar o uso de qualquer tipo
de identificador que no seja predefinido;
subdividida em sete sub-reas: uses, label,
const, type, var, procedure e function;
var utilizada na declarao das variveis
que sero utilizadas durante a execuo de
um programa;

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
var exemplo
var
NOME : string;
IDADE : integer;
ALTURA : real;

ou
var
A, B, C : integer;

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Corpo do Programa
esta rea tem incio com a instruo begin e finalizada
pela instruo end.
begin
instrues;
(...)
end.

Nesta rea, podero existir, dependendo da necessidade,


vrios blocos.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Comentrios
Usado apenas para aumentar a clareza do programa, no
analisado pelo computador:
{ comentrio } ou (* comentrio *)

var matr: string; { nr. de matricula }


nota: real; { nota de prova }
cod: integer; (* cdigo do curso *)

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Exemplo
program ADICIONA_NUMEROS;
var
X : integer;
A : integer;
B : integer;
begin
readln(A);
readln(B);
X := A + B;
writeln(X);
end.
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Palavras Reservadas

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Tipos de Dados
Inteiros
Reais
Caracteres
Lgicos

var
nome : string[50];
nota1, nota2 : integer;
media : real;
aprovado : boolean;
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Constantes
um valor que no pode ser alterado durante a execuo
do programa;
Seu tipo definido por seu contedo.
Sintaxe:
const
identificador=expresso;
identificador=expresso;

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Exemplo
programArea_Circulo;
{Programaparacalcularareadeumcrculo.}
const
PI=3.141519265;
var
Area,Comprimento,Raio:real;
begin
writeln(DigiteoRaio:);
readln(Raio);
Area:=PI*Raio*Raio;
Comprimento:=2*PI*Raio;
writeln(rea=,Area);
writeln(ComprimentodaCircunferencia=,
Comprimento);
end.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Operadores e Expresses
Prioridade das Operaes
Tipos de Expresses
Tipos de Operadores
Operador de Atribuio
Operadores Aritmticos
Operador de Concatenao
Operadores Relacionais
Operadores Lgicos
Funes Pr-definidas

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Prioridade das Operaes

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Tipos de Expresses
Numrica
Quando os seus operandos so numricos
(inteiros ou reais) e o resultado tambm um
valor numrico;
Literal
Quando os seus operandos so literais do tipo
string e o resultado tambm um valor literal;
S existe um nico operador para se usar em
expresses literais Concatenao ( + );
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Tipos de Expresses
Boolena
Quando seu resultado do tipo boolean (TRUE ou FALSE),
podendo seu operando ser de qualquer tipo de dados.

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Tipos de Operadores
Operador de Atribuio
Operadores Aritmticos
Operador de Concatenao
Operadores Relacionais
Operadores Lgicos

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Operador de Atribuio

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Operadores Aritmticos

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Operador de Concatenao

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Operadores Relacionais

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Operadores Lgicos

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Operadores Lgicos

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Funes Pr-definidas

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Entrada e Sada (E/S)
As aces que executam estas tarefas so:
Obter dados:
leia(dado , , dado );
1 n

Apresentar dados:
escreva(dado , , dado );
1 n

Exemplos:
leia(NOME, IDADE);
leia(PRODUTO, QUANTIDADE, VALOR);
escreva(SOMA, MDIA);
escreva(Nome: , NOME, Idade: , IDADE)

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
E/S
Pseudocdigo leia(A, B, C) escreva(A, B, C)

leia escreva
Fluxograma A, B, C
A, B, C

read(A, B, C) write(A, B, C)
Pascal ou ou
readln(A, B, C) writeln(A, B, C)

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Comandos de EntradaEntrada:
e Sada
Leitura 1 6,5 2 7,0
program leitura; 3 8,0 4 9,0
var n: integer; 5 5,0 6 4,0
nota: real; 7 3,0 8 9,5
begin
readln (n, nota); n, nota ?
readln (n, nota);
read (n, nota);
read (n, nota);
{ a diferena que o readln gera uma mudana de linha aps a
leitura dos valores }
end.
9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Exerccio de Sala
Programa 1 - Leia 4 nmeros e imprima a mdia.
Programa 2 - Leia o valor da temperatura em graus
Celsius e transforme para Farenheit.
Use a frmula: C = 5/9*(F-32)

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio
Obrigado pela ateno

9/1/17 Eng. Maurcio Filipe Joo Quembo & Eng. Francisco Araujo Antnio

Vous aimerez peut-être aussi