Você está na página 1de 32

Escola Bsica e Secundria de Vila Franca do Campo

Material elaborado pela Prof ina Cust!dio


Linguagem PASCAL 1

Origem
Linguagem de programao largamente utilizada no ensino-aprendizagem de programao de computadores; Criada por Niklaus Wirth em 1972 na !ni"ersidade #$cnica de %uri&ue 'uia; ( seu nome homenageia o matem)tico *laise +ascal ,1-2.-1--2/; 01istem ")rios compiladores para esta linguagem o mais comum no am2iente acad$mico $ o #ur2o +ascal da *orland3
Linguagem PASCAL "

Algoritmo x Programa
Algoritmo4 5Con6unto de etapas 7initas
ordenadamente de7inidas com o prop8sito de o2ter solu9es para um determinado pro2lema3:

Programa4 5;ormalizao de um algoritmo


em uma linguagem intelig<"el pelo computador3:

Linguagem PASCAL

Conceitos Bsicos
=ual o tipo de linguagem &ue o computador entende> Linguagem de m)&uina3 Como podemos 7azer a traduo de uma linguagem de programao para linguagem de m)&uina> !sando um compilador ou
interpretador3

Como um programa $ e1ecutado no computador>


+rimeiro o programa $ carregado na mem8ria e depois cada instruo $ e1ecutada de acordo com a l8gica do programa3
Linguagem PASCAL $

Etapas
1/ ?e7inio do pro2lema 2/ ?esen"ol"imento de um algoritmo ./ #ranscrio para +@'C@L A/ ?igitao do programa B/ Compilao -/ 01ecuo

Linguagem PASCAL

Passos para construo de algoritmos


Ler atentamente o enunciado do pro2lema a ser resol"ido; Cdenti7icar &uais so as entradas ,ou se6a o &ue $ 7ornecido/ para a soluo do pro2lema; Cdenti7icar o &ue de"e ser 7eito para a partir das entradas produzir as sa<das3 !m algoritmo pode ser "isto como uma 7uno &ue le"a as entradas para sa<das3 No processo tentar achar uma soluo pr)tica para resol"er o pro2lema e depois escre"D-la na linguagem algor<tmica3
Linguagem PASCAL &

Termos em Pascal
0&ui"alDncia de termos entre a Linguagem @lgor<tmica e +ascal4
LA
declare Incio Fim Caracter Inteiro Real Lgico Leia Escreva Var Begin End Char Integer Real Boolean Read Write
Linguagem PASCAL '

PASCAL

)ermos em Pascal

Equivalncia de termos entre a Linguagem !lgortmica e "ascal#


LA
$e Ent&o $en&o Enquanto Fa(a Re*ita "ara !t+ I% 'hen Else While )o Re*eat For ,ntil - 'o #.
Linguagem PASCAL (

PASCAL

Constantes (CONST)
Ealor 7i1o3 No muda durante a e1ecuo de um programa +odem ser num$ricas l8gicas ou al7anum$ricas ,literais/ 014
num$ricas4 2B F.A -.1B -G3B. 73H0-. 31. l8gicas4 true 7alse al7anum$ricas4 @-% a-z G-9 I > J K L M N 333

Linguagem PASCAL

ari!eis ( A")
'o representadas por identi7icadores ;ormado por4
uma letra ou uma letra seguida de letras ou d<gitos4
014 @ Nota matricula 1 a a1 a2 2d @.2* OaiPsculas so iguais a minPsculas4 @* Q a*

Linguagem PASCAL

1+

Pala!ras "eser!adas
Cdenti7icadores utilizados na linguagem
and arraR 2egin case const di" do doSnto else end 7ile 7or 7unction goto i7 in la2el mod nil not o7 or packed procedure program record repeat set then to tRpe until "ar Shile Sith3

Cdenti7icadores de signi7icado de7inido


input output integer real read Srite etc333
Linguagem PASCAL 11

Sintaxe de um Programa
#odo programa em +@'C@L de"e ter a seguinte 7orma4
program TnomeU; T2locoU3
(nde4 TnomeU - nome do programa T2locoU - corpo do programa

Linguagem PASCAL

1"

Bloco do programa
( T2locoU $ 7ormado por4

declara9es #egin se&uDncia de comandos end


0 as declara9es de "ari)"eis4

!ar

lista-de-"ari)"eis4 tipo;

onde tipo=integer, real, boolean, string, char.


Linguagem PASCAL 1#

$e%inio de no!os tipos (t&pe)


0m pascal o programador tam2$m tem a li2erdade de de7inir um no"o tipo; !ma "ez de7inido o no"o tipo este passa a ser re7erenciado pelo seu identi7icador; 01emplo4 t&pe 'ndices ( )**+,.etras ( /A/**/0/1aixa ( 2,**,!ar codigo3 integerteste3 #ooleanletra3 .etras-

Linguagem PASCAL

1$

Comentrios
!tilizado apenas para aumentar a clareza do programa no $ analisado pelo computador4 V coment)rio W !ar ou ,K coment)rio K/ 4 nr* de matricula 5 4 nota de pro!a 5 (6 c7digo do curso 6)

matr3 stringnota3 realcod3 integer-

Linguagem PASCAL

1%

Express8es
@ritm$ticas L8gicas Literais

Linguagem PASCAL

1&

Express8es Aritm9ticas
(rdem de prioridade4

1a4 K J di" mod 2a4 F di! - &uociente da di"iso inteira mod - resto inteiro da di"iso inteira
e1emplo14 1 Q 11 di" A Q 2 R Q 11 mod A Q . e1emplo24 u Q s&rt,pK,p-a/K,p-2/K,p-c// e1emplo.4 " Q e1p,2Kln,a// Q e2Kln a

Linguagem PASCAL

1'

Express8es .7gicas
Xela9es

@TU* nomeQYZooY aTG 1U1


(peradores l8gicos

p and & p or & not p 014 ,idadeU2B/ and ,nomeQYOariaY/


+rioridade dos operadores l8gicos e aritm$ticos :a3 not ;a3 6< =< di!< mod< and ,a3 >< 2< or ?a3 (< @A< @< @(< A(< A< in

Linguagem PASCAL

1(

Express8es .iterais
Xetorna caracter4

cBr(cod) ord(cB) Vch Q caracter W pred(cB)

V cod Q c8digo @'CCC ,American Standard Code for Information Interchange/ W

Xetorna c8digo @'CCC 4 'ucessor do caracter4

succ(cB)

@ntecessor do caracter4
014 chr,-B/ retorna [@\; ord, ]C] / retorna -7; succ, ]d] / retorna [e\; pred, ]d] / retorna [c\;

Linguagem PASCAL

1*

Comando de Atri#uio
Cdenti7icador 4Q e1presso !ar A< B< C< D3 integerE< Fedia3 realteste3 #ooleancor3 stringE3(:A3(EFedia 3( (A>B)=;teste 3( (C()) and (D@A;)cor 3( G!erdeH-

Linguagem PASCAL

"+

Entrada e SaIda (E=S)


@s a9es &ue e1ecutam estas tare7as so4
(2ter dados4
ler,dado1 ^ dadon/;

@presentar dados4
escre"er,dado1 ^ dadon/;

01emplos4
ler,N(O0 C?@?0/; ler,+X(?!#( =!@N#C?@?0 E@L(X/; escre"er,'(O@ O_?C@/; escre"er,5Nome4 : N(O0 5Cdade4 : C?@?0/;

Linguagem PASCAL

"1

E=S
Pseudocdigo ler(A, B, C) escrever(A, B, C)

Fluxograma

leia !/ B/ C

escreva !/ B/ C

Pascal

read(A, B, C) ou readln(A, B, C)
Linguagem PASCAL

write(A, B, C) ou writeln(A, B, C)
""

Comandos de Entrada e SaIda


Leitura
program leitura; (-+ $ *-+ "ar n4 integer; %-+ & $-+ nota4 real; 2egin #-+ ( *-% readln ,n nota/; readln ,n nota/; n- nota . read ,n nota/; read ,n nota/; V a di7erena $ &ue o readln gera uma mudana de linha ap8s a leitura dos "alores W end3

Entrada, 1 # % '

&-% " '-+

Linguagem PASCAL

"#

Comandos de Entrada e SaIda


0scrita
"ar n p4 string; 1 a4 integer; 2egin 1 4Q G; read ,n a/; 1 4Q 1 F a; p 4Q n; Jrite ,p 1/; a 4Q 1 F a; Jriteln ,a/; 1 4Q 1 F a; Jrite ,n 1 a/; end3
Linguagem PASCAL

Entrada, /oao "% Sa0da .

"$

Comandos de Entrada e SaIda


;ormatao na escrita
program 7ormata; "ar a 24 real; k l4 char; 2egin a4Q.32; 24QB3H1; k4Q[1\; l4Q[R\; Jrite ,a4A42 k42 [F\ 24B42 l42 [Q[ aF2474./; end3

'a<daQ.32G`1F`B3H1`RQ``93G1G
1bs2, 1 caracter 345 neste caso simboli6a o espa7o 8a6io2
Linguagem PASCAL "%

01emplo do programa para calcular a )rea do triangulo retangulo4


Linguagem Algoritmica
incio declare base, altura, rea: real; leia (base, altura); rea (altura*base)/2; escreva (rea); fim

Passo a passo Programas para Pascal


Pascal
Program Area_ riangulo; !ar area, altura, base: real; begin "rite (#$igite a altura do triangulo: #); %eadln(altura); "rite (#$igite a base do triangulo: #); %eadln(base); area :& altura*base/2; "rite (#A rea do tri'ngulo ( igual a: #,area); )nd*

1bser8e 9ue as instru7:es read e "rite ser8em para ler dados fornecidos pelo utili6ador e para escre8er informa7:es no ecr;respeti8amente2 Estas duas instru7:es podem ser seguidas por ln eneste caso uma lin<a ser dei=ada em branco no ecr; ap!s a e=ecu7;o Linguagem PASCAL da instru7;o2

"&

Passo a passo Programas para Pascal


(2ser"e &ue neste primeiro e1emplo no ti"emos a oportunidade de "eri7icar o resultado 7inal emitido pelo algoritmo; +(X=!0 _ =!0 C'#(

@C(N#0C0>
+odemos resol"er tal pro2lema acrescentando a instruo readkey; imediatamente ap8s in7ormarmos o resultado 7inal encontrado pelo algoritmo; (2s4 esta instruo s8 ser) reconhecida se logo ap8s a linha de program 7or colocada a seguinte instruo4 uses crt; ;eito isto perce2e &ue o resultado 7inal aparece numa notao cient<7ica nada agrad)"el isto pode ser alterado atra"$s da seguinte mudana4 Linguagem PASCAL "rite (#A rea do tri'ngulo ( igual a: + ,area:2:2);

"'

(2ser"e ainda &ue a cada no"a e1ecuo do programa aparecem 5li1os: no ecr re7erentes bs e1ecu9es anteriores3 Csto pode ser eliminado com uma instruo apropriada para limpar o ecr4 clrscr; (&ue "em do inglDs clear screen) @ssim o algoritmo 7icaria da seguinte 7orma4
Pascal Program Area_ riangulo; ,ses crt; !ar area, altura, base: real; -egin clrscr; "rite (#$igite a altura do triangulo: #); %eadln(altura); "rite (#$igite a base do triangulo: #); %eadln(base); area :& altura*base/2; "rite (#A rea do tri'ngulo ( igual a: #,area:2:2); read.e/; Linguagem PASCAL )nd*

Passo a passo Programas para Pascal

"(

Exempl o

1 J Kuardar " J Compilar FF*G

Arquivo Editar Compilar Ferramentas /anela A>uda


program AreaCirculo@ const A Beclara7;o de constantes C PD E #21$1%*"&@ var A Beclara7;o de Vari8eis C raio , real@ area, real@ begin A Comandos do Programa C write F3Forne7a o raio, 3G@ readln FraioG@ area ,E PDHFraioHraioG@ writeln F3Irea E 3- areaG@ end.

?atc<

Linguagem PASCAL

"*

ExercIcio
+rograma 1 - Leia A nPmeros e imprima a m$dia3 +rograma 2 - Leia o "alor da temperatura em graus Celsius e trans7orme para ;arenheit3
!se a 78rmula4 C = 5/9*(F-32)

Linguagem PASCAL

#+

Sumrio da metodologia de soluo


+ara solucionar um pro2lema em computao siga os seguintes passos4 13 @ssegurar-se do entendimento completo da especi7icao do pro2lema 23 ;ormular um es2oo geral do algoritmo para a soluo do pro2lema prestando pouca ateno a detalhes espec<7icos3 0sta ser) a primeira tentati"a de e1pressar a estrat$gia de sua soluo3 @ssegurar a si pr8prio &ue a estrat$gia est) correta3

Linguagem PASCAL

#1

Sumrio da metodologia de soluo


.3 Cdenti7icar e 7azer uma listagem de &ual&uer "ari)"el &ue ache &ue "ai ser necess)ria3 0sta lista $ somente uma primeira apro1imao do con6unto 7inal de "ari)"eis; ela pode ser aumentada ou diminu<da se necess)rio3 A3 Xetornar aos passos iniciais do algoritmo e prosseguir com o detalhe3 Cada "ez &ue um passo $ desdo2rado em ")rios outros mais detalhados "eri7icar se estes no"os passos e1ecutam a 7uno e1pressa no passo original3 B3 #este o algoritmo com e1emplos3
Linguagem PASCAL #"

Você também pode gostar