Sie sind auf Seite 1von 167

ESTUDO SOBRE O TURBO PASCAL Autor: Heldio de Oliveira

Novembro 2!
C O N T E " D O
1. ORIGEM E USO DO TB
Histrico
Convenes a serem usadas neste estudo
Abrir TP
Digitar um programa TP
Comandos usados durante a codificao
A gravao
Testar e corrigir erros
Imprimir
Tornar o programa executve !"#"$
2. CONCEITOS PRELIMINARES

Tipos de dados
%arive
Constante
"strutura de um programa na inguagem TP
Codificao de um programa
&avar este programa no drive A !dis'uete$ com o nome ()&*+A))
Tornar um programa executve
3. TERMOS, NORMAS E COMANDOS DO TP Verso 6.0
&trings
Atribuio de vaores ,s variveis
Comentrios
Deimitador de faixas
%ariveis usadas no corpo do programa
Instrues ! comandos- ordens $
%aor inicia de uma varive
Comandos de entrada !.eitura$
Comandos de sa/da !"scrita$
0ead1e2
Crscr
3otox2!a-b$
Creo
Insine
Deine
TexCoor!b2te$
Dea2!4555$
$7 { Bip }
1
Window(a,b,c,d)
Declarao Type
SET - !!" - !E#$!D - %&'E
(ni)*
'abel e +o)o
$peradore*
%,n-e* e procedi.en)o* para con)role de /0deo
(pca*e
3. ESTRUTURAS DE DECISO

&1 DE SE'E2$
13) #a*o !epe)io *i.ple* con)endo ,. 4nico co.ando IF ... THEN *e.
bloco
53) #a*o !epe)io *i.ple* con)endo /6rio* co.ando* IF ... THEN co.
bloco
73) #a*o !epe)io co.po*)a con)endo ,. 4nico co.ando IF ... THEN ...
ELSE *e. bloco
83) #a*o !epe)io co.po*)a con)endo ,. /6rio* co.ando9 IF ... THEN ...
ELSE co. doi* bloco*
:3) #a*o &% ;,n)o co. <D, $! o, <$T IF ... AND(OR, NOT) THEN
&&1 IF ELSE IF *eleo encadeada

&&&1 CASE ( Seleo de .4l)ipla E*col=a )
&>1 DE !E?ET&2@$
13) #a*o De repe)io indeAinida co. )e*)e no in0cio WHILE ... DO
53) #a*o De repe)io indeAinida co. )e*)e no Ainal REPEAT ... UNTIL
73) #a*o !epe)io co. /ari6/el de con)role Caso FOR ... TO ... DO
5. ESTRUTURAS CONSTRUDAS

a) >e)or
b) Ba)ri9e*
c) !eCi*)ro*
13) !eCi*)ro* *i.ple* *o.en)e co. )ipo* b6*ico*
53) !eCi*)ro* *i.ple* co. )ipo* b6*ico* e con*)r,0do* ( !eCi*)ro de #on;,n)o)
73) !eCi*)ro #o.po*)o o, #on;,n)o de !eCi*)ro
(*o da declarao (co.ando) W&TD
6. SU!ROTINAS (SR)

4 #lr*cr
4 +o)oEy(a, b)
13) ?roced,re
53) %,nc)ion
". PRO#RA$A%O ESTRUTURADA
&. ESCOPO DE 'ARI('EIS, PAR)$ETROS E PASSA#E$ DE PAR)$ETROS
5
*. AR+UI'OS
Q %&'E
Q TEFT

+ Co,a-.os .o a/0123o FILE4
1 Declarao
1 a**iCn
1 rewri)e
1 re*e)
1 &ore*,l)
1 read G readln
1 wri)e G wri)eln
1 clo*e
1 ?on)eiro
1 E$%
1 SeeH
1 %ilepo*
1 %ile*e9e
1 SeeHIno.e lJCico arK,i/oL, %ile*i9e(o.e lJCico arK,i/o)M
Co,a-.os .o a/0123o 56754
1 declarao, a**iCn, rewri)e, re*e), iore*,l), read-readln, wri)e-wri)eln, clo*e
1 ppend
89. SU!RFOTINAS (SICAS
88. +UESTION(RIO
11 En,nciado*
51 !e*po*)a*
8:. E;E$PLOS DE PRO#RA$AS PARA AN(LISE E APRENDI<A#E$ DA TEORIA.
83=. U$ >PRO?ETINHO@ $UITO LE#AL
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
#$ OR%&E' E USO DO TURBO PASCAL
H2s5B/2Co ! $ ?a*cal N ,. aplica)i/o K,e Aoi criado por /ol)a de 1O7P pelo proAe**or
<iHla,* Wir)= da (ni/er*;dade de Q,riK,e (S,0a), )o.ando por ba*e a* linC,aCen* lCol
e ?'R& K,e ;6 eEi*)ia. de*de 1OSP1 $ no.e T?a*calU Aoi a)rib,0do e. =o.enaCe. ao
no)6/el AilJ*oAo e .a)e.6)ica ArancV* c=a.ado Blai*e ?a*cal ( 1S57R1SS5)1
W Jb/io K,e no decorrer do )e.po e*)a linC,aCe. Aoi *e e/ol,indo e ,.a *Nrie de
no/a* /er*-e* Aoi aparecendo, *endo a 71P ,.a da* .ai* recen)e*1 * 4l)i.a* /er*-e* Aora.
di/,lCada* co. o no.e de T(!B$ ?S#' { abre/iaoX T? }1 $ T? N TrodadoU no
a.bien)e do BS-D$S1
7
#o.o acon)ece co. )odo* o* aplica)i/o*, para *er ,*ado o T? preci*a *er in*)alado no
*e, Bicro1 $ proCra.a de/e *er Tno.eadoU e TarK,i/adoU n,.a Das5a, para K,e AiK,e Y
di*po*io do in)ere**ado1 $ T? pode *er adK,irido de /6ria* .aneira*X a)ra/N* da
&n)erne) o, e. 'o;a* de &nAor.6)ica1
Co-36-EF6s a s6/6, 1sa.as -6s56 6s51.o ! no)ao Z 111 [ *iCniAica dar ,.
cliK,e *i.ple* , ZZ 111 [[ \ cliK,e d,plo , Z D 111 [ \ cliK,e co. o bo)o direi)o e
I F L \ pre**ionar a )ecla F1
AG/2/ o TP ! $ in)ere**ado de/e criar ,. a)al=o na De*H)op { 6rea de )rabal=o }
para o T?, a Ai. de poder ace**6-lo co. .aior Aacilidade1 (. cliK,e d,plo no 0cone
de*)e a)al=o coloca a ;anela de aber),ra do T? na )ela do co.p,)adorX ZZ 0cone de a)al=o
do T? [[1 E*)a ;anela apre*en)a a Barra ( o, Ben, ) de co.ando* na par)e *,perior1 E*)a
barra con)N. o* *eC,in)e* co.ando*X Aile {lV-*eX A6il arK,i/o}, edi) {lV-*eX N]di)
edi)ar, p,blicar, )ra9er para a )ela K,alK,er )ipo de inAor.ao Cra/ada}, *earc= { lV-*eX
*Vr)c= pe*K,i*a, pe*K,i*ar}, r,n { lV-*eX r^n correr, rodar, eEec,)ar, proce**ar},
co.pile { lV-*eX cJ.p6]il co.pilar, co.por, re*,.ir}, deb,C { lV-*eX deb^C
dep,rar \ proc,rar erro* de lJCica}, op)ion* { lV-*eX J]p*=an opo, e*col=a,
al)erna)i/a}, window { lV-*eX ,in]do ;anela} e =elp {lV-*eX =Nlp a;,da, a,E0lio}1
)ela padro do T? aparece e. cor a9,l, ;6 co. o T)racin=oU pi*can)e K,e indica o local
onde o in)ere**ado de*e;a iniciar a diCi)ao1 ?or)an)o, ne*)e a.bien)e ;6 *e pode iniciar
a codiAicao d,. proCra.a T?1 Se a )ela ;6 con)N. alCo diCi)ado, para e*cre/er ,.
no/o proCra.a pode-*e abrir ,.a no/a )ela /a9ia acionando o* co.ando*X Z Aile, new [1
{ <ew 1 lV-*eX ni_4 no/o(a) }.
<o decorrer de*)e e*),do o in)ere**ado )o.ar6 con=eci.en)o de .,i)o* o,)ro*
de)al=e* ineren)e* Y .anip,lao e ,*o de*)e aplica)i/o1
Sa2/ (H6CIa/) o TP ! Z Aile, eEi)[1 {eEi) lV-*eX VH*i) *air }
D2J25a/ 1, D/oJ/a,a TP - 'iCar o Bicro1 ce**ar (\abrir) o T? X ZZ0cone de
a)al=o[[ { )a.bN. pode ,*ar &niciar, o, B#\Be, #o.p,)ador o, WE\Window*
EEplorer }1 )ela de aber),ra do T? ;6 N o Edi)or de TeE)o1 De/e-*e, en)o, diCi)ar a
codiAicao do proCra.a1 &.edia)a.en)e, a *eC,ir, de/e-*e J/a3K!Lo { \ arK,i/a-lo }
&**o N pri.ordial porK,e, *e alC,.a coi*a ocorrer ( e i*)o K,a*e *e.pre acon)ece) e o
)eE)o Aor dele)ado da )ela, /ocV ;6 )e. a Caran)ia da *,a cJpia Cra/ada e no preci*ar6
repe)ir o can*a)i/o )rabal=o de diCi)ar no/a.en)e a reAerida codiAicao1
Co,a-.os 1sa.os .1/a-56 a Co.2H2CaEMo - (. do* co.ando* .ai* ,*ado* d,ran)e
a diCi)ao do proCra.a N o E.25 , ;,n)a.en)e co. CoDN { lV-*eX cJ]pi copiar }, C15
(lV-*eX c^]) recor)ar ) e Pas56 (lV-*eX pV]i*) colar) 1 ?ara ,*ar Z edi), copy o, c,) [
N nece**6rio (ele)io*ar +e()ure)er, o* i)en* K,e de/e. *er .anip,lado*1 'e.bra.o*
K,eX
+ para *elecionar ,.a o, .ai* lin=a* posicionar o Cursor no incio da linha + <
shift + ou L 1 { lV-*eX *=iA) .,dar de l,Car, po*io }
8
+ para *elecionar carac)ere por carac)ere posicionar o Cursor no incio do
primeiro caractere + < shifts>.
+ para *elecionar pala/ra por pala/ra posicionar o Cursor no incio da primeira
palavra + <Shift+Ctrl s >. { C5/L N a )ecla K,e *e lVX C-NTROL. ela /
programvel e *J A,nciona ;,n)o co. o,)ra* )ecla*}
%ei)a a *eleo, para copiar ,*a-*eX Z edi), copyZM para recor)ar ,*a-*eX Zedi), c,)[ e
para colar ,*a-*eX Zedi), pa*)e[1
A J/a3aEMo - W Aei)a a)ra/N* do *eC,in)e procedi.en)oX in*erir di*K,e)e ` Z Aile, *a/e
a* [ ` e*cre/erX adri/eX no.e1 eE)en*o] EEe.ploX aA4 AL1-osAD/o3a.os1D5aO ( aK,i
N indiAeren)e ,*ar le)ra* .ai4*c,la* o, .in4*c,la* )1 %inal.en)e, I E<TE! L o, Z $b [1
?ron)o, o arK,i/o e*)6 Cra/ado { ar.a9enado } no di*K,e)e K,e Aoi colocado no dri/e
( o, no DD *e ,*o, o dri/e #)1
T6s5a/ 6 Co//2J2/ 6//os - pJ* codiAicao, o proCra.a de/e *er eEec,)ado para
K,e *,a A,ncionalidade *e;a )e*)ada1 $* co.ando* para iniciar a eEec,o *oX Z r,n, r,n
[ 1 E. *eC,ida ba*)a Aornecer o* dado* *olici)ado* pelo proCra.a e /eriAicar o K,e
acon)ece a)N c=eCar no re*,l)ado e*perado1 Se eEi*)ir alC,. )ipo de erro o TDep,radorU
e.i)e ,.a .en*aCe. indicando o )al erro e orien)ando *obre o .odo de eAe),ar a
correo1 c .edida K,e o* erro* Aore. aparecendo ele* de/e. *er de/ida.en)e
corriCido* no )eE)o da )ela e na Cra/ao1 pJ* corriCir ,. erro na codiAicao da )ela, a
correo da Cra/ao N Aei)a *i.ple*.en)e acionando I%5L o, Z Aile, *a/e[1 { *a/e
lV-*eX *Vi/ *al/ar, po,par, econo.i9ar }
I,D/2,2/ - pJ* codiAicao e dep,rao o proCra.a )orna-*e ,. .oC1,6-5o K,e
de/e *er de/ida.en)e pre*er/ado1 ?or i**o, alN. da *,a Cra/ao N nece**6rio K,e ele
*e;a i.pre**o, o K,e N Aei)o do *eC,in)e .odoX
'iCar a i.pre**ora ` Z Aile, prin) [1 { prin) lV-*eX pr0n]) X i.pri.ir,
p,blicar } $ doc,.en)o a**i. ob)ido de/er6 *er Aic=ado e C,ardado e. local de in)eira
*eC,rana1 ?or .edida de .aior *eC,rana, .,i)o* proAi**ionai* Aa9e. a)N )rV* cJpia*1
K,i cabe ,.a ob*er/aoX o in)ere**ado no de/e conA,ndir a* )areAa* de i.pri.ir a
codiAicao do proCra.a { K,e N Aacil.en)e Aei)a, conAor.e Aoi eEpo*)o aci.a } e a de
i.pri.ir o* re*,l)ado* ob)ido* da aplicao do proCra.a1 E*)a )areAa N .ai* )rabal=o*a e
depende de ,.a proCra.ao1 <o .o.en)o opor),no /ere.o* K,e e*)a proCra.ao
,*a, ba*ica.en)e, o* co.ando* P/2-56/ { lV-*eX ?r0n])^r i.pre**ora } 6 Ls5. { Aor.a
*i.pliAicada de '&ST '0*]) X li*)ar, e*peciAicar, reCi*)rar, relacionar, 111}
To/-a/ o D/oJ/a,a 676C15K36L ( E;E) - depoi* K,e o proCra.a N Cra/ado e
i.pre**o N preci*o )orn6-lo eEec,)6/el ( i*)o N, EFE), a Ai. de K,e po**a *er eEec,)ado
dire)a.en)e *e. a nece**idade da *,a codiAicao Aicar na )ela1 &*)o N i.por)an)e porK,e
e/i)a do proCra.a *er al)erado, .e*.o K,e in/ol,n)aria.en)e1
?rocedi.en)oX Z co.pile, D e. De*)ina)ion Be.ory[ /ol)a Y )ela ` Z co.pile,
co.pile, De*)ina)ion Di*H[1 ?ron)o, o eEec,)6/el ;6 Aoi criado na pa*)a ?S#' de
ca.in=oX Be, #o.p,)ador d # d T? d ?S#' d ?a*)a con)endo o* Pro0rama(
E1e)utvei( ( *o aK,ele* c,;o* 0cone* *o de*en=o* de ,.a T)ela de T>U e. branco)1
E. *eC,ida, *e o in)ere**ado de*e;ar, poder6 criar ,.a pa*)a *J para o arK,i/a.en)o do*
:
proCra.a* eEec,)6/ei* do T?, e Aa9er a )ran*AerVncia de**e* proCra.a* para e*)a no/a
pa*)a1
?ara ace**ar ,. proCra.a EFE ba*)a dar ,. cliK,e d,plo no *e, 0cone1
$b*er/aoX De(ti*atio* di(2 lV-*eX de*)inVi]*=^n di*H di*co de de*)ino, di*co
de*iCnado1
De(ti*atio* memor3 lV-*eX de*)inVi]*=^n .N].ori .e.Jria de
de*)ino o, de*iCnada1
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
:. CONCE%TOS PREL%'%NARES
T2Dos .6 .a.os - SoX NU'4R%COS { in)eiro* e reai* }, CARACTERES
{ le)ra* e n4.ero* } e L5&%COS { Tr,e 1 lV-*eX )r, >\>erdadeiro e %al*e 1 lV-
*eXAJl]* %\ %al*o }.
'a/2K36L - W ,. *0.bolo K,e repre*en)a ,.a 6rea de .e.Jria1 $ ide*ti6i)ador de
uma varivel N ,.a eEpre**o alAan,.Nrica K,e de/e )er a* *eC,in)e* condi-e*X
e no pode )er e*pao /a9io - e. l,ar do /a9io ,*a-*e u*derli*e1 EEe.ploX
SJciof.a;ori)6rio1
e $ pri.eiro carac)ere no pode *er ,. n4.ero1 EEe.ploX 7<, 8SF, 111
e <o pode *er ,.a pala/ra re*er/ada a ,. co.ando o, )irada de ,.a linC,aCe.
co.p,)acional1 EEe.ploX read, ca*e, clo*e, e)c11
$ ar.a9ena.en)o do* /alore* de K,alK,er /ari6/el na .e.Jria do co.p,)ador *J
pode *er Aei)o por .eio da prJpria /ari6/el1 #o.o procedi.en)o b6*ico ,*a-*eX
,. ide*ti6i)ador 7 *ome 8 para a /ari6/el1 EEe.ploX , l,no, #D, 111
a de)lara9:o do ti;o de i*6orma9:o K,e e*)e iden)iAicador e*)6 repre*en)andoX
in)eCer { lV-*eX 0n])id;^r in)eiro } real, *)rinC { lV-*eX *)r0nn *iCniAica carac)ere,
cadeia de carac)ere, *Nrie, Aila, Aileira, 111 }, e)c11 EEe.ploX X in)eCer, SJcioX *)rinC,
e)c11
<a declarao pode-*e .encionar o /alor inicialX
Nome da <arivel: =ti;o> ? valor i*i)ial.
EEe.plo*X #on)adorX in)eCer\1PM *iCniAicaX a /ari6/el con)ador a**,.e /alore*
in)eiro*, a par)ir do n4.ero 1P1 #X c=ar \ a] *iCniAicaX a /ari6/el de no.e # N do
)ipo c=ar e co.ea pelo /alor { #=ar 1 lV-*eX )c=^r N ,. *)rinC de ,. *J
carac)ereM eEe.ploX S, <, >, %, 111 CHAR N a abre/iao da pala/ra inCle*a #=arac)er
K,e *e lVX HN]rac)^r *iCniAicaX .arca, le)ra, *0.bolo, alCari*.o, )ipo, 111} declarao
de /ari6/ei* na *,b6rea 'a/ apena* Aa9 a re*er/a de ,. e*pao de .e.Jria para ela*,
porN. no a* iniciali9a1 $, *e;a, *e,* /alore* *o de*con=ecido* enK,an)o no *e a)rib,a
/alore* a ela*1
Co-s5a-56 - N ,.a declarao K,e /e. depoi* da *,b6rea (*e* para i*di)ar
e1;re((@e( c,;o* valore( (:o i*altervei( d,ran)e a eEec,o do proCra.a1 *in)aEe NX
I 2.6-52H2Ca.o/ LX 67D/6ssMo=
EEe.plo*X
S
S&B X )r,eM < \ :PM BaE \ 1:PM %X *)rinCZ1g[ ara4;o da Sil/a]M
Be,<o.e \ aD$]M
Es5/151/a .6 1, D/oJ/a,a -a L2-J1aJ6, .o TP - Todo proCra.a codiAicado na
linC,aCe. do T? N co.po*)o de )rV* par)e*X
Cabe9alAo e*peciAica o no.e do proCra.a11 { aK,i pode-*e .encionar o,)ra*
inAor.a-e* )ai* co.o no.e do proCra.ador, da)a, ob;e)i/o, 111}
EEe.ploX Pro0ram AL<ORADA.
Brea de de)lara9:o ,*e*, label, con*), )ype, /ar, proced,re e A,nc)ion1
EEe.ploX
>ar
&,h,bX in)eCerM
<a.eX *)rinCM
!e*pX c=arM
indiceX by)eM { <4.ero* in)eiro* de P a)N 5:: }
>alorX realM
!e*pX booleanM { )r,e o, Aal*e }
<X in)eCer
Cor;o do ;ro0rama N con*)i),0do por ,. bloco1 $briCa)oria.en)e de/e
con)erX be0i* $$$ )oma*do(. $$$ e*d$

$* co.ando* *o *eparado* por ?$<T$ E >i!B('X >=@ . <,.a .e*.a lin=a
pode-*e di*cri.inar di/er*o* co.ando*, de*de K,e *eparado* Do/ >=@ . #ada lin=a
*,por)a no .6Ei.o 157 carac)ere*1 EEe.ploX read()M read(B)M 111
<o decorrer de**e e*),do o in)ere**ado )er6 opor),nidade de )rabal=ar co. e**a
e*)r,),ra Tcen)ena*U de /e9e*1
Co.2H2CaEMo .6 1, D/oJ/a,a - ?ara eAe),ar a codiAicao de ,. proCra.a o
e*),dan)e de/er6 *eC,ir a *eC,in)e orien)aoX
= 'iCar Bicro
= ZZ 0cone de a)al=o do T? [[ coloca o Edi)or de )eE)o na )ela
= DiCi)ar o )eE)o de codiAicao do proCra.a1
X

EEe.ploX
?roCra. ADI%O=
>ar
!, , B X in)eCerM
7
BeCin
wri)e ( a \ a)M readln()M
wri)e ( a B \])M readln(B)M
! X\ ` BM
+o)oEy(1P,1P)M
Wri)eln ( a *o.a N a , ! )M
!eadlnM
end1
EEec,)ar o proCra.a ,*ando \ 57 e B \ 8: %a9erX Z r,n, r,n [ `
Aornecer e**e* /alore* Y* /ari6/ei* e de B o proCra.a Aornecer6 o *eC,in)e
re*,l)ado na )elaX A (oma / CD$
SaL3a/ 6s56 D/oJ/a,a -o ./236 A( .2s01656), Co, o -o,6 >SO$A@ - &n*erir o
di*K,e)e no dri/e ` Z Aile, *a/e a* [ ` diCi)ar o no.eX X S$B ` I En)er L 1
?ron)o, o proCra.a Aico, Cra/ado { *al/o } no reAerido di*K,e)e co. o no.e S$B1
E. *eC,ida o proCra.ador podeX a) )ornar o proCra.a eEec,)6/el e b) criar ,.a
;a(ta *J para alocar { ar.a9enar } proCra.a* eEec,)6/ei*1
To/-a/ 6ss6 D/oJ/a,a E;E - inda co. o di*K,e)e no dri/e , *eC,ir o* *eC,in)e*
co.ando*X Z co.pile, D e. De*)ina)ion Be.ory} /ol)a para a )ela ` Z co.pile,
co.pile, De*)ina)ion Di*H[ o eEec,)6/el N ar.a9enado e. B# d # d T? d ?S#' d
S$B1EFE , onde *e, 0cone -N o de*en=o de ,.a )ela de T> e. branco11


E$ TER'OSF NOR'AS e CO'ANDOS DO TP G <er(:oGC
S5/2-Js ! *o eEpre**-e* alAan,.Nrica* { cadeia o, con;,n)o de carac)ere* } K,e
de/e. Aicar en)re a;H(tro6o( ! tam"#m se di$%entre asDas s2,DL6s }.
EEe.ploX wri)e ( a $ re*,l)ado N X])1
j,ando a *)rinC con)N. ,. *J carac)ere ela N di)a CIa/.
Ta.bN. *e ,*aX s5/2-JP:9Q ! *iCniAica K,e a eEpre**o alAan,.Nrica { cadeia de
carac)ere } de**a *)rinC pode )er no .6Ei.o 5P carac)ere*1
A5/2G12EMo .6 'aLo/6s Rs 3a/2K362s ! a a)rib,io de /alore* Y* /ari6/ei* N Aei)a pela
*eC,in)e indicao >4A@ { TU } . EEe.plo*X 4A 15 , ' 4A Tho*NU, 111 <o *e ,*a
*o.en)e iC,aldade >A@, porK,e a /ari6/el no repre*en)a ,. /alor AiEo e inal)er6/el 1 ?or
i**o, ne*)e con)eE)o, e. l,Car de 4A , )a.bN. N l0ci)o TU ( 15, '
Tho*NU, 111)1 $ *0.bolo de iC,aldade *J N ,*ado para indicao de ,. /alor Co-s5a-564
?i\7,181S1
g
Co,6-5K/2os ! pode. *er e*cri)o* 6-5/6 CIa36s4 S ... T, .6Do2s .6 UU o,, ainda,
6-5/6 as56/Vs52Cos4 W ... W. EEe.ploX { $ re*,l)ado N *e.pre po*i)i/o }, RR ,*ar
neCri)o , e pode ,*ar readln e , 111
D6L2,25a.o/ .6 Ha27a ! N indicado por a .. G1 SiCniAica con*iderar o* /alore* de a
a)N G. EEe.plo de in)eiro*X 5 117 *iCniAicaX 5, 7, 8, :, S
e 71
'a/2K362s 1sa.as -o Co/Do .o D/oJ/a,a ! *o declarada* na *,b6rea 'a/.
EEe.ploX
'a/
&, hX in)eCerM
<a.eX *)rinCM
!e*pX c=ar
+enerica.en)eX I ide*ti6i)ador > : ti;o
I-s5/1EF6s (Co,a-.os, o/.6-s ) ! *o *eparada* por ?$<T$ E >i!+(' >=@ .
EEe.plo*X X in)eCerM l,noX *)rinCM 111
'aLo/ 2-2C2aL .6 1,a 3a/2K36L ! ;,n)o co. ,.a declarao pode-*e indicar ,. /alor
inicial1 EEe.plo*X X *)rinC 4AT *iCniAica K,e
e*)a *)rinC co.ea pela le)ra TM &X in)eCer 4A 5 & co.ea pelo n4.ero :1
Co,a-.os .6 E-5/a.a ( L6251/a ) ! Read+I, { lV-*eX rid ler } Aa9 a lei),ra
/ia )eclado, colocando o con)e4do de TFU no proce**a.en)o e .an)endo o c,r*or no
Ainal da 4l)i.a pala/ra1 e Readl*+I, { \ read line lVX*eX rid]lain } Aa9 a lei),ra /ia
)eclado, colocando o con)e4do de TFU no proce**a.en)o e po*icionando o c,r*or no
in0cio da prJEi.a lin=a1
Co,a-.os .6 SaV.a ( EsC/25a ) ! Jrite+I, {lV-*eX ra0]) e*cre/er} eEibe )odo*
o* )ipo* de dado* no /0deo1 #oloca o con)e4do TFU na )ela, .an)endo o c,r*or no Ainal
da 4l)i.a pala/ra1 Kritel*+I, { lV-*eX r6i]) l6inn N a abre/iao de wri)e line }
coloca o con)e4do TFU na )ela e po*iciona o c,r*or no in0cio da prJEi.a lin=a1
O15/as 3a/2aEF6s4
Krite ( a& valor m'imo #] )M readln()M <a )ela apareceX &
valor m'imo # (
Kritel*( a/alor de \], )M <a )elaX valor de ( )*
Kritel*( E,, a a, T,)M <a )elaX +u ,u
Kritel* ( www X : )M <a )elaX ! ! XXX{ de*loca.en)o de :
col,na* }1 +enerica.en)eX W/256 ( Da/Y,65/o 4 - )M o - indica o n4.ero de
col,na* K,e o c,r*or de/e *er de*locado para a direi)a11 $ par^.e)ro N e*cri)o da direi)a
para a e*K,erda1
Kritel* ( F X : X 5 )M TelaX 7:1S7 { : carac)ere* incl,indo o
pon)o ( no Bra*il eK,i/ale Y /0rC,la ) e doi* depoi* da /0rC,la1}1
O
+enerica.en)eX W/256 ( Da/Y,65/o4 - 4 . ) - )e. o .e*.o *iCniAicado an)erior e
. indica o n4.ero de alCari*.o* depoi* do pon)o1 EEe.plo*X e. (71181S X 8 X 5 )
7118M e. (78,S7gX7XP) f781
W i.por)an)e de*)acar K,e e*)e* doi( re)ur(o( do KriteX wri)e( par^.e)ro 4 n )M e
wri)e( par^.e)ro 4 n 4 d )M *o ,.a Aor.a de tabular a* inAor.a-e* de *a0da para Tcair
AoraU da no)ao cien)0Aica, aK,i no ,)ili96/el1 EEe.plo*X
Wri)e(a#'!$] X 7)M <a )elaX f f # ' ! $ { de*loca.en)o de 7 col,na* }
Wri)e (aD$])M wri)e(aT])M <a )ela D$T
Wri)e(aD$])M wri)e (a%] X S )1 <a )elaX D $ f f f f % { de*loca.en)o de S col,na*, depoi*
de D$ }
=X\ 7,181S7gM Wri)eln(=)M <a )elaX 7,181S7gPPPE ` PP { <o)ao cien)0Aica }
Wri)eln(=X7)M <a )elaX 711E ` PP
Wri)eln(= X : X 5 )M <a )elaX f : 1 1 8 { de*loca.en)o de : col,na*, incl,indo o pon)o }
Wri)eln( = X g X 7 )M <a )elaX f f f 7 1 1 8 5
Wri)eln( = X g X 1 )M <a )elaX f f f f f 7 1 1
R6a.Z6N {lV-*eX rid]Hi k ler c=a/e,111} ! N ,.a A,no K,e per.i)e retor*ar L te)la
a)io*ada, de*)a Aor.a )ornando de*nece**6rio pre**ionar a )ecla E<TE! para conAir.ar a
en)rada da inAor.ao1 W par)ic,lar.en)e ,*ada no Ai. de ,. proCra.a, para .an)er a
eEibio do re*,l)ado do proce**a.en)o na )ela o, para re)ornar ao Ben, ?rincipal )oda /e9
K,e ,.a )areAa do proCra.a Aor concl,0da1
EEe.plo*X
1)
Program UsoReadkeyUM;
uses crt;
var N:integer; ho: char;
begin
clrscr;
write(N!); readln(N);
i" (N#$%) then
begin
writeln (& numero e ' N);
readln ;
end
(lse
begin
writeln( numero esta errado);
ho:!readkey;
end;
end)
* &+,(R-./&(, 00# 1) R(.12N; tem o mesmo e"eito 3ue 4&:R(.15(6;
7
* serve 8ara "i9ar o resultado do 8rocessamento na tela 7
* $) .ntes de (2,( o end nao 8ode ser seguido 8or nenhum 7
* caractere 7
1P

$)
Program UsoReadkey1&:,;
uses crt;
var o8cao: char; R'.'+: integer;
8rocedure .1:/.&;
begin
clrscr;
write(.!); readln(.);
write(+!); readln(+);
R:!.;+;
writeln;
writeln( ,&M. ! ' R);
o8cao:! readkey;
end;
* PP 7
begin
&8cao :! %;
while (o8cao <# $) do
begin
clrscr;
goto9y(1='1$); write (Menu Princi8al);
goto9y(1='1>); write( 1 000# soma);
goto9y(1='1?); write( $ 000# "im);
goto9y(1='1@); write( (scolha o8cao );
readln(o8cao);
i" (o8cao <# $) then
case o8cao o"
1: .dicao;
else
goto9y(1='$A);
writeln( o8cao invalida 0 8ressione 3ual3uer tecla);
o8cao:!readkey;
end;
end;
end)
* &+,) 1) na ausencia do comando &8cao: R(.15(6; o sistema
nao 7
* e9ibe a mensagem de o8cao invalida 7
* $) (ste comando o8cao: readkey; e e3uivalente a R(.12N;'7
* 3ue e muito mais sim8les e 8ratico' inclusive 8or3ue elimina
7
* a necessidade de se declarar &P/.&: char; ' o 3ue economiBa
7
* tem8o e es8aco 7

A)
Program UsoReadkeyCDRE,;
uses crt;
var .'+: integer;
ho: char; * usar Funto com readkey 8ara "i9ar o resultado de e9ecucao 7
11
begin
clrscr;
write(.! ); readln(.);
write(+! ); readln(+);
i" (.#+) then
+egin .:!.;+; +:!.0+; .:!.0+; end;
goto9y(1$'1$);
writeln( &s nrs) s o: ' .' e ' +);
4&:!R(.15(6;
end)
* &bservaGHo: (m lugar de ho:readkey; 8oderI usar repeat
until keypressed; ' readln; ... e9istem outras maneiras)7

CL/sC/ ! N ,. co.ando colocado loCo depoi* da pala/ra BE+&<, para li.par a )ela de
/0deo e colocar o c,r*or na po*io (1,1)1 W o re*,l)ado da con)rao de d,a* pala/ra* da
l0nC,a inCle*aX #'E! S#!EE< { lV-*eX clir *crinn }, K,e *iCniAica L2,Da/ a 56La. E**e
co.ando eAe),a a li.pe9a da )ela re)irando K,alK,er carac)ere an)erior.en)e e*cri)o,
po*icionando o c,r*or no can)o e*K,erdo *,perior1
#o5o7N(a,G) ! coloca a inAor.ao do comando su"se-.ente na po*io (a,b) da )ela1
En)re)an)o, aK,i a con/eno N K,e a ( 016 3a/2a .6 8 a5[ &9) repre*en)a o n4.ero da
#$'(< e G ( 016 3a/2a .6 8 a5[ :5) a da '&<D1 CuidadoMM 4 o con)r6rio do K,e *e
,*a na +eo.e)ria nal0)ica, da Ba)e.6)ica ?,ra1
EEe.ploX
Co)oEy(7,:)
wri)e( aal,no]) a pala/ra aL1-o )e. o a na )ela na po*io (7,:) )erceira col,na e
1,in)a lin=a
CL/6oL { abre/iao de clear end of line X lV-*eX clir end oA l6inn li.par o Ai. da
lin=a } ! li.pa )odo* o* carac)ere* da lin=a a par)ir da po*io do c,r*or *e. K,e *e;a
.odiAicada a po*io a),al do c,r*or1
EEe.ploX
Program Uso/lreol;
uses crt;
var :: integer; Decla: char;
begin
clrscr;
goto9y(A'1%);
write(Pressione algo 8ara continuar);
tecla:!readkey;
goto9y(A'1%); clreol;
goto9y(A'1%); write( "inal de teste);
tecla:!readkey;
end)
&bservaGao: Na ausencia do comando /2R(&2 as "rases Pressione algo
8ara continuar e "inal de teste "icam remontado)

15
I-sL2-6 {lV-*eX in*]l6inn in*erir lin=a } ! e**e procedi.en)o in*ere ,.a lin=a na
po*io a),al do c,r*or, Aa9endo o de*loca.en)o da* lin=a* K,e e*)i/ere. abaiEo do c,r*or,
para preenc=er a lin=a K,e Aoi in*erida1
EEe.ploX
Program Uso:N,2:N(;
uses crt;
begin
clrscr;
writeln(201);
writeln(20$);
writeln(20A);
writeln(20>);
writeln(20=);
goto9y(1'$); :N,2:N(; * insere mais a linha $' onde serI escrito (U0
DU7
* a tela e9ibe em linhas: 201' (U0DU' 20$' 20
A 7
* 20> e 20= 7
Jriteln( (U0DU );
readln;
end)
D6LL2-6 {lV-*eX del]l6inn dele)ar lin=a} ! e**e procedi.en)o eli.ina a lin=a e. K,e
e*)i/er po*icionado o c,r*or, Aa9endo co. K,e a* lin=a* po*)eriore* *,ba., oc,pando a K,e
Aoi dele)ada1
EEe.ploX
Program Uso1(22:N(;
uses crt;
begin
clrscr;
writeln(201);
writeln(20$);
writeln(20A);
writeln(20>);
writeln(20=);
goto9y(1'A); 1(22:N(; * a linha A e deletada e na tela a8arecem
a8enas 7
* as linhas de nrs) 1' $' > e = 7
readln;
end)

T675CoLo/ (by)e) ! per.i)e *elecionar ,.a Co/ Da/a a Ho-56 e. ,*o1 n,.erao do
by)e repre*en)a a* *eC,in)e* core*X P\pre)o, 1\a9,l, 5\/erde, 7\ciano, 8\/er.el=o,
:\.aCenda, S\.arron, 7\cin9a claro, g\a9,l e*c,ro, O\a9,l claro, 1P\/erde claro,
11\ciano claro, 15\/er.el=o claro, 17\.aCenda claro, 18\a.arelo e 1:\branco
EEe.ploX
Program /orKonte;
uses crt;
17
begin
clrscr;
te9tcolor(A); * "onte ciano 7
goto9y(1%'1%) ;write(4(2.1:% 1( &2:-(:R.' M.R:. 4(2(N.' K.+:& (
D4.:,);
te9tcolor(1>); * "onte amarela 7
goto9y(1%'1A) ;write(4(2.1:% 1( &2:-(:R.' M.R:. 4(2(N.' K.+:& (
D4.:,);
te9tcolor(=); * "onte magenda 7
goto9y(1%'1?) ;write(4(2.1:% 1( &2:-(:R.' M.R:. 4(2(N.' K.+:& (
D4.:,);
readln;
end)
$b*er/aoX TeE)#olor lV-*eX )NH*]) c^]l^r *iCniAicaX te'to colorido.
T675aCZ#/o1-.(by)e) ! per.i)e *elecionar ,.a Co/ .6 H1-.o para a )ela1
n,.erao do by)e repre*en)a a* *eC,in)e* core*X P\pre)o, 1\a9,l, 5\/erde, 7\ciano,
8\/er.el=o, :-.aCenda, S\.arron e 7\cin9a claro1
EEe.plo*X
1)
Program /orKundo;
uses crt;
var "undo: byte;
begin
clrscr;
goto9y($%'1%);
te9tbackground(>); * esta instrucao sombreia o te9to da linha 1% em 7
* vermelho 7
readln
end)

$)
Program /&R(,;
uses crt;
var te9to' "undo: byte;
begin
clrscr;
"or te9to :!% to 1= do
"or "undo:!% to ? do
begin
goto9y( ("undo;1)LM' te9to;1 );
D(ND/&2&R(te9to);
D(ND+./5OR&UN1("undo);
write("undo:>' te9to:>);
end;
writeln;
De9t/olor(P);
De9t+ackOround(%);
readln;
clrscr;
end)

18
$b*er/aoX TeE)BacH+ro,nd lV-*eX )NH*]) bNH Cr6,nd *iCniAicaX cor de A,ndo
do )eE)o1
D6LaN(8999) {lV-*eX dilVi de.orar, adiar, re)ardar,111} ! pro/oca ,.a pa,*a an)e*
de eEec,)ar o prJEi.o co.ando1
\" ! prod,9 *o. de alC,n* *eC,ndo* { bip }1
W2-.oX(a,G,C,.) {lV-*eX ,0ndo,* ;anela } ! deli.i)a o e*pao de ,*o da )ela1
EEe.ploX window(5,7, S,7) Aornece o *eC,in)e e*pao de ,*o na )elaX
D6CLa/aEMo .6 TND64 { T"?E 1lV-*eX )6ip *iCniAicaX *er/ir deX modeloF ;adr:oF *ormaF
e1em;lo) - o T? ;6 po**,i Type* deAinido* e pron)o*1 E**e* )ipo* *o declarado* na
*,b6rea >ar1 $* .ai* ,*ado* *oX

>ar
Ara*eX s5/2-J=
?e*oX /6aL=
Dabi)an)e*X 2-56J6/=
!e*pX CIa/
>alorX GooL6a-= { lV-*eX b4]lean Tr,e(>\/erdadeiro) ZlV-*eX )r4[ o,
%al*e (%\ Aal*o) ZlV-*eX AJl* }

ETC.
lN. de**e* )ipo* b6*ico*, o T? po**,i ,. con;,n)o de rec,r*o* a)ra/N* do* K,ai* o
in)ere**ado pode deAinir *e,* prJprio* )ipo*1 E**e* )ipo* *o .odelo* ;r/Gde6i*ido( o,
con*)r,0do*1
1:
T6La
(:,3)
(6,")
$* .odelo* con*)r,0do* pelo proCra.ador *o declarado* na *,b6rea T]PE= o* .ai*
,*ado* *oX (et !l/-se% set con0unto }1 arra3 { lV-*eX NrrV]i /e)or, .a)ri9 }, Re)ord {
lV-*eX rNcor(d) reCi*)ro } e H2L6 { lV-*eX A6il arK,i/o }1
<o decorrer de**e e*),do Aare.o* ,. e*),do .ai* de)al=ado *obre cada ,.a de**a*
e*)r,),ra* { \ con;,n)o* }1 Toda/ia, ob;e)i/ando K,e o in)ere**ado )en=a o pri.eiro
con)ac)o co. o proce**o declara)Jrio, ;6 /a.o* .encionar o* procedi.en)o* K,e deAine.
a* condi-e* de ,*o de**a* e*)r,),ra*1
SET TND6
^ 2.6-52H2Ca.o/ {no.e}} A s65 oH ^ 52Do_=
EEe.plo*X
D \ *e) oA c=arM D0Ci)o* \ *e) oA P 11 OM /oCal \ *e) oA Zaa], l,a,][M
ARRA] e**e )ipo enCloba vetore( e matriNe( K,e *o con*)i),0do* por ,.a
co.po*io de /6rio* ele.en)o* - por i**o )a.bN. *o di)o*
ti;o( e(truturado($ { (.a estrutura N ,.a co.po*io de /6rio* ele.en)o* } E**e )ipo
pode *er declarado de d,a* .aneira*X
TND6
'65o/ A a//aN P`8 .. NQ oH ^52Do_ M
$a5/2a A a//aN P 8..$ , 8..NQ oH ^52Do_=
'a/
A 4 365o/ APIQ
$4 $a5/2a $PI,?Q
<o)e-*e K,e na *,b6rea Type ,*a-*e >A@ e na *,b6rea >ar ,*a-*e >4@1
K,i )a.bN. N i.por)an)e de*)acar K,eX em T3;e 6oram CR%ADOS o( ti;o( arra3
{/e)or o, .a)ri9}M e. *eC,ida, na *,b6rea >ar, 6oram de6i*ida( a( <AR%B<E%S { no.e*
lJCico* } A )omo (e*do do ti;o vetor e ' )omo (e*do do ti;o matriN$ E**e
procedi.en)o deX 13) #!&! )ipo e 53) E. *eC,ida DE%&<&! (B >!&m>E' {\
no.e lJCico} co.o *endo do )ipo criado N ,.a ;rti)a )o*(ta*te e roti*eira K,ando *e
,*a a linC,aCe. de proCra.ao do T?1

(. array )a.bN. pode *er declarado de Aor.a .ai* *i.pliAicada e pr6)ica, ,)ili9ando
*o.en)e a *,b6rea >!X
'a/ A4 a//aN P 8 .. N Q oH ^52Do_=
$4 a//aN P 8 .. $ , 8 .. N Q oH ^52Do_=

EEe.plo*X
>ar l,noX array Z 111:P [ oA *)rinCM
Ba)ri9X array Z 111:P, 1118 [ oA realM
$,)ro* eEe.plo*X
1S
1) ?roCra. T'M
,*e* cr)M
#$<ST
<3l,no* \ :P
>ar
#la**eX array Z 1 11<[ oA in)eCerM
5f ?roCra. T'M
,*e* cr)M
#$<ST
<3BaE# \ 5PM <3BE'\1P { # \ col,na - ' \ 'in=a }
>ar
BX array Z 1 11<3BaE#, 111 <3BaE'[ oA realM
RECORD TND6
AL1-o A R6Co/.
*ome.
R&.
6-.=
'a/
AL4 aL1-o=

?erceba K,eX
1) ;,n)o co. o )ipo l,no \ !ecord )a.bN. deAini.o* a* Da/56s Co,Do-6-56s de*)a
/ari6/elX *ome e R& 1 E**e* co.ponen)e* recebera. o no.e CenNrico de CA$PO1
Te.o*, poi*, ca.po de no.e e ca.po de !+1
5) <a *,b6rea >ar Aoi deAinida a /ari6/el { no.e lJCico } AL co.o *endo do )ipo
aL1-o {\ !ecord}1
7) De*)a Aor.a, a reAerVncia a K,alK,er /ari6/el de ca.po obriCa)oria.en)e de/e *er
precedida da /ari6/el ' e pon)oX AL$*ome e AL$R&$
?o*)erior.en)e /ere.o* K,e e**a eEiCVncia poder6 *er abolida co. o ,*o do co.ando
WITH.
rK,i/o FILE TND6
^ 2.6-52H2Ca.o/_ A F2L6 oH ^ 52Do_=
'a/
^ -o,6 LBJ2Co_ 4 ^2.6-52H2Ca.o/_=
EEe.ploX
Type
l,no \ Aile oA *)rinCM
17
>ar
D$X al,no1
rK,i/o TE;T
'a/
^ 2.6-52H2Ca.o/_ 4 5675=
EEe.ploX
>ar
DelenaX )eE)M
UNITS {lV-*eX i,]ni)* (nidade* } ! N ,. con;,n)o de ro)ina* pron)a* para *ere.
,*ada* pelo proCra.ador1 E**a* ro)ina* Aora. incorporada* ao T? a par)ir da /er*o-8,
pelo e.pre*a Borland, criadora de**e pro;e)o1 <a realidade ,.a (ni) N ,.a biblio)eca de
A,n-e* { A,nc)ion* 1 lV-*eX A^n]H*=^n A,no} e procedi.en)o* { ?roced,re* 1 lV-*eX
proci]d;,r o, proci]di,r procedi.en)o }1 * (<&T* (em;re vOm de;oi( da )ita9:o do
*ome do ;ro0rama e obri0atoriame*te a*te)edida do )oma*do Us6s. Ta.bN. *e di9 K,e
*o iden)iAicadore* prN-deAinido*1 ,ni) C/5 N ,*ada e. T)odo*U o* proCra.a*1 Ela
po**,i a .aior par)e da* ro)ina* e /ari6/ei* de Cerao de *o., con)role de /0deo e )eclado1
$,)ra (ni) .,i)o ,*ada N a P/2-56/. E*)a declara ,. arK,i/o )ipo )eE)o co. o no.e 'ST e
a**ocia-o Y i.pre**ora1
*in)aEe b6*ica NX
?roCra. <$BEM
a Us6s
C/5 = { o, ?rin)er, 111}

'a(F a6i*alF Pual / o motivo e *e)e((idade ;ara (e 6aNer u(o da U*it Crt em Qtodo(R
o( ;ro0rama( do TPS $* proCra.a* i*en)o* de**e rec,r*o apre*en)a. a*
.en*aCen* ,.a abaiEo da o,)ra e, apJ* o *e, ,*o, no Aa9e. a li.pe9a da )ela1 &**o
i.plica e. K,e ,. con;,n)o de dado* ;6 *,pNrAl,o AiK,e de*nece**aria.en)e )o.ando
l,Car na )ela, a)rapal=ando *obre.aneira o .an,*eio e /eriAicao da* no/a* inAor.a-e*1
W ;,*)a.en)e para diri.ir e**a* diAic,ldade* K,e a ,ni) #!T Aoi criadaX ela e1e)uta ;elo
me*o( trO( tare6a( b(i)a(: #, L%'PA A TELA do )om;utador Pua*do um ;ro0rama /
e1e)utado. 2, POS%C%ONA a( me*(a0e*( em um determi*ado ;o*to da tela e E,
ETETUA A %NTERRUPUVO DO PROCESSA'ENTO DE U' PRO&RA'AF
a0uarda*do Pue (eWa ;o(i)io*ada PualPuer te)la ;ara Pue o ;ro0rama ;o((a )o*ti*uar$
De um modo mai( 0eralF ;odemo( diNer Pue a UN%T Q;o((ui a maior ;arte da( roti*a( e
varivei( de 0era9:o de (omF )o*trole de vXdeo e te)ladoR { B<Q<$, h1 1<1+, e
"BT(B&, W1"1 Turbo Pa()al$ 7n Edio, So ?a,loX b/2Ca, 1OO71 }
LAEL 6 #OTO ! LaG6L { lV-*eX lVi]bel ro),lar, por e)iK,e)a, .arcar, cla**iAicar,
iden)iAicador } N a (ni) di*cri.inada loCo depoi* de ,*e* e *e.pre N ,*ada ;,n)o co. o
co.ando #o5o { lV-*eX Co,]), ir para } co. a Ainalidade de e6etuar de(vio( e.
K,alK,er pon)o do proCra.a1 *,a *in)aEe { a)rib,io }
1g
LaG6LX in0cio, Ai., :

, SJcio, e)cM a par)ir de*)e in*)an)e e**e* label*X in0cio,
Ai., e)c1 Aica. di*ponibili9ado* para ,*o1
EEe.ploX
?roCra.a T'M
(*e* cr)M
LAEL in0cio, Ai., e)c111M
- - - - - - - - - - - - - - - - - - - -
2-VC2o4 { depoi* de K,alK,er label ,*a-*e doi( ;o*to( Q:R }
- - - - - - - - - - - - - - - - - - - -
Jo5o 2-VC2o=
! ! ! ! ! ! ! ! ! ! ! ! !
Jo5o H2,=
! ! ! ! ! ! ! ! ! ! ! ! !
H2,4
! ! ! ! ! ! ! ! ! ! ! ! !
EEe.ploX
Program UsoC2abelCOoto;
Uses /rt;
2abel .dicao' Multi8licacao' inicio' Kim;
-ar .'+'R: real; o8cao: char;
begin
clrscr;
inicio:
clrscr;
goto9y(='=);
writeln((scolha &8cao: 100#.dicao' $00#Multi8licacao' A00#Kim);
goto9y(='P);
readln(o8cao);
writeln;
i" (o8cao ! 1) then goto .dicao;
i" (o8cao ! $) then goto Multi8licacao;
i" (o8cao ! A) then goto Kim;
.dicao:
begin
goto9y ($%'1%);
write(.!); readln(.);
goto9y($%'1$);
write(+!); readln(+);
R:!.;+;
goto9y($%'1>);
writeln( ,oma! ' R:=:%);
end;
goto9y($%'1?);
writeln(Decle algo 8ara "inaliBar); readln;
goto inicio;
Multi8licacao:
begin
goto9y ($%'1%);
write(.!); readln(.);
1O
goto9y($%'1$);
write(+!); readln(+);
R:!.L+;
goto9y($%'1>);
writeln( Produto ! ' R:=:%);
end;
goto9y($%'1?);
writeln(Decle algo 8ara "inaliBar); readln;
goto inicio;
Kim:
re8eat until key8ressed;
end)
OD6/a.o/6s ! *o o* *eC,in)e*X AR%T'4T%CO(: Y F G F ZF [ F Div e 'od.
L5&%COS: A*dF or e Ior. RELAC%ONA%S: ?F >F = F >?F =?F =>F i* ! testa se um
elemento est incluso num con0unto } 1
F1-EF6s 6 D/oC6.2,6-5os Da/a Co-5/oL6 .6 3V.6o ! *o o* *eC,in)e*X )lr()rF
0oto13+1F3,F Ji*doJ+aFbF)Fd,F te1)olorF te1ba)20rou*dF )lreolF Delli*e e i*(li*e$
R6C1/sos 1sa.os Da/a Haa6/ Co, 016 o D/oJ/a,a 672Ga o /6s1L5a.o .o
D/oC6ssa,6-5o -a 56La ! K,ando a eEec,o de ,. proce**o do T? Aor concl,0do N
nece**6rio K,e o proCra.a con)en=a alC,n* co.ando* a)ra/N* do* K,ai* o* re*,l)ado*
per.anea. eEibido na )ela para an6li*e e .an,*eio1 <o T? e**a T;oCadaU pode *er Aei)a
de /6ria* .aneira*1 *eC,ir /a.o* relacionar o* .odo* ,*ado* co. .aior AreKpVnciaX
$ ,*o do co.ando T/6a.L-=@ an)e* do end1 N ,. .odo *i.ple* e pr6)ico de *e
.an)er o re*,l)ado na )ela1 EEe.ploX
Program D(2.um;
uses crt;
var .'6: integer;
begin
clrscr;
goto9y(1%'1%);
write(.!); readln(.);
6:! .L.;
goto9y(1%'1=);
writeln( -alor de 6! ' 6);
R(.12N; *na ausQncia deste comando o valor de 6 nHo serI e9ibido na tela 7
end)

R6a.Z6N N a A,no K,e retor*a o valor de uma te)la ;re((io*ada, *e. a
nece**idade de *e ,*ar a )ecla E<TE!11 $ *e, ,*o per.i)e prod,9ir o .e*.o eAei)o K,e o
readlnM 1 EEe.ploX
Program D(2.dois;
uses crt;
var .'+'R: integer; o8' ho: char;
begin
clrscr;
goto9y(1%'1%);
5P
write( .!); readln(.);
write(o8eracao ); readln(o8);
goto9y(1%'1$);
write( +!); readln(+);
goto9y(1%'1=);
writeln( .;+!' .;+);
ho:! readkey; *na ausQncia deste comando o valor 6 nHo serI e9ibido na tela7
delay(1%%%);
end)
A,no READcE] pode *er ,*ada ;,n)o co.X 1) a DE#&Sq$ SN { Si.R<o)
5) 'BE' 2-VC2o para re)ornar n,. pon)o do proCra.a onde e*)6 .encionada 2-2C2o4 .
EEe.ploX
Program D(2.C1ecidirC,N; * na verdade R uma 8rocedure 7
uses crt;
label inicio;
var tecla: char; .: integer;
begin
inicio:
clrscr;
goto9y(1%'1%);
write( .!); read(.);
write ( 1eseFa continuarS ,NS );
tecla:! readkey; * 8ressione , 8ara continuar ou N 8ara "inaliBar 7
i"(tecla!,) or (tecla!s) then
goto inicio;
end)


c6ND/6ss6. N ,.a A,no e*pecial do T? K,e re)orna ,. /alor bolleanoX Tr,e (>)
*e a )ecla Aoi pre**ionada o, %al*e(%) ca*o con)r6rio1 W .,i)o ,*ada para de)ec)ar )ecla*
pre**ionada* no )eclado1 EEe.ploX
8rogram D(2.tres;
uses crt;
var tecla: char;
begin
clrscr;
goto9y(1%'1%);
write(char(P)); * 8roduB um bi8 7
write(digite uma tecla000#);
readln(tecla);
re8eat until 5(6PR(,,(1; * na ausencia deste comando a tecla digitada7
* nao 8ermanece e9ibida na tela 7
end)

51
UDCas6 { lV-*eX ,p]HVi* ca*o, e*)ado, 111} ! N a A,no K,e )o*verte o )ara)tere
di0itado ;ara o 6ormato mai\()ulo EEe.plo*X
1)
Program UsoUP/.,(um; * na verdade e uma 8rocedure 7
uses crt;
var tecla: char; .: integer;
begin
re8eat
clrscr;
goto9y(1%'1%);
write( .!); read(.);
write ( 1eseFa continuarS ,NS );
re8eat
tecla:! UP/.,((readkey); * 8ressione , 8ara continuar ou N 8ara 7
* 8arar; se 8ressionar Decla<#,N' nada
ocorre 7
until tecla in T, ' N U;
until tecla! N;
end)
5)
8rogram (m8regoUP/.,(;
uses crt;
var tecla: char;
begin
clrscr;
goto9y(1%'1%);
write(Uma tecla!); readln(tecla);
goto9y(1%'1$);
tecla:!UP/.,((tecla);
writeln(Decla digitada ! ' tecla);
readln;
end)
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

d. ESTRUTURAS DE DECISO
E**a* e*)r,),ra* )ra)a. do* co.ando* K,e e*)o relacionado* co. o
con)role do Al,Eo do proCra.a1 ?ode.o* de*)acar a* *eC,in)e* *i),a-e*X
%$ De SELEUVO:
#] Ca(oX R6D652EMo S2,DL6s Co-56-.o 1, e-2Co Co,a-.o4

55

EEe.ploX
----------------------------------------------
2H / ^ :5 5I6-
Wri)eln ( a $ re*,l)ado N corre)oU)M
----------------------------------------------

2] Ca(o: R6D652EMo S2,DL6s Co-56-.o 3K/2os Co,a-.os4



EEe.ploX
--------------------------------
2H a ^ G 5I6-
BeCin
D \ M
\ BM
B \ DM
EndM
-------------------------------
E] Ca(o: R6D652EMo Co,Dos5a Co-56-.o 1, e-2Co Co,a-.o4

57
IF ^ Co-.2EMo _ THEN
( 2-s5/1EMo e-2Ca )
{ o proce**o con)in,a enK,an)o a* condi-e* e*)abelecida*
pela in*)r,o Aore. >E!DDE&!S }
IF ^ Co-.2EMo _ THEN
LoCo
{ o proce**o con)in,a enK,an)o a* condi-e* e*)abelecida*
pelo bloco Aore. >E!DDE&!S }
IF ^ Co-.2EMo _ THEN
( 2-s5/1EMo e-2Ca )
ELSE
( 2-s5/1EMo e-2Ca )
{ o proce**o con)in,a enK,an)o a* condi-e* e*)abelecida*
pela* in*)r,-e* Aore. >E!DDE&!S }
EEe.ploX
---------------------------------------------------------
2H 7 _ 899 5I6-
wri)eln ( a!e*,l)ado *a)i*Aa)Jrio] )M
6Ls6
wri)eln ( a !e*,l)ado i.po**0/el] )M
--------------------------------------------------------
^] Ca(o R6D652EMo Co,Dos5a Co-56-.o 3K/2os Co,a-.os4


EEe.ploX
-----------------------------------------------------
2H a ^ G 5I6-
BeCin
D \ M
\ BM
B \ DM
EndM
6Ls6
beCin
Wri)eln ( a a orde. ;6 e*)6 corre)a] )M
EndM
---------------------------------------------------
!] Ca(o: To.os os IFOs Do.6, s6/ 1sa.os f1-5os Co, os oD6/a.o/6s
LBJ2Cos AND, OR 6 NOT4
58
IF ^ Co-.2EMo _ THEN
LoCo
ELSE
LoCo
{ o proce**o con)in,a enK,an)o a* condi-e* e*)abelecida*
pelo* bloco* Aore. >E!DDE&!S }

%T =)G#> AND = )G2> THEN
IF ^C!8_ OR ^ C!:_ THEN
IF NOT ^Co-.2EMo_ THEN
%%$ E(trutura %TGELSEG%T 7 SeGSe*:oGSe tam"#m # dita sele23o encadeada
homog/nea }:

EEe.ploX

Program Uso:KC(2,(C:K; * 8roblema clIssico sobre e9istQncia e
classi"icaGHo de triVngulos7
uses crt;
var .'+'/: real; ho: char;
begin
clrscr;
goto9y(1%'1%);
write(.!); readln(.);
goto9y(1%'11);
write(+!); readln(+);
goto9y(1%'1$);
write(/!); readln(/);
:" (.<+;/) and (+<.;/) and (/<.;+) then
:" (.!+) and (+!/) then
writeln( Driangulo (WU:2.D(R& )
5:
IF ^ Co-.2EMo!8 _ THEN
IF ^ Co-.2EMo!: _ THEN
( Co,a-.o!::)
ELSE
IF ^ Co-.2EMo!3 _ THEN
(Co,a-.o!33)
ELSE
IF ^ Co-.2EMo!d _ THEN
( Co,a-.o!dd)
ELSE
.
ELSE
( Co,a-.o!-)
else
i" (.!+) or (+!/) or (/!.) then
writeln( Driangulo :,&,/(2(,)
else
writeln(Driangulo (,/.2(N&)
else
writeln( &s valores .'+ e / nao "ormam um triangulo);
ho:!readkey;
end)
Ob(erva9:o: %DENTAUVO (i0*i6i)a AL%NHA'ENTO POR N_<E%S$ O
TP *:o e1i0e e()rever um ;ro0rama *a 6orma ide*tada$ TodaviaF o u(o de((e re)ur(o
melAora a e(t/ti)a do ;ro0rama e 6a)ilita 6utura( de;ura9@e(F *o )a(o da *e)e((idade
de (e 6aNer al0um ti;o de ma*ute*9:o$ co.pan=e o eEe.plo dado a *eC,irM ele po**,i
/6rio* de**e* alin=a.en)o* a Ai. de K,e o in)ere**ado po**a co.ple)ar o *e,
en)endi.en)o1 E**e* *Xvei( de ali*Aame*to( e*)o indicado* por .eio de barra* /er)icai*1
EEe.ploX
?roCra. Sobre&den)aoM
(*e* cr)M
>ar ,B,#X realM =oX c=arM
beCin
clr*crM
Co)oEy(1P,1P)M
wri)e(a\])M readln()M
Co)oEy(1P,11)M
wri)e(aB\])M readln(B)M
Co)oEy(1P,15)M
wri)e(a#\])M readln(#)M
iA (I`B) and (BI`#) and (#I`B)M
iA (\B) and (B\#) )=en
wri)eln( a $ )ri^nC,lo N Ej(&'mTE!$] ) {an)e* do E'SE do &% no =6 = T
el*e
iA (\B) or (B\#) or (#\) )=en
wri)eln (a $ )ri^nC,lo N &SrS#E'ES] )
el*e
wri)eln(a $ )ri^nC,lo N ES#'E<$])
el*e
Wri)eln( a$* /alore* ,B e # no Aor.a. )ri^nC,lo])M =oXreadHeyM
end1
%%%$ CASE { o, Seleo de B4l)ipla E*col=a } - $ co.ando #SE N ,. (eletor
de o;9@e(F proce**ando *o.en)e opo K,e Aor iC,al a eEpre**o1
5S
EEe.plo*X

1) - - - - - - - - - - - - - -
#a*e op oA {op \ operao }
]`] X wri)eln ( aSo.a \] , `B )M
ae] wri)eln ( a?rod,)o \] eB )M
a-] wri)eln ( aDiAerena \] -B )M
aR] wri)eln ( aj,ocien)e \] RB )M
El*e
Wri)e ( a$po in/6lida] , s7 ) { s7 TbipU }
EndM { End oA #a*e }
readlnM { para re)er re*,l)ado na )ela }
End1 { Ainali9ar o proCra.a }
5)
Program Uso/.,(;
uses crt;
var o8er: char; R' N'6: integer;
+egin
clrscr;
goto9y(1%'1%);
write (N!); readln(N);
goto9y(1%'11);
write(o8eracao 00#);readln(o8er);
goto9y(1%'1$);
write (6!); readln(6);
/.,( o8er o"
;: writeln(9Ly !:1% ' N;6 );
L: writeln(9Ly !:1% ' NL6 )
else
readln;
goto9y(1%'1=);
writeln ( o8eracao invalida);
end;
readln; * observe 3ue este comando vem de8ois do end; do case 7
57
CASE = e1;re((:o > OT
O;#: blo)o.
O;2: blo)o.
G G G G G G G G G G
O;*: blo)o.
ELSE
Blo)o.
END.

end)
%<$ De REPET%UVO:
#] Ca(o: De re;eti9:o i*de6i*ida )om te(te *o i*X)io
?ode.o* )erX
- - - - - - - - - - -
WHILE (!e*p \ aS] ) or (!e*p \ aS&B]) DO
1) beCin
! ! ! ! ! ! ! ! ! ! ! !
Wri)e ( aDe*e;a con)in,art SR<t])M readln(!e*p)M
EndM
- - - - - - - - - - -

- - - - - - - - - - - - - - - -
Wri)e ( a?er.,)ao1 de K,e n4.erot])M readln(<)M {e*)a condio /e. an)e*
wri)elnM do w=ile }
5) WHILE (con)ador I \ <) DO
Bloco
- - - - - - - - - - - - - -
wri)e ( aTecle IE<TE!L para encerrarX]) readlnM
- - - - - - - - - - - - - - -
EEe.ploX
Program ,&+R(CU,&CJ4:2(;
Uses /rt;
5g
KH%LE = )o*di9:o > DO
Blo)o
{ $ bloco *J N eEec,)ado enK,an)o a
condio Aor >erdadeira }
-ar :: integer;
+egin
::!1;
clrscr;
while :<@1 do
begin
write (X);
::!:;1;
end;
re8eat until key8ressed;
end)
:g Caso4 D6 R6D652EMo 2-.6H2-2.o Co, 56s56 -o H2-aL
EEe.plo*X
1) - - - - - - - - - - - - - - -
>ar
c=X c=arM
REPEAT
CL/sC/=
- - - - - - - - -
wri)e ( a ?re**ione TSU para con)in,ar])M
c= X\ (pca*e (readHey)M
UNTIL c= I L aS]
! ! ! ! ! ! ! ! ! ! ! !
5) - - - - - - - - - - - - -
>ar
!e*pX *)rinC
BeCin
!e*p X\ a*i.]
5O
REPEAT
^ Co-.2EMo F _
UNTIL ^ Co-.2EMo ' _
S A Co-.2EMo F [ 676C15a.a D6Lo
,6-os 1,a 36a, a5[ 016 a Co-.2EMo
assoC2a.a s6fa 36/.a.62/a T
REPEAT
- - - - - - - - - - - -
wri)e (a De*e;a con)in,art *i.Rnot])M readln(!e*p)M
UNTIL (!e*p I L *i.)M
- - - - - - - - - - - -
3g Caso4 R6D652EMo Co, 3a/2K36L .6 Co-5/oL6 ( o1 Caso FOR )
EEe.plo*
1)
Program U,&CK&R 0 1;
Uses /rt;
var :'Y:byte ; ho: char;
+egin
clrscr;
Kor ::!1 to @% do
+egin
goto9y(:'1);
write(L);
goto9y(:'$>);
write(L);
end;
Kor Y:!$A 1&JNto $ do
+egin
goto9y(1'Y);
write(L);
goto9y(@%'Y);
write(L);
end;
7P
FOR ^ 3a/2K36L _ A (8g 3aLo/) TO ^ eLL52,o 3aLo/ _ DO
LoCo
O1
FOR ^ 3a/2K36L _ A (8g 3aLo/) DOWNTO ^ eLL52,o 3aLo/ _ _ DO
LoCo
S S6 o GLoCo Co-5236/ 1, e-2Co Co,a-.o -Mo [ -6C6ssK/2o 1sa/ 6J2- 6 E-. T
goto9y(A%'1$);
writeln(/4(OU(:' -:' -(N/:);
goto9y($$'$=);
write(Pressione 3ual3uer tecla 8ara "inaliBar);
ho:!readkey;
end)
X
5)
Program U,&CK&R 0 $;
Uses /rt;
var :'Y:byte ; ho: char;
+egin
clrscr;
Kor ::!1 to @% do
+egin
goto9y(:'=);
write(L);
goto9y(:'1=);
write(L);
end;
Kor Y:!$A 1&JNto $ do
+egin
goto9y(='Y);
write(L);
goto9y(=%%'Y);
write(L);
end;
goto9y(A='1$);
writeln(/4(OU(:' -:' -(N/:);
goto9y($$'$=);
write(Pressione 3ual3uer tecla 8ara "inaliBar);
ho:!readkey;
end)
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
5. ESTRUTURAS CONSTRUDAS
par)ir do* )ipo* b6*ico* ( in)eiro, real, carac)ere, lJCico ) pode.o* con*)r,ir o,)ro*
)ipo*1 $* .ai* ,*ado* *oX /e)ore* , .a)ri9e*, reCi*)ro* e arK,i/o*. >e)ore* e .a)ri9e*
*o de*iCnado* pela pala/ra inCle*a a//aN SlV-*eX Nrre]i *iCniAicaX ordenar, cla**iAicar,
di*por, 111}M >ET$! N ,. arra3 u*idime*(io*al o, de ,.a di.en*o e BT!&Q N ,.
arra3 bidime*(io*al o, de d,a* di.en*-e*1 $* !E+&ST!$S *o de*iCnado* pela pala/ra
R6Co/. { lV-*eX rNcor]d reCi*)ro }1 $* arK,i/o* *ero e*),dado* no prJEi.o cap0),lo1
a) 'ETOR ! pode )er a* *eC,in)e* declara-e*X



71
'a/
^ No,6 _ 4 a//aN P 8..- Q oH ^ 52Do .6 .a.o _=

$,
TND6
^ 3a/2K36L _ A a//aN P8 ..- Q oH ^ 52Do .6 .a.o _=
'a/
^ -o,6 _ 4 ^ 3a/2K36L _=

o-.6 8, :, ..., - sMo os NDICES .o 365o/ 6
No,6 P I Q Ho/-6C6 os 'ALORES ( 56/,os o1
Co,Do-6-56s) .o 365o/.

EEe.plo*X 1) X array Z 1 11 8 [ oA in)eCer \ {u57, 8:, S7, gO } , onde 1, 5,
7 e 8 *o o* 0ndice*1 <e*)e ca*o, Z1[\ 57, Z5[\ 8:, Z7[ \ S7 E Z8[ \ gO *o o*
/alore* ( )er.o* o, co.ponen)e* ) do /e)or11
5) ' X array Z 1 11 7 [ de carac)ere ' \ { ho*N, r)=,r, Dario },
onde 1, 5 e 7 *o o* 0ndice* e 'Z1[ \ Tho*NU , Z5[ \ T r)=,rU e Z7[ \ T DarioU *o
o* /alore* ( )er.o* o, co.ponen)e* ) do /e)or1
(.a K,e*)o K,e ocorre co. AreKpVncia K,ando *e )rabal=a /e)ore* N a nece**idade de
*e eAe),ar a cla**iAicao o, $!DE<2q$ do* *e,* ele.en)o*M Ceral.en)e e**a
cla**iAicao N Aei)a e. orde. cre*cen)e1 $* co.ando* b6*ico* ,*ado* na ordenao de n
)er.o* de ,. /e)or e*)o relacionado* Y T!$# de po*io de doi* ele.en)o*
*,b*eKpen)e*, K,ando ela Aor nece**6ria1 E**e* co.ando* *oX

(9em8los:
1)
Program &rdena:nteiros;
uses crt;
var :'Y'4: integer; .: arrayT 1 )) @ U o" integer;
begin
clrscr;
"or ::!1 to @ do
begin
goto9y( 1%' A;:);
write( .T:U! ); readln(.T:U);
end;
"or ::!1 to P do
begin
"or Y:!:;1 to @ do
75
1) +enNricoX 5) SJ para /alore* in)eiro*
H 4A A= A 4A A h =
A 4A = 4A A =
4A H= A 4A A =
begin
i" .T:U # .TYU then
begin
.T:U :! .T:U;.TYU;
.TYU :! .T:U0.TYU;
.T:U :! .T:U0.TYU;
end;
end;
end;
"or ::!1 to @ do
begin
goto9y( $=' A;:);
writeln( .T:U! ' .T:U );
end;
re8eat until key8ressed;
end)
5)
Program &R1(N./.&;
uses crt;
var
.: array T1))@U o" integer; :'Y: integer; ho:char;
Procedure DR&/.( -ar .'+: integer);
var 4: integer;
begin 4:!.; .:!+; +:!4;
end;
Procedure &R1(N.( -ar .'+: integer);
var 4: integer;
begin
i" .#+ then
begin
Droca (.'+);
end;
end;
Procedure (NDR.1.( -ar N: integer);
begin
write(N!); readln(N);
end;
Procedure ,.:1.( -ar N: integer);
begin
Jriteln(N! ' N);
end;
Procedure 2:N4.;
var :: integer;
begin
"or ::! 1 to @% do write(L);
77
end;
* PP 7
begin
clrscr;
goto9y(%'1%);
linha;
::!1;
while :<M do
begin
goto9y(A%' ?;:);
(ntrada (.T:U);
::!:;1;
end;
ho:! readkey;
"or ::!1 to P do
begin
"or Y:!:;1 to @ do
begin
ordena( .T:U' aTYU);
end;
end;
"or ::!1 to @ do
begin
goto9y(A?' ?;:);
saida(.T:U);
end;
goto9y(1' 1?);
linha;
goto9y(1='1@);
write( Pressione 3ual3uer tecla duas veBes 8ara "inaliBar); readln;
ho:! readkey;
end)
A)
Program &rdenaNomes;
uses crt;
var :'Y: integer; .: arrayT 1 )) ? U o" string; 4: string;
begin
clrscr;
"or ::!1 to ? do
begin
goto9y( 1%' A;:);
write( .T:U! ); readln(.T:U);
end;
"or ::!1 to = do
begin
"or Y:!:;1 to ? do
78
begin
i" .T:U # .TYU then
begin
4 :! .T:U;
.T:U :! .TYU;
.TYU :! 4;
end;
end;
end;
"or ::!1 to ? do
begin
goto9y( $=' A;:);
writeln( .T:U! ' .T:U );
end;
re8eat until key8ressed;
end)
E. )e*e, o T? acei)a *o.en)e par^.e)ro* deAinido* co. o* )ipo* integer1 real1 "4te1
5ord1 "oolean1 char1 string e outros tipos de dados simples. $* )ipo* con*)r,0do*, co.o
array e !ecord, )om tama*Ao de6i*ido ;elo u(urioF *:o (:o a)eito($ En)re)an)o, existe
uma maneira de fazer o TP aceitar qualquer tipo de dados na definio de
parmetros. E*)a .aneira con*i*)e e. *e CR%AR 7 de6i*ir 8 T%POS a)ra/N* do
co.ando T]PE. E**a pro/idVncia e/i)a erro* en/iado* pelo dep,rador, ?oe eEe.plo, co.
a .en*aCe. Tout o6 ra*0eR { lV-*eX a,) oA rVnd; *iCniAicaX Aora do li.i)e, Aora do
padro, 111} ?ara o* /e)ore* e*)a Aor.a NXX
?roCra. T'M
(*e* cr)M
Co-s5 $a7 A -=
T]PE '65o/ A a//aN P 8..$a7 Q oH ^ 52Do .6 .a.o _=
'a/ '4 '65o/=

EEe.ploX
Program Ma9:ndice-etor;
uses crt;
/onst Ma9 ! @; * & limite de"inido 8ara este vetor R de @ termos 7
* Ultra8assando este limite 00# &UD &K R.NO( 0 erro 7
ty8e -etor ! array T 1))Ma9U o" integer;
var .: vetor; :'N: integer; ho: char;
begin
clrscr;
::!%;
goto9y (1%'?);
writeln (1igitar um nr)negativo 8ara "inaliBar:>% );
writeln;
writeln;
7:
re8eat
::!:;1;
write ( .T'::$'U ! ); readln ( .T:U );
Until ( .T:U < % );
N:!:01;
"or ::!1 to N do
begin
goto9y(>%' @;:);
write( .T':'U! ' .T:U );
end;
readln;
end)


b) $ATRI<ES ! pode *er declarada da* *eC,in)e* .aneira*

7S
'a/
^ -o,6 _ 4 a//aN P 8 .., , 8 .. - Q oH ^ 52Do .6 .a.o _=
Ou
T3;e
^ 'a/2K36L _ A ,a5/2a P 8..,, 8..- Q oH ^ 52Do .6 .a.o _=
'a/
^ -o,6_ 4 ^ 3a/2K36L _=
O1
TND6
CoL1-a A 8 .. ,= L2-Ia A 8 .. -
^ 3a/2K36L_ A a//aN P CoL1-a, L2-Ia Q oH ^ 52Do .6 .a.o_=
'a/
^-o,6_ 4 ^ 3a/2K36L _=
o-.6 P ?, I Q 2-.2Ca os V-.2C6s .1DLos .a ,a5/2a 6 No,6P?, IQ sMo os
3aLo/6s ( Co,Do-6-56s) .a ,a5/2a.
? A V-.2C6 .6 CoL1-a 6 IA V-.2C6 .6 L2-Ga
EEe.ploX repre*en)ao T)ab,larU da .a)ri9 Z7E7[ NX
5 8 g
P 1 -5
5 1P 7
?or eEe.ploX Z7,5[ \ -5 e*)6 no cr,9a.en)o da *eC,nda lin=a co. a )erceira col,na1
lN. da* declara-e* aci.a apre*en)ada*, ainda pode.o* encon)rar o,)ra* Aor.a* para
deAinir ,.a .a)ri9XX
1) >ar X array Z 1 11 . [ oA array Z 1 11 n [ oA I )ipo de dadoLM
5) Type B \ array Z 1 11 n[ oA in)eCerM
>ar X array Z 1 11 p [ oA BM

$ .e*.o de)al=e K,e Aoi con*iderado e. relao Y AiEao do n4.ero de )er.o* para o*
/e)ore*, )a.bN. de/e *er Aocado e. relao ao n4.ero de lin=a e col,na da .a)ri9X para
K,e no ocorra inco.pa)ibilidade e erro de proce**a.en)o, N nece**6rio e*)abelecer
an)ecipada.en)e o* L2,256s para o n4.ero de lin=a e col,na K,e co.p-e. a .a)ri91 Se i*)o
no Aor Aei)o, ao *e eAe),ar ,.a .,l)iplicao, por eEe.ploX 7E8 1 B8F7 \ #7F7 , o re*,l)ado
#7E7 *er6 pre;,dicado co. a .en*aCe. >o15 oH /a-J6@ , /i*)o K,e a Tdi.en*oU da
.a)ri9 re*,l)an)e no Aoi predeAinida1
declarao do* '&B&TES para a* .a)ri9e* e. ,*o pode *er Aei)a do .odo co.o e*)6
indicado no K,adro abaiEoX
EEe.ploX #odiAicar ,. proCra.a K,e eAe),e a lei),ra e apre*en)ao de ,.a .a)ri91
77
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Co-s5 N/$a7L A L= S -e,6/o ,K72,o .6 L2-Ia T
N/$a7L A C= S -e,6/o ,K72,o .6 CoL1-a T
'a/ A 4 a//aN P 8 ..N/$a7L, 8 .. N/$7C Q oH ^ 52Do .6 .a.o _=
,4 GN56 S -e,6/o .6 L2-Ias .a ,a5/2a A ^A L T.
-4 GN56 S -e,6/o .6 CoL1-as .a ,a5/2a A ^A C T.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Program 2er.8resM.DR:Z;
uses crt;
/onst NrMa92 ! 1=; NrMa9/ ! 1=;
-ar :'Y'5'm'n: integer; .: arrayT 1))NrMa92' 1))NrMa9/ U o" integer;
begin
clrscr;
* Numero 2:N4., da matriB . 7
Re8eat
goto9y(1%'=);
write (Nr2 de . 000#S ); readln(m);
Until m<! NrMa92;
* Numero /&2UN., da matriB . 7
Re8eat
goto9y(1%'?);
write (Nr/ de . 000#S ); readln(n);
Until n<! NrMa9/;
* 2(:DUR. 7
goto9y(1%'@);
Jrite ((ntre com os termos da matriB .:$%);
writeln;
"or ::! 1 to m do
"or Y:!1 to n do
begin
goto9y(1$;=LY' M;:);
readln (.T:'YU);
end;
readln;
* .PR(,(ND./.& 7
clrscr;
goto9y(1%'?);
writeln( . matriB e "ormada 8elos seguintes elementos:);
writeln;

"or ::! 1 to m do
begin
"or Y:!1 to n do
+egin
goto9y(1%LY ' M ; :);
write ( .T':'''Y'U ' ! ' .T:'YU);
end;
writeln;
end;
readln;
end)
K,e*)o .ai* i.por)an)e K,e pode ocorrer no )ra)a.en)o da* .a)ri9e* N a
codiAicao do proCra.a K,e eAe),a a ,1L52DL2CaEMo .6 .1as ,a5/2a6s. ?or i**o, aK,i
/a.o* .encionar o* procedi.en)o*X nece**6rio*X
7g
AP I, ? Q $7N 6 P ?. c QN7P
EH651a/ A . S-e,6/o .6 CoL1-as .6 A A -e,6/o
.6 L21-,Ias .6 T
S D/oC6ssa,6-5o T
! ! ! ! ! ! ! ! ! ! ! !
H A 9=
! ! ! ! ! ! ! ! ! ! ! !
Fo/ I A 8 5o $
6J2-
Fo/ c A 8 5o P
6J2-
Fo/ ? A 8 5o N
6J2-
H 4A H h A P I , ? Q W P ? , c Q=
CPI,cQ A H=
E-.=
H 4A 9=
E-.=
E-.=
! ! ! ! ! ! ! ! ! ! ! ! !
EEe.ploX De*en/ol/er o proCra.a K,e eAe),a a .,l)iplicao .n . BpK \ #.p , n \ K 1
Program ProdutoMatriBes;
uses crt;
/onst Ma92 ! 1=; Ma9/ ! 1=;
Dy8e
-:! array T1))Ma92' 1))Ma9/U o" integer;
-::! array T1))Ma92' 1))Ma9/U o" integer;
-:::! array T1))Ma92' 1))Ma9/U o" integer;
-ar
.: -:; +: -::; /:-:::; :'Y'5: byte;
m' n' 3' 8' 4: 2ongint;
begin
clrscr;
m :! Ma92; 3 :! Ma92; n:! Ma9/; 8:! Ma9/;
goto9y(='A); writeln(,em8re digitar os elementos das 2:N4., de cada
matriB);
* entrada matriB . 7
te9tcolor(1>);
goto9y(='>); write(nr)linha de . 000# ); readln(m);
goto9y(='=); write(nr)coluna de . 000# ); readln(n);
"or ::!1 to m do * nr)2:N4., 7
begin
writeln;
"or Y:!1 to n do * nr)/&2UN., 7
begin
write( .T':'''Y'U' !); read(.T:'YU);
end;
end;
clrscr; * entrada matriB + 7
goto9y(='>); write(nr)linha de + 000# ); readln(3);
goto9y(='=); write(nr)coluna de + 000# ); readln(8);
"or Y:!1 to n do
begin
writeln;
7O
"or 5:!1 to 8 do
begin
write( +T'Y'''5'U' !); read(+TY'5U);
end;
end;
* Processamento 7
4:!%;
"or ::!1 to m do
begin
"or 5:!1 to 8 do
begin
"or Y:!1 to n do
begin
4:! 4 ; .T:'YUL+TY'5U;
/T:'5U :! 4;
end;
4:!%;
end;
4:!%
end;
* ,aida 7
clrscr;
writeln;
writeln(. matriB 8roduto .)+ e:);
writeln;
"or ::!1 to m do
begin
writeln;
"or 5:!1 to 8 do
begin
* goto9y(@LY' @;:);7
write( /T':'''5'U' !' /T:'5U);
end;
end;
re8eat until key8ressed;
end)
c) RE#ISTROS X
Trabal=ando co. /e)ore* e .a)ri9e* *J pode.o* .anip,lar inAor.a-e* do
.e*.o )ipo1 E**a* inAor.a-e* *o do )ipo Io,oJi-6o e Aor.a. ,. Ca,Do. EEe.plo*X
no)a*, al,no*, *e.e*)re*, .e*e*, e)c11 <e**e ca*o de/e-*e ,*ar ,. /e)or { o, ,.a
.a)ri9 } para cada ca.po1 <a pr6)ica e**a *i),ao pode )orna-*e de*aCrad6/el11 ?ara
*,perar diAic,ldade* de**e )ipo crio,-*e o,)ro )ipo de 6s5/151/a { \ co.po*io de /6rio*
ca.po* } K,e per.i)e )rabal=ar co. di/er*o* )ipo* de inAor.a-e* n,. 4nico con;,n)o1
Ela recebe, o no.e de RE#ISTRO. ?or)an)o, ,. reCi*)ro ,. aJLo,6/a.o I656/oJi-6o
.6 .a.os Ta.bN. pode.o* ,*ar a *eC,in)e deAinioX RE&%STRO / um )o*Wu*to de
)am;o($
8P
de)lara9:o de um re0i(tro / ;re)edida ;ela de6i*i9:o de todo( o( (eu( eleme*to(
{ca.po*} $* reCi*)ro* *o delineado* a)ra/N* de ,. doc,.en)o c=a.ado Ho/,1LK/2o.
$ %$!B('m!&$ de/e apre*en)ar )odo* o* ca.po* K,e co.p-e o !eCi*)ro de Aor.a
pr6)ica, *in)N)ica e A,ncional1 (. eEe.plo pode *er o *eC,in)eX
?ara a apre*en)ao da SINTA;E S .6H2-2EMo T de*)a no/a e*)r,),ra pode.o*
.encionar a* *eC,in)e* *i),a-e*X
1n) R6J2s5/os S2,DL6s so,6-56 Co, 52Dos GKs2Cos EEe.ploX
!eCi*)ro de SJcio
TND6
RE#jDEjSkCIO A R6Co/.
No,6, E-.. 4 s5/2-J=
CPF4 2-56J6/=
E-.=
'a/
SBC2o4 R6JjD6jSBC2o= { aK,i o iden)iAicadorX !eCfDefSJcio pode *er e*cri)o e.
Aor.a)o .ai4*c,lo o, .in4*c,lo o, de o,)ra* Aor.a* }
onde 13) T!E+fDEfSr#&$U N o ide*ti6i)ador do reCi*)ro { no.e do reCi*)ro *e.
e*pao* /a9io* e , de preAerVncia, e. Aor.a)o .ai4*c,lo1 }1 E**e iden)iAicadorX
!E+fDEfSr#&$ repre*en)a a e*peciAicao de ,. ,o.6Lo Aor.ado pelo aClo.erado de
dado* =e)eroCVneo { \ con;,n)o de ca.po* }X No,6, E-. 6 CPF=
53) >SBC2o@ N a /ari6/el lJCica do reCi*)ro1 E**a /ari6/el repre*en)a ,.a K/6a .6
,6,B/2a { aK,i deno.inada SJcio }, )a;aN de )o*ter trO( (ubdivi(@e(: No,6, E-. e
CPF1
81
L2s5aJ6, .6 aL1-os
N] No,6
1 r.ando ?en)eado
5 Dario !ico)e
- - - - - - - - - - - - - - - - -
No,64jjjjjjjj
E-..4jjjjjjjjj
CPF4jjjjjjjjj
?erceba K,e, aCora, a .anip,lao do* ca.po* de**e reCi*)ro EI%&E ,. linH dire)a co.
a /ari6/el de reCi*)ro - *iCniAicaX no N .ai* po**0/el ,*ar 6ome1 +nd e C78 i*olada.en)e
{ a .eno* K,e *e ado)e o ,*o do co.ando WITH, conAor.e /ere.o* .ai* adian)e }1 E**a
liCao N Aei)a pela *eC,in)e no)aoX <arivel $ Cam;o SJcio1<o.e, SJcio1!eC e
SJcio1#?% 1
Bai* ,.a /e9, D6/C6Ga K,eX
13) E. )ype C/2a,os o reCi*)ro de no.e !E+fDEfSr#&$M
53) E. >ar .6CLa/a,os { deAini.o* } a /ari6/el _Sr#&$ co.o *endo do )ipo
!eCfDefSJcio1
Di9e.o* K,e Sr#&$ N ,.a 3a/2K36L LBJ2Ca porK,e ela ir6 oc,par ,.a 6rea da .e.Jria
do Bicro1
:g) R6J2s5/os S2,DL6s Co, 52Dos GKs2Cos 6 Co-s5/1V.os { )a.bN. c=a.ado
R6J2s5/o .6 Co-f1-5o } EEe.ploX

R6J oL652,
E-.6/6Eo N ,. reCi*)ro
e.b,)ido no o,)ro
reCi*)ro de no.e
oL652,.

TND6
RE&`END ? Re)ord
R1a4 s5/2-J=
Ng, CEP4 2-56J6/=
E-.=
RE&`BOLET%' ? Re)ord
No,6, C2.a.6, Es5a.o4
s5/2-J=
Ng , HaL5as4 2-56J6/=
$[.2a4 /6aL=
E-.6/6Eo4 R6JjE-.=
E-.=
'a/
oL652,4 R6JjoL652,
85
Ng jjj No,64 jjjjjjjj
E-.6/6Eo4
R1a -g CEP
C2.a.64 Es5a.o4
$[.2a4 FaL5as4
<e*)e eEe.plo, RE&`END e RE&`BOLET%' de*iCna. no.e*
( iden)iAicadore*) de .odelo* de reCi*)ro (aClo.erado =e)eroCVneo de di/er*o* ca.po*)M
Boletim N a /ari6/el lJCica de reCi*)ro K,e repre*en)a ,.a 6rea de .e.Jria de*)inada a
con)er o con;,n)o de *,bdi/i*-e* K,e *o o* ca.po*X <o.e, #idade, e)c11
#o.o eEe.plo* de atribui9:o de valore( pode.o* ci)arX
Bole)i. 1 <o.e +enoi.o DilJ/io
Bole)i. 1 #idade Tie)V
Bole)i. 1 BNdia 7,g
Bole)i. 1 Endereo 1 !,a !,a >alNreo 'ola
Bole)i. 1 Endereo 1 #E? 5g7S:O
3g) R6J2s5/o Co,Dos5o ! 5/a5a!s6 .6 1, 'ETOR C1fos 56/,os sMo /6J2s5/os
S )a.bN. c=a.ado Co-f1-5o .6 R6J2s5/o T.
EEe.plo*X
I)
R6J oL652,
E-.6/6Eo N ,.
reCi*)ro e.b,)ido
no o,)ro reCi*)ro
de no.e oL652,.

'65o/ ALP I Q .6 V-.2C6 I
TND6
RE&`END ? Re)ord
R1a4 s5/2-J=
Ng, CEP4 2-56J6/=
E-.=
RE#jOLETI$ A R6Co/.
No,6, C2.a.6, Es5a.o4 s5/2-J=
Ng , HaL5as4 2-56J6/=
$[.2a4 /6aL=
E-.6/6Eo4 R6JjE-.=
E-.=
'a/
87
Ng jjj No,64 jjjjjjjj
E-.6/6Eo4
R1a -g CEP
C2.a.64 Es5a.o4
$[.2a4 FaL5as4
8
:
-
AL4 a//aN P 8..- Q oH R6JjoL652,=
I4 2-56J6/=




!eCi*)ro E<DE!E2$

II) >e)or '

Ba)ri9 $
TND6
RE#jENDERE%O A R6Co/.=
R1a4 s5/2-J=
Ng, CEP4 2-56J6/=
E-.=
'65o/ A a//aN P 8 .. , Q .6 2-56J6/=
$a5/2a A ,a5/2a P 8 .. :, 8 .. : Q .6 /6aL=

RE#jPILOTO A R6Co/.
No,64 s5/2-J=
E-.6/4 R6JjE-.6/6Eo=
' 4 '65o/=
$ 4 $a5/2a=
E-.=
'a/
P2Lo5o A a//aN P 8 .. - T .6 R6JjP2LoJo=
I,?,c,L4 2-56J6/

<e*)e eEe.plo pode.o* de*)acarX
I.6-52H2Ca.o/6s RE#jENDERE%O, '65o/, $a5/2a 6 RE#jPILOTO.
'a/2K362s LBJ2Cas {mrea* de .e.Jria T E-.6/, ' P I Q, $ P c , L Q
6 P2Lo5o P ? Q
lC,n* eEe.plo* de a)rib,io de /alore*X
?ilo)oZ11[1Ender1!,a !,a da De9,ni
?ilo)oZ57[1>Z7[ \ 7557
88
8
:
-
No,64jjjjjjjjjjjjjj
E-.6/6Eo4
R1a Ng
CEP
8 : ................... ,
88 8:
:8 ::
?ilo)oZ77[1BZ5,1[ 781:S7,gO
?ilo)oZ:7[1<o.e l,09io ?ereira Bic=arara
Uso .a .6CLa/aEMo ( A Co,a-.o ) WITH co.o ;6 *abe.o*, a ci)ao
do* ca.po* de ,. reCi*)ro *o precedido* pelo no.e lJCico do reCi*)ro *eC,ido de
,. pon)o1 EEe.ploX '1<o.e, '1Endereo, '1!+, '1BNdia, e)c11 Se o
reCi*)ro po**,ir ,. Crande n4.ero de ca.po* o proce**o repe)i)i/o de e*cre/er o
no.e do ca.po ( ' ) *eC,ido de pon)o an)e* de )odo* o* ca.po* ( <o.e,
Endereo, !+, BNdia, 111 ) )orna-*e can*a)i/o e in/i6/el porK,e oc,pa .,i)o )e.po
e e*pao1 $ Co,a-.o WITH Aoi criado ;,*)a.en)e para a.eni9ar e*)e
incon/enien)e1 $ *e, ,*o per.i)e s2,DL2H2Ca/ 6ssa -o5aEMo porK,e elimi*a a
*e)e((idade de (e e()rever o *ome do re0i(tro (e0uido de ;o*to a*te( do *ome do
)am;o$
#ada co.ando W&TD per.i)e *,pri.ir a)N " 36a6s o no.e do reCi*)ro *eC,ido
de pon)o, an)e* do* no.e* do* ca.po*1

E*K,e.a b6*icoX
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Type
SkCIO \ !ecord
<o.e, End, e-.ailX *)rinCM
!+, #?%, #&#X in)eCerM
EndM
>ar
SX SJcioM
BeCin
#lr*crM
WITH S .o
BeCin
Wri)e( a<o.e - - - L] ) M readln( <o.e)M { no N preci*o e*cre/erX S 1 <o.e
} Wri)e( a<o.e - - - L] ) M readln( End )M
Wri)e( a<o.e - - - L] ) M readln( e-.ail )M
Wri)e( a<o.e - - - L] ) M readln(!+ )M
Wri)e( a<o.e - - - L] ) M readln( #?%)M
Wri)e( a<o.e - - - L] ) M readln( #&# )M
EndM
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(9em8lo:

Program ,obreReg/omUsoJ:D4;
uses crt;
Dy8e Pessoas ! Record
Nome: stringTA%U;
idade: integer;
se9o: char;
end;
8:
-ar
8: Pessoas;
+egin
clrscr;

J:D4 8 do
begin
goto9y(1%'1%);
write( Nome: ); readln(Nome);
goto9y(1%'1$);
write( idade: ); readln(:dade);
goto9y(1%'1>);
write( se9o: ); readln(,e9o);
clrscr;
goto9y(1$'1$); writeln(-oce digitou os seguintes dados);
goto9y(1$'1=); writeln(nome' 0 ' idade' 0 ' se9o);
re8eat until key8ressed;
end;
end)
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
6. SU!ROTINAS ( SR )
(. do* rec,r*o* .ai* ,*ado* na a)i/idade de proCra.ao N *,bdi/idir ,.
proCra.a e. di/er*a* par)e* .enore*, .ai* *i.ple* e A6cei* de *ere. co.preendida*1
E**a* par)e* Aora. criada* para Aacili)ar a con*)r,o de proCra.a*1 ?oi*, eli.ina. a
nece**idade da repe)io de cJdiCo*, /i*)o K,e o* bloco* de co.ando* repe)ido* pode. *er
)ran*Aor.ado* n,.a de**a* *,bdi/i*-e*1 lN. di**o, e**e procedi.en)o N de ,)ilidade
cr,cial para a* *i),a-e* e. K,e *e )en=a a nece**idade de eAe),ar al)era-e*, acrN*ci.o*,
pe*K,i*a* o, .an,)eno do *i*)e.a1 #ada ,.a de**a* par)e* N c=a.ada de s1G!/o52-a
(abre/iaoX S! ) o, ,B.1Lo de ,. proCra.a1 j,ando ,. T.Jd,loU pode *er ,*ado por
di/er*o* proCra.a* diAeren)e*, ne**e con)eE)o di9-*e K,e *e )ra)a de ;ro0rama9:o modular
{ o, .od,lari9ao }$
+enerica.en)e, K,alK,er par)e de ,. proCra.a )a.bN. N c=a.ada de /o52-a.
<o N *J o ?? {?roCra.a ?rincipal o, !o)ina #=a.adora} K,e pode *er *,bdi/ido e.
S!1 * S! )a.bN. pode. *er parcelada* e. par)e* .enore* para Aacili)ar a *,a
.anip,lao e en)endi.en)o1 E**e proce**o de *e *,bdi/idir o ?? e *,a* prJpria* S!* e.
o,)ra* S!* N c=a.ado de R6H2-a,6-5o S1C6ss23o o1 ToD!DoX- { de ci.a para baiEo }.
Todo e**e proce**o )a.bN. N c=a.ado P/oJ/a,aEMo 6s5/151/a.a, porK,e *e )ra)a de ,.a
co.po*io de /6rio* Tpedao* de proCra.aU1
?or /6rio* .o)i/o* e nece**idade Aora. criada* S! de /6rio* )ipo*1 E. pri.eiro l,Car
pode.o* .encionar K,e o* .en)ore* do T? ;6 criara. ,. Co-f1-5o .6 /o52-as D/o-5as
para *ere. ,*ada* pelo proAi**ional da proCra.ao1 E**e con;,n)o Aoi c=a.ado UNITS
{ (nidade* }. E**a* U*it( (:o roti*a( Pue devem (er di()rimi*ada( lo0o de;oi( do *ome
do ;ro0rama e (em;re ;re)edida( da i*(tru9:o Us6s. (ni) CRT N ,*ada e. )odo* o*
proCra.a*M ela eAe),a a li.pe9a da )ela an)e* de iniciar a eEec,o de ,. proCra.a e
8S
depoi* *e encarreCa do po*iciona.en)o da* .en*aCen*1 o,)ra (ni) .,i)o ,*ada N a
P/2-56/, K,e per.i)e eAe),ar o ,*o de ,.a i.pre**ora1
Te.o* a *eC,in)e *in)aEeX
?roCra. T'M
Us6s
C/5=
P/2-56/=
! ! ! ! ! ! ! ! ! ! !
h,n)o co. a* (ni)* )a.bN. *o con*)an)e.en)e ,*ado* o,)ro* D/oC6.2,6-5os )a.bN. fK
D/o-5os e e.b,)ido* no T?1 So ele*X
CLRSCR / muito u(ado lo0o de;oi( de Be0i*$ Ba* )a.bN. pode *er ,*ado
e. K,alK,er o,)ro pon)o do proCra.a1 Ele eEec,)a a* )areAa* de 13) eAe),ar a li.pe9a da
)ela dele)ando )odo* o* carac)ere* an)erior.en)e pre*en)e*M 53) po*icionar o c,r*or na
po*io (1,1), corre*ponden)e ao can)o e*K,erdo *,perior1 Ta.bN. ;6 /i.o* K,e #lr*cr N
a abre/iao da eEpre**o #lear Screen ( \ li.par a )ela ) da l0nC,a &nCle*a1 E**e
procedi.en)o N .encionado na .aioria do* proCra.a* do T? loCo depoi* da pala/ra BeCinX
- - - - - - - - - -
BeCin
CL/sC/=
- - - - - - - - -
#OTO;]( D , 0 ) D ( /aria de 1 a)N gP) indica a orde. de col,na e 0
( /aria de 1 a)N 5: ) a orde. de lin=a1 E**e procedi.en)o di*ponibili9a o c,r*or na
po*io ( p , K ) 1
lN. da* ro)ina* pron)a* e ;6 e.b,)ida* no T?, ainda )e.o* doi* o,)ro* )ipo* K,e
de/e. *er deAinida* pelo proCra.adorX
8g) PROCEDURE ( A procedi.en)o ) N ,.a S! ( .Jd,lo o, ro)ina) de ,.
proCra.a1 <o T? a* S!* obriCa)oria.en)e de/e. *er codiAicada* R H/6-56 .o PP o1
Ro52-a CIa,a.o/a.
$ ?roced,re *endo ,. proCra.a nor.al, *eC,e o* .e*.o* de)al=e* e nor.a* de o,)ro
proCra.a K,alK,er1 W preci*o de*)acar K,e e**e )ipo de S! N par)ic,lar.en)e ,*ado no*
ca*o* relacionado* co. a* e*)r,),ra* de B4l)ipla E*col=a1
?or nor.a, re;etimo(, e**a* ro)ina* ( \ bloco* de proCra.a ) de/e. *er .6CLa/a.as
a-56s .6 s6/6, CIa,a.as. $, *e;a, *o alocada* en)re o >! e o BE+&< do proCra.a
principal1
:g) FUNCTION ( \ A,no ) N a S! K,e s6,D/6 %$!<E#E ,.
/alor( n,.Nrico, li)eral o, lJCico ) relacionado no proce**a.en)o, -o D/BD/2o -o,6 .a
H1-EMo.1 $, *e;a, ,.a A,nc)ion (em;re dever retor*ar um valor ao )Aamador$
Sin)aEe*X
87
P/oC6.1/6 F1-C52o-
P/oC6.1/6 ^No,6 6, ,a2esC1La_ P (Da/Y,65/5os)Q F1-C52o- ^ No,6 6, ,a2esC1La_ P3a/2K362s4
52DoQ4 52Do
'a/ 'a/
^3a/2K362s_ ^3a/2K362s_
LoCo LoCo
EEe.plo*X

1)
Program UsoPR&/(1UR(;
uses crt;
-ar .: array T 1))1%U o" integer; :'Y: byte; 4: integer;
Procedure TROCA (-ar .'+: integer ); *os 8rocedures sHo colocados logo
de8ois da subarea -.R 7
var 4: integer;
begin
4:!.;
.:!+;
+:!4;
end;
Procedure ORDENA(-ar .'+: integer);
var 4: integer;
begin
i" (.#+) then
DR&/.(.'+);
end;
Procedure ENTRADA ( -ar N: integer );
begin
Jrite (-alor de N! S ); readln(N)
end;
Procedure SAIDA (-ar 6: integer);
begin
writeln ( 6 ! ' 6);
end;
* PP ou Rotina /hamadora 7
begin
clrscr;
goto9y($%'>); Jriteln( Programa Princi8al );
Kor ::!1 to 1% do
begin
goto9y($%' =;:);
(NDR.1. ( .T:U );
end;
"or ::!1 to M do
"or Y:!:;1 to 1% do
8g
begin
&R1(N. ( .T:U' .TYU );
end;
clrscr;
writeln( & resultado "inal da classi"icacao dos nrs) digitados e:);
writeln;
Kor ::!1 to 1% do
begin
goto9y($P'A;:);
,.:1. ( .T:U );
end;
re8eat until key8ressed;
end)
5)
Program UsoKUN/D:N;
uses crt;
unction DIEREN!A (.'+: integer): integer; * Procedure e Kunction sao 7
+egin * colocados antes do begin do PP 7
clrscr;
1:K(R(N/. :! .0+;
end;
* PP ou Rotina /hamadora 7
-ar N' 6' R: integer;
+egin
clrscr;
goto9y($%'1%);
Jrite (N! ); readln(N);
goto9y($%'11);
Jrite (6! ); readln(6);
R :! 1:K(R(N/. (N'6);
writeln;
writeln;
goto9y($%'1A);
writeln (. dire"enca R: ' R);
goto9y($%'1?);
writeln (Pressione 3ual3uer tecla 8ara "inaliBar); readln;
end)
a$ PRO&RA'AUVO ESTRUTURADA
SeC,ndo o dicion6rio ,rNlio, EST!(T(! N a Tdi*po*io e orde. da* par)e* de ,.
)odoU1 #onAor.e ;6 /i.o*, e*)e N ,. concei)o K,e aco.pan=a a .aioria do* proce**o* de
proCra.ao, pelo Aa)o de K,e ela )rabal=a co. ,. Crande n4.ero de /ari6/ei*1
8O
Ta.bN. ;6 e*)6 co.pro/ado cien)iAica.en)e K,e o *er =,.ano *J N capa9 de re*ol/er
K,e*)-e* { e*)r,),ra* } con)endo ,. con;,n)o de *e)e /ari6/ei*, co. de*/io doi*1 ?or i**o,
proble.a* K,e con)V. ,. con;,n)o de .ai* de oi)o o, no/e /ari6/ei* *o con*iderado*
Co,DL67os.
#o.o o* ?!$B'EBS #$B?'EF$S pode. *er )ra)ado* t
$ra, ;6 K,e a co.pleEidade de ,.a *i),ao e*)6 liCada ao n4.ero de *i),a-e*
diAeren)e* K,e ela pode apre*en)ar, K,ando .6Co,Do,os ,. proble.a e. *,bproble.a*,
a,)o.a)ica.en)e e*)are.o* /6.1a2-.o o n4.ero de /ari6/ei* e, con*eKpen)e.en)e, de
*i),a-e* diAeren)e*1 **i., cada *,bproble.a )orna-*e ,.a s251aEMo s2,DL2H2Ca.a, porK,e
con)N. ,. red,9ido n4.ero de diAic,ldade*1 &**o per.i)e HoCaL2aa/ o racioc0nio n,.a
*i),ao de cada /e9, a,.en)ando o en)endi.en)o, e po**ibili)a ob)er a .el=or *ol,o1
$,)ro**i., K,ando nece**6rio, cada *,bproble.a )a.bN. pode *oArer no/a*
deco.po*i-e*, de .odo a red,9ir cada /e9 .ai* o Cra, de co.pleEidade1
E. re*,.o, o no**o K,e*)iona.en)o )e. a *eC,in)e re*po*)aX um ;roblema )om;le1o
deve (er divido em ;arte( me*ore($ E((a( ;arte( tamb/m ;odem (er (ubdividida( em
outra( ai*da me*ore( e a((im (u)e((ivame*te$
#o. e**a a)i),de pode.o* c=eCar Y* *i),a-e* pa**0/ei* de A6cil re*ol,o1
E. proCra.ao aCi.o* eEa)a.en)e de*)a Aor.a1 * no/idade* e*)o na )er.inoloCia e
.e)odoloCia ,*ada* ne*)e con)eE)o1
(. D/oJ/a,a Co,DL67o pode *er parcelado e. ;ro0rama( me*ore(F de re*ol,o .ai*
*i.ple*1 #ada ,.a de**a* par)e* N c=a.ada de SU!ROTINA { *iClaX SR } o,
$kDULO { con;,n)o de in*)r,-e* K,e A,nciona. de .odo independen)e }. ?or i**o,
e**e proce**o de parcela.en)o )a.bN. N c=a.ado de $ODULARI<A%O.
#ada S!, por *,a /e9, pode *er no/a.en)e *,bdi/idida e. o,)ra* par)e*, para prod,9ir
*ol,-e* ainda .ai* *i.pliAicada*1 E**e proce**o de *e di/idir ,. proCra.a e. S! e cada
S! e. o,)ra* S! e a**i. *,ce**i/a.en)e N c=a.ado .N)odo do REFINA$ENTO
SUCESSI'O { *iCla RS }1
?or o,)ro lado, o proce**o de deco.po*io de ,. proCra.a no pode *er Aei)o a e*.o1 W
nece**6rio a.o5a/ 1, C/25[/2o1 E**e cri)Nrio N deno.inado PRO#RA$A%AO
ESTRUTURADA {*iCla PE} e con*i*)e e. reduNir a )om;le1idade de um ;ro0rama em
trO( *Xvei(:

13) DeAinir e di9er K,ai* *o a* )areAa* principai* do proCra.a1
53) DeAinir o Pro0rama Pri*)i;al { *iCla PP } 1 W o ?? K,e /ai )o*trolar toda( a(
outra( tare6a( di*)rib,0da* e. *,a* re*pec)i/a* S!*1 E**e con)role de/e *er Aei)o a)ra/N* de
,. 'e*u de O;9@e($
73) &niciar o proce**o de detalAame*to de )ada SR$
con*iderao de**a* )rV* e)apa* N deno.inada $[5o.o TOP!DOWN S 'V-*eX TJp
D6],. de ci.a para baiEo } - ?or i**o di9-*e K,e a PE u(a o m/todo To;GDoJ*$
E*K,e.a il,*)ra)i/oX
:P
P/oGL6,a PRO#RA$A
ENTRADA SAIDA C(LCULOS
.od,lo*



*,b-ro)ina*


+lo**6rioX
8. P/oGL6,a Co,DL67o N ,. proble.a K,e con)N. ,. con;,n)o de pelo .eno* oi)o
/ari6/ei*1
:. Es5/151/a N a Tdi*po*io e orde. da* par)e* de ,. )odoU1
3. Ro52-a N K,alK,er con;,n)o de in*)r,-e* K,e eEec,)a ,.a A,no1 ?ode *er
,)ili9ada por ,. o, .ai* proCra.a*1
d. S1G!Ro52-a (SR) o1 ,B.1Lo N K,alK,er par)e co.ponen)e de ,. proCra.a K,e
A,nciona de .odo independen)e11
5. R6H2-a,6-5o S1C6ss23o (RS) N o proce**o de *e *,bdi/idir a* S!* e. o,)ra* S!*
.enore*1
6. $o.1La/2aaEMo N o proce**o de *e *,bdi/idir ,. proCra.a e. /6rio* .Jd,lo*1
". $[5o.o ToD!DoX- (TD) N o proce**o K,e con*i*)e e. de*en/ol/er a
T.on)aCe.U de ,. proCra.a de ci.a para baiEo, do *eC,in)e .odoX deAine-*e a*
)areAa* b6*ica*, deAine-*e o ?roCra.a ?rincipal co. o BE<( de )oda* a* op-e* e
Ainal.en)e, Aa9-*e o de)al=a.en)o da* *,b-ro)ina*1
&. P/oJ/a,aEMo Es5/151/a.a N o proce**o de proCra.ao K,e ,*a o .N)odo Top-
Down1
*. P/oJ/a,a N ,. concei)o .ai* Ceral1 Ele enCloba Ro52-a, S1G!Ro52-a 6 $B.1Lo=
Ro52-a , por *,a /e9, enCloba S! e BJd,lo1
EnAi., cada ,. de**e* concei)o* de/e *er ,*ado e in)erpre)ado den)ro do con)eE)o
onde e*)6 *endo Aocali9ado1


:1
$a-1aL
$6CY-2Co
E012D6 A E012D6 A15o,K52Co
Co-5/oLa.o
&. ESCOPO DE 'ARI('EIS, PAR)$ETROS E PASSA#E$ DE
PAR)$ETROS
* /ari6/ei* de ,. proCra.a preci*a. *er relacionada* e aCr,pada*
coeren)e.en)e para K,e no ocorra conAli)o d,ran)e o anda.en)o da eEec,o1 $ 6sCoDo
de ,.a /ari6/el reAere-*e ;,*)a.en)e Y *,a abranCVncia e. relao Y par)e do proCra.a
onde ela e*)6 *endo ,*ada1 E**a abranCVncia Aica perAei)a.en)e carac)eri9ada por .eio de
dua( ;rovidO*)ia(X 1n) a /ari6/el N declarada no ?? { ?roCra.a ?rincipal o, ro)ina
c=a.adora }1 <e*)e ca*o o *e, ,*o N eE)en*i/o a )odo* o* .Jd,lo* (S!*) K,e co.p-e. o
proCra.a1 ?or i**o, e**a* /ari6/ei* Aora. deno.inada* 3a/2K362s #LOAIS. :l) E.
o,)ra* *i),a-e* a /ari6/el N declarada den)ro de ,.a de)er.inada S! { S,b-ro)ina \
.Jd,lo \ ro)ina}1 <e*)e ca*o o *e, ,*o Aica re*)ri)o ,nica.en)e ao* li.i)e* de**e bloco1
Depoi* de ,*ada* den)ro da S!, ela* *o eli.inada*1 Di9-*e K,e e**a /ari6/el N 2-56/-a a
e**a S!1 ?or i**o, e**a* /ari6/ei* Aora. c=a.ada* 3a/2K362s LOCAIS.
Se pen*ar.o* e. n0/ei* de abranCVncia pode.o* di9er K,e T,.a /ari6/el N JLoGaL a
)odo* o* .Jd,lo* =ierarK,ica.en)e inAeriore* e N LoCaL K,ando N /i*0/el apena* e. *e,
con)eE)o
1
e no ao* .Jd,lo* =ierarK,ica.en)e *,periore*U { %orbellone, 1 '1 >1 e
Eber*pac=er, D1% 1 'JCica de ?roCra.ao1 7n Edio - ?ear*on Ed,cacion - So ?a,lo G
5PP: }1 - Z (
1
) en)enda T)o*te1toR co.o bloco o, S![1

E*)a* coloca-e* pode. *er co.preendida* .ai* Aacil.en)e a)ra/N* do diaCra.a
apre*en)ado abaiEoX


NV36L GLoCo
P
1 B, D e %
5 # e b
7 F e "
<e*)a *eKpVncia de n0/ei* ( i1N, de =ierarK,ia) a* /ari6/ei* declarada* no n0/el P
( K,e ne*)e e*K,e.a N ) N Clobal e. relao ao* n0/ei* 1, 5, 7, 111, a* declarada* no n0/el 1
( B, D e % no e*K,e.a aci.a) *o Clobai* e. relao ao* n0/ei* 5, 7, 8, 111 e a**i.
*,ce**i/a.en)e1 ?or o,)ro lado, e. relao ao n0/el P, a* /ari6/ei* B, D e % *o locai*
den)ro do n0/el 1, e. relao ao n0/el 1, a* /ari6/ei* # e b *o locai* den)ro do n0/el 5, 111
e a**i. *,ce**i/a.en)e1
:5

B,D
#
F
"
%
b
Pa/Y,65/o N ,.a /ari6/el K,e e*)abelece ,.a coneEo en)re ,.a S! e o ?? ( \
/o52-a CIa,a.o/aT o, en)re d,a* S!* de n0/ei* =ierarK,ica.en)e diAeren)e*, *endo a de
n0/el .enor a /o52-a CIa,a.o/a.
$* par^.e)ro* *o cla**iAicado* e. doi* )ipo*X
= FOR$AIS
:
*o aK,ele* declarado* de*tro de ;arO*te(e(, loCo apJ* o
no.e da S!1
EEe.ploX
?roced,re D&>&Sq$ ( , BX in)eCer )M
>ar
!X real
BeCin
! X\ R BM
Wri)eln ( ! )M
EndM
>eriAica-*e K,e A 6 sMo 3a/2K362s Ho/,a2s .a SR DI'ISO e ! N a 3a/2K36L
LoCaL K,e Aoi ,*ada *o.en)e para C,ardar a *o.a de e BM depoi* de ,*ada ela N de*)r,0da1
Tra)a-*e de ,. T.odeloU K,e pode *er ,*ado e. K,alK,er *i),ao real condi9en)e co. a
*,a e*)r,),ra1 $ *e, ,*o *e.pre ocorre K,ando e B { K,e *o Aor.ai* } *o *,b*)i),0da*
por /alore* reai* { eAe)i/o* }, decorren)e de ,.a *i),ao )a.bN. real1
(
:
) <e*)e con)eE)o o )er.o TAor.alU de/e *er in)erpre)ado co.o ,. TmoldeR
, TmodeloR F T6ormaR o, ;adr:oF pron)o para *er ,*ado e. K,alK,er *i),ao real,
condi9en)e co. a *,a e*)r,),ra1
= REAIS *o aK,ele* K,e *,b*)i),e. o* par^.e)ro* Aor.ai*
7
no .o.en)o
e. K,e o ?? { !o)ina #=a.adora } co.ea a ,*ar a S! onde o* par^.e)ro* Aor.ai* Aora.
declarado*
(
3
) j,ando e**a *,b*)i),io N Aei)a o .odelo *e )ran*Aor.a n,.a *i),ao real, a)ra/N*
de /alore* ,)ili9ado* n,.a *i),ao da /ida real11
EEe.ploX
1111111111111111
BeCin
!eadln(T)M
!eadln(()M
Di/i*o(T,() 1
Di/i*o( 1P, 8)
<e*)e eEe.plo, o* par^.e)ro* T,U e o* /alore* 89 6 d *o !E&S1
lN. do* par^.e)ro* *ere. cla**iAicada* e. Aor.ai* e reai*, a* pa**aCen* de**e*
par^.e)ro* de ,.a S! para o ?? o, de ,.a S! para o,)ra S! c=a.adora, )a.bN. pode.
*er Aei)a* de doi* .odo*X
:7
e POR 'ALOR ocorre K,ando, .6-5/o .a SR, a pa**aCe. do real para o Aor.al
N Aei)a s6, aL56/aEMo do /alor real1 SiCniAicaX o proce**a.en)o N )odo Aei)o den)ro da S! e
o re*,l)ado )a.bN. Aica /652.o ne**a S!1
EEe.ploX
Program UsoPor-alor;
uses crt;
Procedure ,&M.( N:integer); * N e 8arametro "ormal 7
var :',: integer;
begin
clrscr;
,:!%;
Kor ::!1 to N do
begin
,:!,;:;
goto9y($%'1%);
Jriteln( ,oma ! ' ,);
end;
readln;
end;
-ar 2imite: integer;
+egin
clrscr;
goto9y($%'?);
writeln(Wual e o limite da soma S );
goto9y(A%'@);
readln(2imite); ,&M.(2imite); * -(Y. (98licacao abai9o 7
goto9y(1%'1$);
write(Pressione 3ual3uer tecla 8ara encerrar ); readln;
end)
E1;li)a9:o: o /alor L2,256 N a)rib,0do a < da ?roced,re S$B, s6, -6-I1,a
aL56/aEMo. E. *eC,ida a S! eAe),a a *o.a S de 1 a)N <, a K,al Aica
pre*a na prJpria S! S$B, *endo apre*en)ada na )ela a)ra/N* do /alor ob)ido para S1
1

e POR REFERmNCIA ocorre K,ando o 3aLo/ /6aL [ aL56/a.o )oda /e9 K,e o
par^.e)ro Aor.al N .anip,lado den)ro da S!1 Da0, apJ* o proce**a.en)o, o /6s1L5a.o
TFU N tra*(6erido ;ara 6ora da SRF /ol)a ao ??, onde N incorporado Y /ari6/el
RETORNO e, a)ra/N* dela, N apre*en)ado na )ela1
EEe.ploX
Program UsoPorRe"erencia;
uses crt;
Procedure /U+& ( b:integer; var P: integer);
begin
:8
P:!bLbLb
end;
* PP 7
var 9' R(D&RN&: integer; * vide e98licacao abai9o 7
ho: char;
begin
clrscr;
goto9y(1='1%);
write(Wual e o valor da base S );
goto9y($='1$); readln(9);
/U+&(9'R(D&RN&);
goto9y(1P'1>);
writeln (-alor do /U+& ! ' R(D&RN& );
goto9y(1='1P); writeln(Pressione 3ual3uer tecla 8ara "inaliBar);
ho :! readkey;
end)
E1;li)a9:o: T 7@ N par^.e)ro real Dassa.o Do/ 3aLo/ para o par^.e)ro Aor.al b
da SR CUBO$ RETORNO N a /ari6/el do ?? K,e recebe o
re*,l)ado ? do proce**a.en)o da S! , apre*en)ando-o na )ela1 W ;,*)a.en)e e**a
)ran*AerVncia do /alor de ? para a /ari6/el !ET$!<$ K,e N di)a ;a((a0em ;or re6erO*)ia1
1
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
*. AR+UI'OS
A/0123o N ,.a T?STU criada para ar.a9enar ,. de)er.inado )ipo de inAor.ao1
* inAor.a-e* alocada* n,. arK,i/o pode. *er de /6rio* )ipo*X )eE)o*, reCi*)ro*, o,)ro*
arK,i/o*, ele.en)o* Cr6Aico*, planil=a*, proCra.a*, co.ando*, ro)ina*, e)c11
$ arK,i/o *endo ,.a Das5a, ;6 e*)6 i.pl0ci)o K,eX
con)N. ,. con;,n)o de inAor.a-e* da .e*.a e*pNcieM
e**a* inAor.a-e* Aica. Cra/ada* n,. di*co { DD, #D, di*K,e)e, e)c1} *ob o
no.e da re*pec)i/a pa*)a, co.o #ar)a1doc, l,no*1.db, e)c11
$* arK,i/o* Aora. cla**iAicado* de acordo co. o )ipo de inAor.ao K,e ele ar.a9enaX
= ArPuivo de dado( con)N. *o.en)e dado* )ai* co.oX )eE)o*, n4.ero*,
reCi*)ro*, ele.en)o* Cr6Aico*, o, K,alK,er o,)ro )ipo de inAor.ao K,e no *e;a ,.a
in*)r,o eEec,)6/el1
$ T?, por *,a /e9, *,bdi/ide e**e* arK,i/o* e. d,a* o,)ra* ca)eCoria*X
FILE {lV-*e A6il arK,i/o } - )a.bN. *o c=a.ado* ra*dbmi)o(F de
a)e((o aleatHrio ouF ai*daF D%RETO ou de a)e((o direto$ $* %&'E carac)eri9a.-*e pelo*
*eC,in)e* de)al=e*X
Ba*ica.en)e ar.a9ena. *o.en)e inAor.a-e* do )ipo recordM
O a)e((o L i*6orma9:o / direto$ SiCniAicaX pode-*e b,*car
::
diretame*te ,.a de)er.inada inAor.ao e. K,alK,er po*io K,e a .e*.a *e encon)re,
*e. a nece**idade de pa**ar por K,alK,er o,)ra inAor.aoM
#ada %&'E de/e ar.a9enar apena* ,. )ipo de dadoX in)eCer, real,
!ecord, *)rinC, by)e, e)c11
TE;T {lV-*e )NH*) )eE)o \ K,alK,er con;,n)o de carac)ere*
alAan,.Nrico }, )a.bN. *o c=a.ado* arK,i/o* s60n6-C2a2s1 $* TEFT po**,e. a*
*eC,in)e* carac)er0*)ica*X
?ode. *er edi)ado* a)ra/N* de K,alK,er edi)or de )eE)oM
lei),ra )e. K,e *er Aei)a *eKpencial.en)e do in0cio a)N o Ai., no
*endo po**0/el ,*ar ,. *eeH { N ,. co.ando ,*ado no %ile para ob)er a locali9ao dire)a
de ,. reCi*)ro }1
= ArPuivo de ;ro0rama con)N. a codiAicao de ,. proCra.a1 EEe.plo*X
,)oeEec1ba), Word1co., win1eEe, calde)er1eEe, e)c11
= ArPuivo i*de1ado *o arK,i/o* ,*ado* pelo* Cerenciadore* de banco de
dado*1
* /an)aCen* de ,. arK,i/o *o de K,e ele podeX
ar.a9enar ,.a TinAinidadeU de inAor.a-e*M
per.anecer a)i/o por )e.po Tinde)er.inadoUM
*er .anip,lado a K,alK,er .o.en)o para a* opera-e* de incl,*o, re.oao,
al)erao o, pe*K,i*a1
*eC,ir /a.o* )ra)ar do* procedi.en)o* e co.ando* ,*ado* no .an,*eio do*
arK,i/o*1
4 Co,a-.os .o a/0123o FILE o* co.ando* .ai* ,*ado* na .anip,lao
de arK,i/o* *oX
* D6CLa/aEMo pode *er Aei)a da* *eC,in)e* .aneira*X

Sin)aEeX
:S
13) rK,i/o %&'EX
5ND6
^ 2.6-52H2Ca.o/ _ A Aile oA ^ 52Do _
'a/
^ 3a/2K36L_ 4 ^ 2.6-52H2Ca.o/ _=
$(
'a/
^ 3a/2K36L _ 4 H2L6 oH ^52Do_=
* ASSI#N { lV-*eX e6]in a**ociar, de*iCnar, no.ear, a)rib,ir,
e*peciAicar, declarar, 111} - e*)e co.ando cria ,. arK,i/o, a**ociando o 2.6-52H2Ca.o/
{ )a.bN. diCo *ome lH0i)o } ao -o,6 .o a/0123o 6, .2sCo { )a.bN. di)o *ome
e1ter*o }. $ no.e eE)erno de ,. arK,i/o N ,.a eEpre**o K,e indica a *,a locali9ao
A0*icaX drive: *ome$ ti;oc M )e. a *eC,in)e *in)aEeX
$ co.ando SS&+< N ,*ado depoi* do beCin, do *eC,in)e .odoX
$nde a) %de*ti6i)ador N *ome lH0i)o aK,ele K,e *er6 ,*ado e. )odo o
proce**a.en)o do proCra.a re*er/a ,.a 6rea de .e.Jria11 B) I dri/e L X no.e 1 I
)ipo L N o *ome e1ter*o do arK,i/o e. di*co aK,ele K,e AiC,ra na ,nidade e. K,e o
arK,i/o Aoi Cra/ado1
EEe.ploX

Type
l,no* \ record
<o.eX *)rinC
endM
>ar
:7
a ^ ./236 _ 4 No,6 . ^ 52Do _O
Ass2J- ( ^2.6-52H2Ca.o/ _ , a ^ ./236 _ 4 No,6 . ^ 52Do _O
'X l,no*M D$X Aile oA al,no*M
BeCin
Ass2J- ( HO , oA 4 oL652, . D5aO )= { a N o dri/e de di*K,e)e }
- - - - - - - - - - - - - - -
$ T? di*p-e de doi* co.ando* para abrir um arPuivo: R6X/256 6 R6s65.
* REWRITE { lV-*eX rir,]ai()) abrir, reno/ar, a),ali9ar } ! e*)e
co.ando *e.pre N ,*ado loCo depoi* do Ta**iCnU para )riar e abrir ,. no/o arK,i/o1
#a*o o arK,i/o ;6 eEi*)e o *e, con)e4do N dele)ado e no *e, l,Car *er6 Cerado e*)e no/o
arK,i/o1
Sin)aEeX

EEe.ploX
- - - - - - - - - - - - - -
Type
l,no* \ record
<o.eX *)rinCM
EndM
>ar 'X l,no*M D$X Aile oA al,no*M
BeCin
**iCn ( D$, a X Bole)i. 1 D)a ] )M
R6X/256 ( HO )=
! ! ! ! ! ! ! ! ! ! ! ! ! !
#o. e**e* co.ando* o arK,i/o D$ ;6 e(t ;ro*to ;ara (er u(ado e. opera-e* de
en)rada e *a0da1
* RESET { lV-*eX ri**N()) reiniciali9ar } - e*)e co.ando Aoi criado para
aG/2/ a/0123os fK 672s56-56s1 #a*o o arK,i/o no eEi*)a, ocorrer6 ,.a .en*aCe. de erro1
Sin)aEeX


EEe.ploX
Type
l,no* \ record
<o.eX *)rinCM
EndM
>ar 'X l,no*M D$X Aile oA al,no*M
BeCin
:g
R6X/256 ( ^ 2.6-52H2Ca.o/ _ )
R6s65 ( ^ 2.6-52H2Ca.o/ _ )
**iCn ( D$ , a X Bole)i. 1 D)a] )M
R6s65 ( HO )=
! ! ! ! ! ! ! ! ! ! ! ! ! !
OBSER<AUdES: $* doi* 4l)i.o* co.ando* no *o co.ple)o*1 $ pri.eiro
*o.en)e abre arK,i/o* no/o* o, dele)a ,. arK,i/o ;6 eEi*)en)e1 $ *eC,ndo *o.en)e per.i)e
a aber),ra de arK,i/o* ;6 eEi*)en)e*1 $ T? po**,i ,. rec,r*o c=a.ado Diretiva de
Com;ila9:o K,e pode re*ol/er proble.a* de**e )ipo1 ?ara cada *i),ao )e.-*e ,.
de)er.inado )ipo de dire)i/a1 <a pre*en)e *i),ao, K,e *e reAere Y en)rada e *a0da de
dado*, *er6 ,*ada a dire)i/a \I

, Co, as s2-5a76s4 S \I
!
T 6 S \I
h
T . E**a* dire)i/a*
Aa9e. a c=ecaCe. de en)rada e *a0da { & R $ lV-*e ai R o, }1
* dire)i/a* de c=ecaCe. & R $ pode. =abili)ar o, inibir erro* de eEec,o de ,.
proCra.a, a cada E e S1 Se Aor =abili)adaX { $&
`
} e ocorrer erro na ro)ina de en)rada o,
*a0da, o proCra.a *er6 in)erro.pido co. a re*pec)i/a .en*aCe. de erro1 Se Aor
inabili)adoX { $&
-
T, o re)orno do erro *er6 en/iado a ,.a A,no c=a.ada IORESULT
{ lV-*eX ai o, ri*ol()) } e poder6 *er a/aliado pelo proCra.ador1
de*crio de )oda* e**e* acon)eci.en)o* pode *er Aei)a pelo* *eC,in)e* co.ando*X
- - - - - - - - - - - - - - - -
>ar
D$X )eE)M
BeCin
**iCn ( D$ , aX SJcio1TE) ] )M
S \I
!
T { *e o arK,i/o eEi*)e, &ore*,l)\ P e abre o arK,i/o }
!e*e) (D$)
S \I
h
T { *e no eEi*)e arK,i/o, cria o arK,i/o e Cra/a ,.
reCi*)ro n,lo na po*io P ( 13 arK,i/o ) do arK,i/o }
IH ( IORESULT A : ) { iA erro \ 5 )=en 111 abrefno/o (D$) }
rewri)e (D$)
EndM
* READLN U READ e*)e co.ando eAe),a a L6251/a .o a/0123o eEibindo na )ela
do co.p,)ador a inAor.ao K,e e*)a/a ar.a9enada1
Sin)aEeX

EEe.ploX

Type
l,no* \ recordM
<o.eM
EndM
>ar 'X al,no*M
:O
R6a.L-( ^ 2.6-52H2Ca.o/ _ )
BeCin
**iCn ( D$, a X Bole)i. 1 )E) ] )M
re*e) ( D$ )M
/6a.L- (HO, AL.-o,6 )= { lV o reCi*)ro no arK,i/o e )ran*Aere a
inAor.ao para a /ari6/el -o,6 e da0 N
apre*en)ada na )ela pela in*)r,o wri)eln }
wri)eln ( '1no.e )M
! ! ! ! ! ! ! ! ! ! ! ! ! !
* WRITELN U WRITE a .an,)eno de ,. arK,i/o no *e re*)rinCe e.
abri-lo e Aec=a-lo1 <a .aioria da* /e9e* )ere.o* K,e eAe),ar alC,. )ipo de operao no
arK,i/oX pe*K,i*ar, incl,ir, eEcl,ir o, al)erar alCo1 $ co.ando X/256 ;,*)a.en)e pode *er
,*ado para Haa6/ a J/a3aEMo do* re*,l)ado* ob)ido* ne**a* opera-e* e. o,)ro di*po*i)i/o
e no prJprio arK,i/o (reCra/ao)1 W Jb/io K,e e*)e co.ando )a.bN. pode *er ,*ado
par)a eEibir .en*aCen* e /ari6/ei* na )ela do .oni)or1
Sin)aEeX
EEe.ploX
1) O arPuivo vai (er )riado:
- - - - - - - - - - - - - - - -
Type
l,no* \ record
no.eX *)rinCM
EndM
>ar 'X l,no*M
BeCin
**iCn (D$, aX l,no1Da)] )M
!ewri)e ( D$)M
W/256 ( HO, -o,6 )=
! ! ! ! ! ! ! ! ! ! ! ! !
clo*e(D$)
- - - - - - - - - - - - -

5) O arPuivo W e1i(te:
- - - - - - - - - - - - - -
Type
l,no* \ record
no.eX *)rinCM
EndM
>ar 'X l,no*M
SP
W/256 ( ^ 2.6-52H2Ca.o/ _ , ^ /6J2s5/o(s) _ )
BeCin
**iCn (D$, aX l,no1Da)] )M
!e*e) ( D$)M
SeeH)D$, Aile*i9e(D$)M { coloca o pon)eiro depoi* do 4l)i.o
reCi*)ro }
Wri)e(a<o.e\])M readln(<o.e)M
W/256(HO, No,6)=
! ! ! ! ! ! ! ! ! ! ! ! !
clo*e(D$)
- - - - - - - - - - - - -

* CLOSE Aec=a ,. arK,i/o de cada /e91 Toda /e9 K,e ,. arK,i/o N aber)o
para ,*o o, o,)ra a)i/idade K,alK,er, apJ* encerra.en)o do *e, .an,*eio ele preci*a *er
Aec=ado1
Sin)aEeX

EEe.ploX
- - - - - - - - - - - - - -
Type
l,no* \ record
<o.eX *)rinC1
EndM
>ar 'X l,no*M
BeCin
**iCn ( D$ , a X Bole)i. 1 D)a ] )M
!e*e)(D$)M
!eadln(D$, '1no.e)M
Wri)eln('1no.e)M
! ! ! ! ! ! ! ! ! ! ! ! ! !
CLos6( HO)=
! ! ! ! ! ! ! !! ! ! ! ! ! !
EEe.plo*X
1) .r3uivo ti8o K:2( Orava e 2Q )
Program .r3Kile;
uses crt;
var 4&: "ile o" string; N: string;
begin
clrscr;
* OR.-./.& 0 write(N!)[read(N) ; write(4&'N) 7
assign(4&' .:Kabio)t9t);
rewrite(4&);
goto9y(1%'1%);
S1
CLos6( ^ 2.6-52H2Ca.o/ _ )
write(N ! ); readln(N);
write(4&'N);
close(4&);
readln;
* 2(:DUR. 0 read(4&'N) ; write(N) 7
clrscr;
assign(4&' .:Kabio)t9t);
reset(4&);
goto9y(1%'1%);
read(4&'N);
write(N);
close(4&);
readln;
end)
$) Drabalha com R(O:,DR&) /adastra' &rdena' (9ibe na tela' Orava em
dis3uete*drive .7 e novamente' do dis3uete e9ibe na tela)
Program /ad&rdOrava2eReg;
uses crt' Printer;
Dy8e
/onceito ! array T1))$U o" char; * $ avaliacoes 7
+oletim ! record
nome: string;
/onc: conceito;
end;
-ar
4&: "ile o" +oletim;
.2: array T1))AU o" +oletim; * simulacao com a8enas A alunos 7
:'Y'5'M: integer;
4: +oletim;
Procedure (NDR.1.;
begin
clrscr;
goto9y(1'@);
"or Y:!1 to A do
begin
write( Y:1%' 0 ' .luno 00# ); readln(.2TYU)nome);
Kor ::!1 to $ do
begin
write ( '::1%' 0 ' /onceito ! ); readln(.2TYU)/oncT:U);
end;
writeln;
end;
readln;
end;
Procedure &R1(N.;
begin
"or ::!1 to $ do
Kor Y:!:;1 to A do
i" (.2T:U)nome # .2TYU)nome) then
begin
S5
4:! .2T:U;
.2T:U:!.2TYU;
.2TYU:!4;
end;
end;
Procedure (9ibirNaDela;
begin
clrscr;
goto9y(1'=);
"or Y:!1 to A do
begin
writeln(Y:1%' 0 ' .luno 00# ' .2TYU)nome);
writeln;
Kor ::!1 to $ do
writeln ( '::1%' 0 ' /onceito ! ' .2TYU)/oncT:U);
writeln;
end;
readln;
end;
Procedure :MPR:M:R;
begin
clrscr;
goto9y($%'1%); writeln(/li3ue algo 8ara :MPR:M:R);
writeln(2,D' );
writeln(2,D' );
writeln(2,D' );
writeln(2,D' );
"or Y:!1 to A do
begin
writeln(2,D' Y:1=' 0' .luno 00#' .2TYU)Nome);
Kor ::!1 to $ do
begin
writeln (2,D' ' ::1=' 0' /onceito 00#' .2TYU)/oncT:U);
end;
writeln(2,D' );
end;
writeln(2,D' );
readln;
end;
Procedure /ria.r3uivo;
begin
assign(4&' .:(scola)1ta);
rewrite(4&);
end;
Procedure OravaKecha;
begin
"or 5:!1 to A do
begin
write(4&' .2T5U);
end;
close(4&)
S7
end;
Procedure .bre2eKecha;
begin
clrscr;
assign(4&'.:(scola)1ta);
reset(4&);
"or 5:!1 to A do
begin
read(4&' .2T5U);
writeln( ' 5 ' 0 'Nome: ' .2T5U)nome);
"or M:!1 to $ do
begin
writeln( 'M' 0 ' /onceito! ' .2T5U)/oncTMU);
end;
writeln;
end;
close(4&);
readln;
end;
* PP 7
begin
(ntrada;
&rdena;
(9ibirNaDela;
im8rimir;
/ria.r3uivo;
gravaKecha;
.bre2eKecha;
end)
* Po-562/o S A aDo-5a.o/ T .o a/0123o F2L6 o arK,i/o %&'E per.i)e
b,*car ,.a de)er.inada inAor.ao e. K,alK,er po*io, *e. a nece**idade de *e
percorrer )oda* a* inAor.a-e* preceden)e*1 ?or)an)o, ne*)e )ipo de arK,i/o o ace**o a ,.a
inAor.ao N dire)o1 ?or i**o ele* )a.bN. *o c=a.ado* A/0123os D2/65os.
E*)r,),ra do arK,i/o AileX
?o*io A0*ica (endereo* de .e.Jria) &nAor.ao
P 111 )al 111
1
111 K,al 111
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
n 111 e)c 111

cada operao (read o, wri)e) no arK,i/o, o endereo do reCi*)ro corren)e no arK,i/o
N incre.en)ado de 1 ( a/ana ,.a po*io )1
j,ando .anip,la.o* ,. arK,i/o Aile, d,ran)e )odo o )e.po eEi*)e ,. pon)eiro
{pon)eiro o, apon)ador de con)role de reCi*)ro* } K,e Aica de*locando-*e de acordo co. a*
lei),ra* e Cra/a-e*1 j,ando abri.o* ,. arK,i/o e*)e pon)eiro indica a po*io QE!$
S8
{13 reCi*)ro A0*ico do arK,i/o }
EEi*)e. alC,.a* A,n-e* e procedi.en)o* K,e per.i)e. Cerenciar o po*iciona.en)o
de*)e pon)eiro1 So ela*XX
+ EOF ( End $A %ile \ Ai. do arK,i/o ) e**a A,no re)orna o /alor > ( T!(E
\ /erdadeiro K,ando o proce**o c=eCa Y .arca Ainal do arK,i/o1 $, *e;aX !e)orna T!(E
no ca*o de *e alcanar o )Nr.ino do arK,i/o, o, %'SE no ca*o con)r6rio1
Sin)aEeX


- - - - - - - - - - - - - - - -
Type
l,no \ !ecord
<o.eX *)rinCM
!+X in)eCerM
EndM
>ar
D$X Aile oA al,noM
'X l,no
&X by)eM
BeCin
**iCn( D$, aXl,no*1D)a ] )M
!e*e)( D$)M
& X\1M
W=ile no) EOF(D$) do
BeCin
!ead (D$ , ')M
Wri)eln (&, '1<o.e)M
Wri)eln (&, '1!+)M
& X\ & ` 1M
EndM
#lo*e( D$)
End1
+ SEEc ( lV-*eX *iH proc,rar, pe*K,i*ar ) K,ando de*e;a.o* 6aNer a
ma*ute*9:o de al0um re0i(tro ( incl,*o, re.oo, al)erao, pe*K,i*a ) de ,. arK,i/o
preci*a.o* *aber Pual / a ;o(i9:o de(te re0i(tro no arK,i/o e )a.bN. a po*io do 4l)i.o
reCi*)ro1 E*)e co.ando per.i)e .o/i.en)ar o pon)eiro de con)role de reCi*)ro* para ,.a
;o(i9:o ;rede6i*ida$ SJ N /6lido para arK,i/o* do )ipo Aile K,e ;6 e*)e;a. aber)o*1 <o
A,nciona para arK,i/o* do )ipo TeE)1
Sin)aEeX
S:
EOF ( ^ -o,6 .o a/0123o _ )=
...........................................
CI6Jo1F2-aL 4A EOF(^-o,6 .o a/0123o)=
EEe.ploX
- - - - - - - - - - - - - - - -
Type
l,no \ !ecord
<o.eX *)rinCM
!+X in)eCerM
EndM
>ar
D$ X Aile oA l,no
'X l,no
BeCin
**iCn( Do , aXl,no*1TE)] )M
!e*e)( D$)M
S66Z (D$, 17)M
!ead (D$, ')
Wri)e (a<o.e \ a, '1<o.e)X
Wri)e (a !+ \ a, '1!+)X
#lo*e(D$)M
- - - - - - - - - - - - - - - - -

+ FILEPOS a**i. K,e abri.o* ,. arK,i/o, a)ra/N* do !e*e) o, rewri)e, a
po*io do pon)eiro de con)role de reCi*)ro* N a do pri.eiro reCi*)ro o, po*io 9ero1 E**a
A,no re)orna ,. n4.ero in)eiro, indicando K,al N o reCi*)ro corren)e ( a),al ) e. ,.
arK,i/o1
Sin)aEeX
EEe.ploX
?roCra. Sobre%&'E?$SM
Type
l,no \ !ecord
<o.eX *)rinCM
!+X in)eCerM
EndM
>ar
D$X Aile oA al,noM
'X l,noM
SS
S66Z(^-o,6 .o a/0123o_ -p .o /6J2s5/o )=
F2L6Dos(^-o,6 .o a/0123o_ )=
),alX in)eCer
BeCin
**iCn ( D$1 aXl,no1D)a] )M
!e*e) (D$)M
),al X\ %ilepo*(D$)M \ { Wri)eln ( a po*io a),al do reCi*)ro N a , a a,
%ile?$S(Do) ) }
Wri)e ( a),al )M
#lo*e(D$)
End1
+ FILESI<E e**e co.ando re)orna o n4.ero de reCi*)ro* K,e e*)o
ar.a9enado* no arK,i/o1 Sin)aEeX
E*)a A,no pode *er ,*ada e. con;,n)o co. o proced,re SeeH para colocar o
aDo-5a.o/ .6 /6J2s5/os ( \ pon)eiro de con)role de reCi*)ro* ) para o Ainal do arK,i/o11
E*)a operao N 4)il K,ando de*e;a.o* acre*cen)ar .ai* reCi*)ro* n,. arK,i/o1 <o*
arK,i/o* %ile ela de*e.pen=a a .e*.a A,no do co.ando ??E<D do* arK,i/o* TeE)1
?ara i*)o Aa9-*e a *eC,in)e declaraoX
EEe.plo*
1) X
?roCra. (S$f%&'ES&QEM
Type
l,no \ !ecord
<o.eX *)rinCM
!+X in)eCerM
EndM
>ar
D$X Aile oA al,noM
To)al X in)eCer
'X al,noM
BeCin
Wri)e (a En)re co. o no.e do arK,i/o ] )M readln( aX<icH1Da) ] )M
**iCn ( D$ , a X <icH1Da) a )M
!e*e) (D$)M
To)al \ %ileSi9e(D$)
S7
F2L6s2a6(^-o,6 .o a/0123o_ )=
S66Z(^-o,6 .o a/0123o_ ), F2L6s2a6(^-o,6 .o a/0123o_))=
Wri)eln ( To)al )
$,X Wri)eln ( a Ta.an=o do arK,i/o \ ], _] a , %ileSi9e(Do) )
Wri)eln ( a ?o*icione o pon)eiro no reCi*)ro de endereo ] )M
SeeH ( D$ , 1 )M
#lo*e(D$)
- - - - - - - - - - - - -
$)

Program UsoPonteiroReg;
uses crt' Printer;
label "im;
Dy8e
Pessoa! record
nome: string;
/ic: integer;
end;
-ar
P(: Pessoa;
DU: "ile o" Pessoa;
P: array T1))@U o" Pessoa; * simulacao com @ 8essoas 7
:'Y'5'M: integer;
4: Pessoa;
&8cao: byte;
Procedure (NDR.1.;
begin
clrscr;
goto9y(1'@);
"or ::!1 to @ do
begin
write( ::1%' 0 ' Nome 00# ); readln(PT:U)nome);
write( ::1A' 0 ' /ic 00# ); readln(PT:U)/ic);
writeln;
end;
readln;
end;
Procedure &R1(N.;
begin
"or ::!1 to P do
Kor Y:!:;1 to @ do
i" (PT:U)nome # PTYU)nome) then
begin
4:! PT:U;
PT:U:!PTYU;
PTYU:!4;
end;
clrscr;
goto9y(@'1$);
write (&rdenacao 8ronta 0 tecle algo 8ara voltar ao Menu de
&8coes);
readln;
end;
Sg
Procedure (9ibirNaDela;
begin
clrscr;
goto9y(1='@); writeln(Decle (ND(R 8ara e9ibir na D(2. os dados
ordenados);
readln;
clrscr;
"or ::!1 to @ do
begin
writeln(::1=' 0 ' Nome 00# ' PT:U)nome);
writeln ( ' /ic ! ' PT:U)/ic);
writeln;
end;
readln;
end;
Procedure :MPR:M:R;
begin
clrscr;
goto9y($%'1%); writeln(Decle (ND(R 8ara :MPR:M:R);
writeln(2,D' );
writeln(2,D' );
writeln(2,D' );
writeln(2,D' );
"or ::!1 to @ do
begin
writeln(2,D' ::1=' 0' Nome 00#' PT:U)Nome);
writeln (2,D' ' ::1=' 0' /ic ! ' PT:U)/ic);
writeln(2,D' );
end;
writeln(2,D' );
writeln(2,D' );
readln;
end;
Procedure /R:.e.+R(ar3uivo;
begin
assign(DU' .:Nick)1ta);
rewrite(DU);
clrscr;
goto9y(1='1%);
Jriteln(.r3uivo criado 0 tecle (ND(R 8ara voltar ao Menu de &8coes);
readln;
end;
Procedure OravaKecha;
begin
"or 5:!1 to @ do
begin
write(DU' PT5U); * automaticamente todos os cam8os sao gravados 7
end;
close(DU);
clrscr;
goto9y(1='1%);
SO
Jriteln(.r3uivo gravado 0 tecle (ND(R 8ara voltar ao Menu de
&8coes);
readln;
end;
Procedure .bre.r3uivo;
begin
assign(DU'.:Nick)1ta);
reset(DU); * abre ar3uivo Fa e9istente 7
end;
Procedure .bre2eKecha;
begin
clrscr;
goto9y(1='1%); writeln( 2( dados do ar3uivo e e9ibe na D(2.);
readln;
.bre.r3uivo;
clrscr;
"or 5:!1 to @ do
begin
read(DU' PT5U);
writeln( ' 5 ' 0 'Nome: ' PT5U)nome);
writeln( '5' 0 ' /ic! ' PT5U)/ic);
writeln;
end;
close(DU);
readln;
end;
Procedure 2ocaliBarRegistro;
begin
clrscr;
.bre.r3uivo;
goto9y(1%'>);
write(1eseFa ver 3ue nr) de registro de 1 a @ S ); readln(Y);
seek(DU'%);
"or ::!1 to Y do
read(DU' PT:U);
goto9y(1='=;:);
write(Reg)Nr ' : ' 000# ' PT:U)nome ' 0 ' PT:U)/ic);
readln;
end;
Procedure KilePos,iBe;
begin
abre.r3uivo;
clrscr;
goto9y(1%'?); writeln(:ndica 8osicao atual e total de registros);
goto9y($%'@); writeln(Posicao atual do registro ! ' "ileP&,(DU));
goto9y($%'1%); writeln(Damanho do ar3uivo ! ' "ile,:Z((DU));
readln;
7P
seek(DU' "ile,:Z((DU));
goto9y($%'1A); writeln(Posicao atual do registro ! ' "ileP&,(DU));
goto9y($%'1=); writeln(Damanho do ar3uivo ! ' "ile,:Z((DU));
readln;
close(DU);
end;
Procedure JR:D(N6(N'6 : byte; Mensagem: string);
begin
goto9y(N'6); write(Mensagem);
end;
* PP 7
begin
&8cao:! %;
while (&8cao <# 1%) do
begin
clrscr;
write9y(1='?' M(NU 1( &P/&(, );
write9y(1='@' 1 000# (ntrada );
write9y(1='M' $ 000# &rdena );
write9y(1='1%' A 000# (9ibirNaDela );
write9y(1='11' > 000# :m8rimir );
write9y(1='1$' = 000# /R:.e.+R(ar3uivo );
write9y(1='1A' ? 000# OravaKecha );
write9y(1='1>' P 000# .bre2eKecha );
write9y(1='1=' @ 000# 2ocaliBarRegistro );
write9y(1='1?' M 000# KilePos,iBe );
write9y(1='1P' 1% 000# Kim1oPrograma );
goto9y(1='1M); write( (scolha uma &P/.& ); readln(&8cao);
:" (&8cao <# 1%) then
/.,( &8cao o"
1 : (ntrada;
$ : &rdena;
A : (9ibirNaDela;
> : :m8rimir;
= : /R:.e.+R(ar3uivo;
? : OravaKecha;
P : .bre2eKecha;
@ : 2ocaliBarRegistro;
M : KilePos,iBe;
(2,(
clrscr;
goto9y($%' $A); writeln( &8cao invalida 0 Decle algo );
re8eat until key8ressed;
end;
end;
end)
71
4 Co,a-.os .o a/0123o TE;T S T675o T
#onAor.e ;6 Aoi .encionado, alN. do* arK,i/o* %&'E, o T? )a.bN. )rabal=a
co. o* arK,i/o* do 52Do TE;T.1 $ iden)iAicador TEIT deAine ,.a /ari6/el co.o *endo
,. arK,i/o do )ipo )eE)o1
EEe.ploX
oL652,4 TE;T { pode-*e acre*cen)ar a eE)en*o 5754 Boletim$t1t }
$* arK,i/o* TeE) )V. a* *eC,in)e* carac)er0*)ica*X
?ode. *er edi)ado* a)ra/N* de K,alK,er edi)or de )eE)oM
lei),ra )e. K,e *er Aei)a *eKpencial.en)e do in0cio a)N o Ai., no
*endo po**0/el ,*ar ,. *eeH { N ,. co.ando ,*ado no %ile para ob)er a locali9ao dire)a
de ,. reCi*)ro }1
$* re*,l)ado* ob)ido* da* aplica-e* do* arK,i/o* TeE) *o
ar.a9enado* co. ,. de)er.inado no.e e. di*co, no* dri/e* {di*K,e)e } , # { DD } ,
D { #D }, 1 1 1 $ de)al=e N nee*)e )ipo de arK,i/o o* re*,l)ado* pode. *er )ran*Aerido* do
di*co para o edi)or de )eE)o B'$#$ DE <$TS e, da0, para o W$!D1 &**o N i.por)an)e
porK,e no W$!D o )eE)o pode *er Ho/,a5a.o de acordo co. o Co*)o e nece**idade do
in)ere**ado1
<o* arK,i/o* TEFT$, )a.bN. di)o* s60n6-C2a2s, toda( a( i*6orma9@e( (:o do ti;o
te1to { *)rinC* }1 Toda/ia, .e*.o a**i. ne**e* arK,i/o* N po**0/el e*cre/er inAor.a-e* de
K,alK,er )ipo de dado* *i.ple*X i*te0erF realF b3teF et)$$ E**a* inAor.a-e*, ao *ere.
Ai*ica.en)e ar.a9enada* no arK,i/o, a,)o.a)ica.en)e *ero con/er)ida* do *e, )ipo
oriCinal para o )ipo *)rinC1 lei),ra N proce**ada de Aor.a in/er*aX K,ando ,.a
inAor.ao N lida e. ,. arK,i/o )eE)o, a /ari6/el K,e a repre*en)a *er6 a,)o.a)ica.en)e
con/er)ida do )ipo *)rinC para o *e, )ipo oriCinal1
?ara e*)e )ipo de arK,i/o pode.o* de*)acar o* *eC,in)e* co.ando*X Ass2J-, /6X/256,
X/256 U X/256L-, /6a. U /6a.L-, 6oH e .ai*X
* APPEND ( lV-*eX apNn(d) aneEar no/o* reCi*)ro* a ,. arK,i/o TEFT ) -
e*)e co.ando per.i)e eAe),ar a aber),ra de ,. arK,i/o TeE), Aa9endo a incl,*o do
reAerido reCi*)ro no Ainal do arK,i/o1 $, *e;a, e*)e co.ando abre o arK,i/o e po*iciona o
;o*teiro 7 a;o*tador 8 de )o*trole de re0i(tro( *e.pre no pri.eiro reCi*)ro depoi* do
4l)i.o1 E**e co.ando no per.i)e K,e *e Aaa aber),ra de ,. arK,i/o K,e no eEi*)e1 $
*e, ,*o corre)o *e Aa9 apena* K,ando o arK,i/o e. apreo ;6 eEi*)e1
Sin)aEeX
EEe.ploX
Program Uso.r3uivoD(ND;
uses crt' Printer;
/onst NrMa9!$%;
75
ADD6-. (^ -o,6 .o a/0123o _ )=
var 4&: te9t; nome: stringT1%%U; res8: char;
begin
clrscr;
*000000000000000000000000000000000000000000000000000000000000000000000007
* (NDR.1. de 1.1&, 7
goto9y(1%'>); writeln( tecle (nter 8ara iniciar digitacao e
gravacao);
goto9y(1%'=); writeln(< n # 8ara encerrar 0 <(ND(R# 8ara continuar);
readln;
* cria e abre o ar3uivo te9t 7
assign(4&'.:4el)t9t);
rewrite(4&);
close(4&);
a88end(4&);
res8:!,;
re8eat
write( ' nome 00#); readln(nome);
writeln(4&'nome);
write( Mais nome S); readln(res8)
Until (res8 <# s) and (res8<# ,);
close(4&);
readln;
*000000000000000000000000000000000000000000000000000000000000000000000007
* (9ibir dados do ar3uivo na tela' usando o comando (&K 7
goto9y(1%'1P); write( Decle (ND(R 8ara e9ibir dados do ar3uivo na
D(2.);
readln;
reset(4&); * abre ar3uivo Fa e9istente 8ara mani8ulacao 7
clrscr;
while not (&K(4&) do
begin
readln(4&' nome);
writeln (nome);
end;
close(4&);
goto9y(A%'$%); writeln(<(ND(R# 8ara continuar);
readln;
*000000000000000000000000000000000000000000000000000000000000000000000007
clrscr;
goto9y(1%'1%);
77
writeln(Decle (nter 8ara acrescentar in"s)de8ois do ultimo
registro );
readln;
a88end(4&);
clrscr;
res8:!,;
while (res8!s) or (res8!,) do
begin
write( ' nome 00#); readln(nome);
writeln(4&'nome);
write( Mais nome SS ); readln(res8);
end;
close(4&);
goto9y(A%'$%); Jriteln(<(ND(R# 8ara continuar);
readln;
*000000000000000000000000000000000000000000000000000000000000000000000007
clrscr;
goto9y(1%'P);
writeln( Decle (nter 8ara e9ibir todos dados na tela);
readln;
reset(4&);
while not (&K(4&) do
begin
readln(4&' nome);
writeln (nome);
end;
readln;
close(4&);
end)
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7
&+,(R-./&(,: 1) & comado .PP(N1 abre o ar3uivo 8ara gravacao'
mantendo o a8ontador de8ois do ultimo registro' 8ronto 8ara receber novas
in"ormacoes) Portanto' 8ara acrescentar novas in"ormacoes num ar3uivo
D(ND' o uso da instrucao .PP(N1 e obrigatorio
$) & comando R(,(D somente 8ara abre ar3uivo Kile ou De9t Fa
e9istente) Portanto' no caso de ar3uivo D(ND' esse comando 8ode ser usado
8ara 3ual3uer o8eracao (N/(D& inclusao 7

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
89. SU!ROTINAS (SICAS
78
E**a* *,b-ro)ina* *ero n,.erada* por S!i, para i \ 1, 5, 7, 111
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ S!1jLINHA= S qd:(W) U qd5 (!) U q:95 (A) T
Program Proc2inha; * ,R01 7
uses crt;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
Procedure 2:N4.;
-ar :: byte;
+egin
Kor ::!1 to @% do
write (0);
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
* .P2:/./.& 7
begin
clrscr;
goto9y(1'1$); 2:N4.;
readln;
end)
* &+,(R-./.&: No lugar de traco 0 8ode0se usar igual !' 7
* asteristico L ou outro caractere 3ual3uer)DambRm 8ode usar 7
* unit: X>=00# 0 ' X$%=00# ! ' X>$00# L 7
+ S!5jWRITE;]( 7, N, o$6-saJ6,O )=
Program ProcMensagem; * ,R0$ 7
uses crt;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
Procedure JR:D(N6(9'y: byte; Mensagem:string);
+egin
goto9y(9'y); write(Mensagem);
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
* .P2:/./.& 7
begin
clrscr;
write9y(1= ' @' 1ominamos o DP 0 ,omos "eliBes);
write9y(1= ' M' 4eladio de &liveira);
write9y(1= ' 1%' M.R:. 4(2(N. .R.UY& 1( &2:-(:R.);
re8eat until key8ressed;
end)
7:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ S!7jCENTRALI<A( o$6-saJ6,O)=
Program Proc/entraliBa; * ,R0A 7
uses crt;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
Procedure /entraliBa(Mensagem: string);
-ar 9: integer;
+egin
9:! A= ; 2ength(Mensagem) 1iv $;
writeln(Mensagem:9);
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
* .P2:/./.& 7
begin
clrscr;
goto9y(1'1$);
/entraliBa( Kabio .rauFo de &liveira );
/entraliBa( Dhais de &liveira );
re8eat until key8ressed;
end)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ S!8 ! ENTRADA=
Program Proc(ntrada; * ,R0> 7
uses crt;
-ar :'N : integer; .: arrayT1))1%%U o" string; N: string;

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
Procedure (NDR.1.;
+egin
clrscr;
::!1;
re8eat
goto9y(1=':;@);
write( N ! ); readln(.T:U);
::!:;1
Until (:#>);
N:!:01;
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
7S
* .P2:/./.& 7

begin
clrscr;
(NDR.1.;
Kor ::!1 to > do
begin
goto9y(A%':;1A );
writeln(Nome 00# ' .T:U);
end;
re8eat until key8ressed;
end)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ S!: ! SAIDA=
?roCra. ?rocSaidaM { S!-: }
,*e* cr)M
>ar &,< X in)eCerM X arrayZ1111PP[ oA *)rinCM FX *)rinCM

{eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee}
?roced,re S&DM
BeCin
clr*crM
&X\1M
repea)
Co)oEy(1:,&`g)M
wri)e( vF \ v)M readln(Z&[)M
&X\&`1
(n)il (&L8)M
<X\&-1M
EndM
{eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee}
{ ?'&##$ }

beCin
clr*crM
S&DM
77
%or &X\1 )o 8 do
beCin
Co)oEy(7P,&`17 )M
wri)eln(v<o.e --L v, Z&[)M
endM
repea) ,n)il Heypre**edM
end1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ S!SjTROCA (A, )= { )ipo pode *erX in)eCer, *)rinC, real, 111}
Program ProcDroca; * ,R0? 7
uses crt;
-ar .'+ : integer;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
Procedure DR&/.(var .'+: integer);
-ar 4: integer;
+egin
4:!.; .:!+; +:!4;
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
* .P2:/./.& 7

begin
clrscr;
goto9y(1@'1$);
Jrite(.!); readln(.);
goto9y(1@'1>);
Jrite(+!); readln(+);
DR&/.(.'+);
goto9y(1@'1?);
write (. ' 0' +);
re8eat until key8ressed;
end)
-------------------------------------------------------------------------------------------------------------
+ S!7j ! ORDENA( A, )=
Program Proc&rdena; * ,R0P 7
uses crt;
-ar .'+ : integer;
Procedure Droca(var .'+: integer);
-ar 4: integer;
begin
4:!.; .:!+; +:!4;
end;
7g
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
Procedure &R1(N.(var .'+: integer);
+egin
:" (.#+) then
Droca(.'+);
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
* .P2:/./.& 7

begin
clrscr;
goto9y(1@'1$);
Jrite(.!); readln(.);
goto9y(1@'1>);
Jrite(+!); readln(+);
DR&/.(.'+);
goto9y(1@'1?);
write (. ' 0' +);
re8eat until key8ressed;
end)
--------------------------------------------------------------------------------------------------------------
+ S!g ! CLass2H2Ca'65o/S5/2-J=
Program Proc/lassi"ica-(D&Rstring; * ,R0> 7
uses crt;
var :'Y: byte; .: array T1))1%%U o" string;
Procedure Droca(var .'+: string);
-ar 4: string;
begin
4:!.; .:!+; +:!4;
end;
Procedure &R1(N.(var .'+: string);
+egin
:" (.#+) then
Droca(.'+);
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
Procedure /lassi"ica-etor,tring;
+egin
Kor ::! 1 to A do
Kor Y:!:;1 to > do
i" (.T:U # .TYU) then
begin
&rdena(.T:U' .TYU);
end;
(nd;
7O
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
* .P2:/./.& 7

begin
clrscr;
"or ::!1 to > do
begin
goto9y($='1%;:);
Jrite(N!); readln(.T:U);
end;
readln;
/lassi"ica-etor,tring;
"or ::!1 to > do
begin
goto9y($='1%;:);
Jrite(.T':'U 00# ' .T:U);
end;
readln;
end)
--------------------------------------------------------------------------------------------------------------
+ S!O - #riarK,i/oTEFT
Program Proc/R:.C.RWCD(ND; * ,R0M 7
uses crt;
var :'N: integer; .: array T1 )) 1%%U o" string; 9: string;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
Procedure /ria.r3uivoDe9t;
var 4&: te9t;
begin
.ssign(4&' .: Nick)1ta);
Rewrite(4&);
/lose(4&);
end;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
* .P2:/./.& 7
begin
clrscr;
goto9y(11'1$);
writeln( .r3uivo 4& "oi criado no dis3uete .:Nick)1ta e "echado);
re8eat until key8ressed;
end)
--------------------------------------------------------------------------------------------------------------
+ S!1PjAC6ssaAR+UI'O=
Program .cessa.r3uivo; * ,R0M 7
gP
uses crt;
-ar :'N : integer; .: arrayT1))1%%U o" string; N: string;
4&: "ile o" string;

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
Procedure .cessa.r3uivo;
+egin
.ssign(4&' .:Nick)1ta);
*\:07
Reset(4&);
*\:;7
:" :&result <#% then *:&result!%00#ar3uivo 7
+egin * criado sem 8roblema 7
Rewrite(4&);
end;
* 8ronto 8ara ser usado 7
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
* .P2:/./.& 7

begin
clrscr;
goto9y(@'1$ );
writeln( .r3uivo 4& "oi acessado e aberto 8ara uso 0 de8ois de usado
"echar);
re8eat until key8ressed
end)
--------------------------------------------------------------------------------------------------------------
+ S!11 - #RA'AjPRO#RA$A=
Program ProcOrava.r3uivo; * ,R011 7
uses crt;
-ar :'N : integer; .: arrayT1))1%%U o" string; Mensagem: string;
4&: te9t;

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
Procedure Oravar.r3uivo; * vem de8ois de criado
7
+egin
.ssign(4&' .)Nick)1ta);
.88end(4&); * ou Reset 8ara ar3uivo K:2( 7
readln(Mensagem);
writeln(4&' Mensagem);
* mani8ular 7
/lose(4&);
(nd;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
* .P2:/./.& 7
g1

begin
clrscr;
goto9y(@'1$ );
writeln( Mensagem "oi gravada no ar3uivo 4& 0 de8ois de usado
"echar);
re8eat until key8ressed;
end)
+ S!15 G LEjAR+UI'O=
Program Proc2e.r3uivo; * ,R01% 7
uses crt;
-ar :'N : integer; .: arrayT1))1%%U o" string; Mensagem: string;
4&: te9t;

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
Procedure 2e.r3uivo; * vem de8ois de criado 7
+egin
.ssign(4&' .)Nick)1ta);
Reset(4&);
readln(4&' Mensagem);
writeln(4&' Mensagem);
/lose(4&);
(nd;
*&+,) 1e8ois de Reset tambem 8ode0se usar: Jhile not (&K(4&) do
begin
readln(4&'Mensagem)
writeln(Mensagem)
/lose(4&)
end; 7
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLL7
* .P2:/./.& 7

begin
clrscr;
goto9y(@'1$ );
writeln( Mensagem "oi lida do ar3uivo 4& 0 de8ois de usado "echar);
re8eat until key8ressed;
end)
+ S!17, G F2-aL2aaAR+UI'O=
Program ProcK:N.2:Z.CPR&OR.M.;
uses crt;
-ar 4&: te9t;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
Procedure KinaliBaPrograma;
begin
close(4&);
goto9y($='1$);
g5
writeln(Kim de (9ecucao do Programa);
e9it;
end;
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
* .P2:/./.& 7
begin
clrscr;
assign(4&' .:Nick)1ta);
rewrite(4&);
KinaliBaPrograma;
re8eat until key8ressed;
end)

g7
88. +16s52o-K/2o X
I. E-1-C2a.os
1) 'eia cada ,.a da* K,e*)-e* abaiEo e decida *e N > (/erdadeira) o, %(Aal*a)X
a) $ T? Aoi criado pelo *,eco <iHla,* Wir)= por /ol)a de 1O7P, )o.ando por ba*e a* linC,aCen* lCol e
?'R&, K,e ;6 eEi*)ia. de*de 1OSP1
b) $* co.ando* .ai* ,*ado* da Barra do T? *oX Aile, edi), r,n e eEi)1
c) $ Edi)or de TeE)o do T? N a *,a prJpria ;anela de aber),ra1
d) 'oCo apJ* )er diCi)ado a codiAicao de ,. proCra.a no *e de/e Cra/a-lo1
e) Cra/ao do* proCra.a* e*cri)o* na linC,aCe. T? *J de/e *er Aei)a e. di*K,e)e*1
A) <e. *e.pre N po**0/el i.pri.ir proCra.a* e*cri)o* na linC,aCe. T?1
C) $ T? po**,i ,. proCra.a Dep,rador K,e Aornece .en*aCen* *obre o* erro* co.e)ido* d,ran)e o
proce**o de codiAicao1
=) Tornar ,. proCra.a eEec,)6/el (EFE) N .,i)o i.por)an)e porK,e da0 ele pode *er eEec,)ado *e. a
nece**idade da pre*ena da *,a codiAicao na )ela1 E, K,ando o )eE)o codiAicado e*)6 na )ela ele
Aica /,lner6/el a al)era-e*, .e*.o K,e in/ol,n)6ria*1
i) (.a /ari6/el do T? repre*en)a ,.a 6rea de .e.Jria1
;) *in)aEe ,*ada para declarar ,.a /ari6/el NX
6ome da varvel% <tipo> valor inicial
H) $ proCra.ador N obriCado .encionar o /alor inicial1
l) $* )ipo* de /ari6/el .ai* ,*ado* *oX in)eCer, real, by)e, c=ar, *)rinC, !ecord, array, Aile e )eE)1
.) (.a /ari6/el pode *er declarada Aora da *,b6rea >!1
n) e*)r,),ra de K,alK,er proCra.a codiAicado na linC,aCe. T? N Aor.ada por )rV* par)e*X #abeal=o
{ iden)iAicao }, Declarao e #orpo do proCra.a {bloco}1
o) Todo* o* co.ando* do T? *o *eparado* por TMU { ?on)o e /0rC,la }1
p) linC,aCe. T? acei)a ,. 4nico co.ando por lin=a1
5) S)rinCZn[ NX a) ,. *0.bolo b) ,.a le)ra c) ,.a cadeia de carac)ere* K,e con)N. no .6Ei.o n carac)ere*
d) n carac)ere* e) <D1
7) (. T*)rinCU aparece na )elaX a) *e. re*)rio b) *o.en)e *e )i/er le)ra e n4.ero c) *e Aor colocado
en)re c=a/e* d) *o.en)e *e e*)6 colocada en)re apJ*)roAo* e)<D1
8) X\7 e 7 con*)i),e.X a) no)a-e* errada* b) .odo* de eAe),ar a a)rib,io d,. /alor a ,.a
/ari6/el c) Aor.a de di9er K,e *J pode )er ,. /alor d) )oda* a* aAir.a-e* aci.a e*)o corre)a* e)<D1
:) !elacionarX
&1 #o.ando de *a0da a 11P:
&&1 #o.ando de en)rada b1 ---P1P7
&&&1 &den)iAicador c1 *)rinC
&>1 F\P,P7g e wri)eln(FX7X5) d1 wri)e
>1 F\1,P:875 e wri)eln(FX8) e1 readln
>&1 )ipo A1 <o.e de ,.a /ari6/el
S) #lr*cr N ,. co.ando ,*adoX a) depoi* do no.e do proCra.a b) e. K,alK,er po*io do proCra.a c)
apena* depoi* de beCin d) *o.en)e na *,b6rea >! e)<D1
7) Co)oEy(a,b) N ,. co.ando ,*adoX a) *o.en)e depoi* da iden)iAicao do proCra.a b) apena* depoi* de
beCin c) e. K,alK,er po*io e *er/e para locali9ar o carac)ere na po*io (a,b) d) *o.en)e depoi* de >!
e)<D1
g) !elacionarX
&1 in*line a deli.i)ar ,. e*pao na )ela
&&1 delline b1 li.par Ai. lin=a
&&&1 clreol c1 in*erir lin=a na po*io a),al do #,r*or
g8
&>1 TeE)#olor d1 eli.inar lin=a na po*io a),al do #,r*or
>1 Window(a,b,c,d) e1 *eleciona cor da Aon)e
>&1 'abel e Co)o A1 con/er)er para .ai4*c,la
>&&1 ,pca*e C1 eAe),ar de*/io*
O) $* )ipo* con*)),0do* .ai* ,*ado* do T? *oX a) /ar e beCin b) array e Aile c) *e) e !ecord d) *e), array,
!ecord, Aile e )eE) e)<D1
1P) (ni)* NX a) ,. procedi.en)o b) ,. 4nico co.ando c) ,. con;,n)o de ro)ina* pron)a* d) *e.pre de/e
*er colocada depoi* do no.e do proCra.a e an)ecedida pelo co.ando (SES e) d,a* de**a* aAir.a-e* *o
/erdadeira*1
11) #o.ando* ,*ado* para .an)er )eE)o na )elaX a) readln b) repea) ,n)il Heypre**ed c) readHey d) beCin
e) eEi*)e. )rV* aAir.a-e* corre)a*1
15)f T!epea) 111 ,n)ilU N a 4nica e*)r,),ra de repe)io K,eX a) eEiCe o co.ando beCin b) eEiCe o co.ando
end c) eEiCe a pre*ena de ,. bloco d) <o eEiCe o ,*o de beCin e end e)<D1
17) T W=ile 111 doU N ,.a e*)r,),ra de repe)io K,eX a) no eEiCe a pre*ena de beCin b) no eEiCe a
pre*ena do end c) eEiCe o ,*o de ,. blocoX beCin-end d) N indeAinida co. )e*)e Ainal e) d,a* de**a*
aAir.a-e* *o corre)a*1
18) e*)r,),ra de repe)io T%or 111 )o 111 doU X a) *J pode *er ,*ada K,ando *e con=ece o n4.ero de
e/en)o* K,e *ero repe)ido* b) N Aini)a .a* ,*a )e*)e Ainal c) ne. *e.pre eEiCe a pre*ena de bloco d) N
Aini)a .a* ,*a )e*)e inicial e) <D1
1:) **ociarX
11 &A 111 )=en, co. 4nica in*)r,o a1 &A 111 )=en 111 el*e
51 &A l )=en, co. /6rio* co.ando* b1 alin=a.en)o por n0/ei*
71 !epe)io co.po*)a, co. 4nico co.ando c1 obriCado ,*ar bloco
81 !epe)io co.po*)a, co. /6rio* co.ando* d1 /6rio* &%111E'SE
:1 Seleo encadeada e1 &A- )=en B'$#$ el*e B'$#$
S1 &den)ao A1 no ,*a bloco
71 #a*e C1 *ele)or de op-e*
1A 5c 7

a 8e :d Sb 7C
1S) (*ando )ipo* b6*ico* pode.o* con*)r,ir a* *eC,in)e* e*)r,),ra*X a) bloco* b) proCra.a* lonCo* e
bloco* c) /e)or, .a)ri9 e reCi*)ro* d) *o.en)e array* e)<D1
17) j,ando ,*a.o* array (/e)or-.a)ri9) de/e.o*X a) deAinir a di.en*o de cada ,.a da* e*)r,),ra* ,*ada*
b) ,*ar *o.en)e /e)or c) ,*ar *o.en)e .a)ri9 d) ,*ar ,. bloco e)<D1
1g) Se \Z7 , :[ \ 81 en)oX a) o /alor 81 e*)6 incorre)o b) : N col,na e 7 N lin=a c) 81 N o /alor da
.a)ri9 e *,a po*io N o cr,9a.en)o da 7n col,na co. a :n lin=a d) )oda* e**a* aAir.a-e* *o errada*
e)<D1
1O) (. reCi*)roX a) pode repre*en)ar *o.en)e ,. )ipo de ca.po b) e. Ceral repre*en)a ,. aClo.erado
=e)eroCVneo de dado* (ca.po*) c) N ,*ado e. bloco* d) D,a* de**a* aAir.a-e* *o corre)a* e) <D1
5P) n)e* de deAinir ,. reCi*)ro N nece**6rioX a) ,*ar ,. bloco b) inici6-lo co. o co.ando beCin c)
li.i)ar o n4.ero de ca.po* d) deAinir a* e*)r,),ra* K,e o co.p-e.X /e)or, .a)ri9 o, o,)ro reCi*)ro e)
<D
51) $ co.ando W&TD per.i)eX a) di.in,ir o )a.an=o do reCi*)ro b) *i.pliAicar a no)ao para e*cre/er o
no.e do* ca.po* c) e/i)a o ,*o de beCin d) eli.ina a pre*ena do end e)<D1
g:

55) (. do* rec,r*o* .ai* ,*ado* na proCra.ao NX a) red,9ir o no.e do proCra.a b) no ,*ar .,i)a*
ro)ina* c) *,bdi/idir ,. proCra.a lonCo e. di/er*a* par)e* .enore*, .ai* *i.ple* e A6cei* de *ere.
co.preendida* e .anip,lada* d) d,a* de**a* aAir.a-e* *o /erdadeira* e)<D1
57) #ada ,.a da* par)e* e. K,e ,. proCra.a Aica di/idido N c=a.adaX a) bloco b) A,no c)
procedi.en)o d) *,b-ro)ina o, .od,lo e)<D1
58) D,a* ro)ina* K,e pode. *er de*en/ol/ida* pelo prJprio proCra.ador *oX a) beCin e end b) clr*cr e
Co)oEy(a,b) c) proced,re e A,nc)ion d) )oda* e**a* aAir.a-e* *o incorre)a* e)<D1
5:) $ K,e N .N)odo Top-Downt
5S) $ e*copo de ,.a /ari6/el reAere-*e YX a) *,a deno.inao b) *,a declarao c) *,a abranCVncia,
podendo *er Clobal *e declarada no ?? o, local *e declarada n,.a S! d) *,a di.en*o e)<D
57) ?ar^.e)ro NX a) ,.a le)ra b) ,.a S! c) ,.a A,no d) ,.a /ari6/el K,e liCa ?? co. S! o, S!
co. S! e) <D1
5g) $* par^.e)ro* pode. *er de doi* )ipo*X a) Aor.ai* e reai* b) Aor.ai* e .0ni.o* c) reai* e .6Ei.o*
d) por /alor e por reAerVncia e) <D1
5O) pa**aCe. de par^.e)ro do ?? para S! o, de S! para S! pode *er Aei)a de doi* .odo*X a) por
con/eniVncia e por /alor b) por /alor e por )ran*AerVncia c) por bloco* e por 0ndice d) por /alor e por
reAerVncia e)<D1
7P) ?ode.o* )er arK,i/o* do* *eC,in)e* )ipo*X a) de proCra.a b) de dado* c) indeEado d) a* )rV*
aAir.a-e* e*)o corre)a* e) <D1
71) $* arK,i/o* de dado* pode. *er do* *eC,in)e* )ipo*X a) bloco e /ir),ai* b) reai* e /ir),ai* c) Aile e
)eE) d) )oda* e**a* aAir.a-e* *o Aal*a* e) <D1
75) !elacionarX
1- a**iCn a- abrir arK,i/o )eE) deiEando o pon)eiro depoi*
do 4l)i.o e*cri)o
5- rewri)e b- Aec=ar arK,i/o
7- re*e) c- ler con)e4do do arK,i/o deiEando c,r*or .e*.a lin=a
8- append d- ler dado ar.a9enado n,. arK,i/o, deiEando
c,r*or na .e*.a lin=a
:- read e- criar arK,i/o
S- readln A- Cra/ar deiEando c,r*or lin=a *eC,in)e
7- wri)e C- lV con)e4do arK,i/o deiEando c,r*or .e*.a
lin=a g- wri)eln
=- lV con)e4do arK,i/o deiEando c,r*or lin=a
*eC,in)e
O- clo*e i- abrir arK,i/o ;6 eEi*)en)e
1P- I/ar1lJCicaLXAile oA I)ipoL ;- declarao arK,i/o )ipo )eE)
11- I/ar1lJCicaLX )eE) H- declarao arK,i/o )ipo Aile
15- ace**o dire)o '- arK,i/o )ipo )eE)
17- ace**o *eKpencial .- arK,i/o )ipo Aile

77) E$% N X a) ,.a in*)r,o neCa)i/a b) ,.a A,no ,*ada para a/i*ar .K,an do ,. arK,i/o c=eCa ao
Ai. G end oA Aile \ Ai. de arK,i/o c) ,.a proced,re d ,. )ipo de proCra.a preli.inar e)<D1
--------------------------------------------------------------------------------------------------------------
gS
II. R6sDos5as4

11 a\> B\> c\> d\% e\% A\% C\> =\> i\> ;\> H\%
'\>.\% n\> o\> p\%
51 # 71 D 81 B
:1 &D &&E &&&% &>B > >&#
S1 B 71 #
g1 &# &&D &&&B &>E > >&+ >&&%
O1 D 1P1 E 111 E 151 D 171 E 181
1:1 &% 5# 7 8E :D SB 7+
1S1 # 171 1g1 # 1O1 D 5P1D 511 B 551 # 571 D 581 #
5:1 W o .N)odo ,*ado na ?E (*,bdi/idir S! e. o,)ra* S!*) e con*i*)e e. red,9ir a co.pleEidade de ,.
proCra.a e. 7 n0/ei*X deAinir a* )areAa* K,e iro co.por o proCra.a, deAinir o ??f a)ra/N* do Ben, de
$p-e* o, ?rincipal e delinear e iniciar o proce**o de de)al=a.en)o de cada S!1
5S1 # 571 D 5g1 5O1 D 7P1 D 711 #
751 1\E 5\# 7\& 8\ :\D S\% 7\+ g\D O\B 1P\b
11\h 15\B 17\'
771 B
--------------------------------------------------------------------------------------------------------------
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
8:. E;E$PLOS DE PRO#RA$AS PARA AN(LISE E APRENDI<A#E$ DA TEORIA
* Oravado com o nome: P1 sobre Uso do comando R(P(.D
UND:2C5(6PR(,,(1 7
Program P1;
Uses /rt;
-ar ,'N1'N$:real;
begin
clrscr;
goto9y(1$'@);
Jrite(-alor de N1! ); readln(N1);
goto9y(1$'1%);
Jrite(-alor de N$! ); readln(N$);
goto9y(1$'1$);
,:!N1;N$;
Jriteln(,&M. ! ' ,:$:%);
writeln;
g7
Jrite( <WU.2WU(R D(/2.# 8ara encerrar);
Re8eat Until 5ey8ressed;
end)

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
* &+,(R-./.& 000# (m lugar de Re8eat Until 5ey8ressed 8oder0se0ia 7
* colocar R(.12N' so 3ue neste caso somos obrigado a 7
* 8ressionar a tecla (ND(R) .ssim' a vantagem do uso do re8eat until 7
* key8ressed e 3ue 8odemos 8ressionar 3ual3uer tecla 7

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Oravado com o nome: P$ sobre Uso do comando R(.12N 8ara manter o 7
* te9to na tela 7
Program P$;
uses crt;
begin
clrscr;
goto9y(@'1%); write ( (stamos "ocaliBando o uso do R(.12N 8ara);
writeln( manter o testo na tela);
goto9y(@'1$); writeln( <(ND(R# 8ara "inaliBar );
readln;
end)

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
7
* &+,(R-./.&: "ocaliBamos o uso do R(.12N 8ara manter o te9to na tela) 7
* Neste caso somos obrigado <(ND(R# 8ara encerrar) Perceba 7
* 3ue no P1 8oderiamos 8ressionar 3ual3uer tecla e a3ui so o enter 7

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* & PA e9em8li"ica o uso do comando R(.15(6 7
Program PA;
uses crt;
var tecla' ho: char; * em lugar de tecla 8ode ser ho' ta' "a'
etc)7
.'+: real;
begin
clrscr;
goto9y(1='1$);
write( 1igite uma tecla: );
tecla:!R(.15(6;
goto9y(1='1>);
writeln( -&/( 1:O:D&U: 000# ' tecla);
goto9y(1='1?);
write( Pressione 3ual3uer tecla 8ara "inaliBar);
re8eat until key8ressed;
gg
*0000000000000000000000000000000000000000000000000000000000000000000007
* &+,(R-./.&01: se vc n]o usar o Readkey como "oi "eito acima' a
tecla 7 * digitada nao retorna automaticamente e alem disso
vc 7
* tera 3ue usar o comando readln(Decla) e <(ND(R# 8ara 7
* coloca0la na tela) 7
*000000000000000000000000000000000000000000000000000000000000000000000007
* &utro uso do R(.15(6 a8arece no 8rograma abai9o)7
* .3ui o R(.15(6 desem8enha o mesmo 8a8el do re8eat until
key8ressed'7
* 8orem nesse caso e 8reciso a sua declaracao na -.R 00# ho: char 7
clrscr;
goto9y(1$'@); write( .! ); read(.);
goto9y(1$'1%); write( +! ); readln(+);
:" .#!+ then
begin
goto9y(1$'1$); writeln( ,&M. ! ' .;+:>:%);
end
else
i" .<+ then
begin
goto9y(1$'1>); writeln( 1:K(R(N/. ! ' .0+:A:%);
end;
ho:!readkey;
writeln(<(ND(R# 8ara encerrar);
end)
*00000000000000000000000000000000000000000000000000000000000000000000007
* &+,(R-./.&0$: (m lugar de re8eat until key8ressed ou readkey 7
* 8odemos usar usar R(.12N; ' 8orem' neste caso' como 7
* Fa "oi dito' somos obrigado a usar <(ND(R#
*00000000000000000000000000000000000000000000000000000000000000000000007
* (ste 8rograma "ornece N termos a soma desses termos da
se3uewncia de Kibonacci 7
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
Program P>; * use N<1M 7
uses crt;
var
.: arrayT1))A%U o" longint;
,':'N: integer;
ho: char;
begin
clrscr;
,:!%;
.T1U:!1; .T$U:!1;
goto9y(1%'?);
Jrite(Wual ^ o n_mero de termosS );readln(N);
gO
"or ::!A to N do
.T:U:!.T:0$U;.T:01U;
goto9y(1%'?);
write(&s termos da se31eKibonacci s]o: );
"or ::!1 to N do
begin
,:!,;.T:U;
goto9y(?;>L:'@);
write(.T:U);
end;
goto9y(@'11);
writeln( . soma dos termos de Kibonacci ^: ' ,);
ho:!readkey;
end)
* (ste 8rograma "ornece os N termos e a soma da se3uencia de
Kibonaci7
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
Program P=; * use N<!1@ 7
uses crt;
var
.: arrayT1))A%U o" longint;
,':'N: integer; ho: char;
begin
clrscr;
,:!%;
.T1U:!1; .T$U:!1;
goto9y(?'1%);
Jrite( Wual ^ o n_mero de termosS );readln(N);
"or ::!A to N do
.T:U:!.T:0$U;.T:01U;
goto9y(?'1$);
write( &s termos da se31eKibonacci s]o: );
"or ::!1 to N do
begin
,:!,;.T:U;
goto9y(?;>L:'1>);
write(.T:U);
end;
goto9y(?'1?);
writeln( . soma dos termos de Kibonacci ^: ' ,);
ho:!readkey;
end)
*0000000000000000000000000000000000000000000000000000000000000000000007
* &+,(R-./.&: Para estudar e entender este 8rograma o interessado
deve7
* construir o seu res8ectivo "lu9ograma 7
*0000000000000000000000000000000000000000000000000000000000000000000007
OP
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (ste 8rograma calcula o K.D&R:.2 de N <!1? 7
8rogram P?;
uses crt;
var
N':: integer;
K: longint; * valor m 9imo de N ^ 1? 7
ho: char;
begin
clrscr;
::!1; K:!1;
goto9y(1$'1$);
Jrite(K.D&R:.2 de 3ue n_meroS ); Readln(N);
re8eat
K:!KL:;
::!:;1;
Until (:#N);
goto9y(1$'1?);
writeln(& "atorial de ' N' ^: ' K);
ho:!readkey;
end)
* (ste 8rograma 8ermite obter o M1/ e MM/ de dois nTumeros naturais 7
* Primeiro e calculado o M1/ 8elo 8rocesso das divisoes sucessivas 7
* 1e8ois calcula0se o MM/ 8ela 8ro8riedade: .L+! M1/ L MM/ 7
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
Program PP;
uses crt;
-ar .'+'D'U'P: longint; *.#+7
Procedure Muda;
begin
.:!+; +:!U
end;
+egin
clrscr;
goto9y(1%'1%); write( Nr) .! S ); readln(.);
goto9y(1%'1$); write( Nr) +! S ); read(+);
P:!.L+; writeln(-alor de P ' P);
re8eat
U:!. Mod +;
Muda;
Until U<!%;
writeln;
writeln ( M1/ ! ' . );
O1
D:!P 1iv .;
writeln ( MM/ ! ' D );
re8eat until key8ressed;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (ste 8rograma "ocaliBa uso de -(D&R 7
8rogram P@;
uses crt;
var
.:arrayT1))?U o" real;
:' Y' k: integer;
+:arrayT1))?U o" real;
begin
clrscr;
::!1;
* (NDR.1. 7
while (:<P) do
begin
goto9y(1%':;>);
write( valor de N! ); readln(.T:U);
::!:;1;
end;
* PR&/(,,.M(ND& 7
"or ::!1 to ? do
begin
i" (: Mod $ ! %) then
+T:U:!.T:U L =
else
+T:U:!.T:U ; =;
end;
* &R1(N.`a& 7
"or ::!1 to = do
"or Y:!1;: to ? do
i" +T:U#+TYU then
begin
+T:U:!+T:U;+TYU;
+TYU:!+T:U0+TYU;
+T:U:!+T:U0+TYU;
end;
* ,.b1. 7
"or k:!1 to ? do
begin
goto9y(1='k;1$);
writeln( +T'k'U '!' +TkU:=:% );
end;
re8eat until key8ressed;
O5
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (ste 8rograma "ocaliBa 8rocesso P(,WU:,. ,(WU(N/:.2 7
Program PM;
uses crt;
label "im;
var
Nome: .RR.6T1))@U o" string;
:: integer;
P(,W' R(,P: string;
./4.: boolean;
begin
clrscr;
goto9y(1%'?); writeln(Pes3uisa se3uencial de nomes);
writeln;
"or ::!1 to @ do
begin
goto9y(1%' P;:);
write(1igite ' ::A'0' Nome: ); readln(NomeT:U);
end;
writeln;
goto9y(1%'1P);
write((ntre com o nome a ser 8es3uisado: ); readln(P(,W);
"or i:!1 to @ do
begin
i" (P(,W!NomeT:U) then
begin
goto9y(1%'1M);
Jrite (P(,W' 00# "oi localiBado na 8osicao '
::A);
goto "im;
end;
end;
O&D&N6(1%'1M);
write(P(,W' 00# nao "oi localiBado);
"im:
re8eat until key8ressed;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (ste 8rograma "ocaliBa a dis8osicao 4&R:Z&ND.2 numa tabela 7
Program P1%;
uses crt;
var
.: arrayT1))>U o" string;
:: byte;
begin
O7
clrscr;
"or ::!1 to > do
begin
goto9y(1=' @;:);
write(Nome 00# );readln(.T:U);
end;
clrscr;
writeln;
"or ::!1 to > do
begin
goto9y(1=;:LM' 1$);
writeln(:'c'+im);
end;
"or ::!1 to > do
begin
goto9y(1=;:LM' 1>);
writeln(.T:U);
end;
re8eat until key8ressed
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* &bFetivo deste 8rograma 000# ( cria ; abre ; grava ) ar3uivo 7
* 4& .:(scola)1ta ti8ol K:2( e de8ois trans"ere conteudo deste 7
* 8ara o Da .:Nick)t9t ti8o D(ND 3ue 8ermite e98ortar 8ara Jord 7
Program P11;
uses crt;
ty8e
/onceito ! arrayT1))$U o" char;
/ad.2 ! record
Nome: string;
end;
-ar
4&:"ile o" /ad.2;
Da:te9t;
.2: arrayT1))$U o" /ad.2;
:'Y: integer;
* (NDR.1. OR.-./.& 1( N&M(, 7
begin
clrscr;
assign(4&' .:(scola)1ta);
rewrite(4&);
"or ::!1 to $ do
begin
goto9y(1=' 1$;:); Jrite( NomeS ); readln(.2T:U)Nome);
write(4&' .2T:U);
writeln;
end;
close(4&);
re8eat until key8ressed;
O8
* .PR(,(ND.R N. Dela o conteudo do ar3uivo 4&7
clrscr;
assign(4&' .:(scola)1ta);
reset(4&);
"or ::!1 to $ do
begin
read(4&' .2T:U);
goto9y(1='1$;:);
writeln( : ' 0 ' .2T:U)Nome);
end;
R(.12N;
* R(OR.-.R N& te9t7
assign(ta' .:Nick)DND);
rewrite(ta);
"or ::!1 to $ do
begin
writeln(Da' :' 0 ' .2T:U)nome);
end;
re8eat until key8ressed;
close(4&); /lose(ta);
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (ste 8rograma /R:. 0 .+R( 0 OR.-. 0 2( conteudo de um ar3uivo 7
Program P1$;
uses crt;
var
((: "ile o" string;
.: arrayT1))AU o" string;
:: integer;
begin
clrscr;
* (NDR.1. 7
"or ::! 1 to A do
begin
goto9y(1=' 1%;:);
write( Nome: ); readln(.T:U);
writeln;
end;
goto9y(1M'1?); writeln(<(ND(R# 8ara continuar);
readln;
* OR.-./.& do ar3uivo (( 7
assign(((' .:Deste)1ta);
rewrite((();
clrscr;
"or ::! 1 to A do
begin
goto9y(1=' 1%;:);
write(((' .T:U);
O:
writeln;
end;
close((();
goto9y(1@'1%); writeln(<(ND(R# 8ara continuar);
readln;
* 2(:DUR. do conteudo do ar3uivo (( 7
assign(((' .:Deste)1ta);
reset((();
clrscr;
"or ::! 1 to A do
begin
goto9y(1@' 1%;:);
read(((' .T:U);
writeln(:' 0 ' .T:U);
end;
close((();
writeln;
writeln;
goto9y(1@'1=); writeln(<3ual3uer tecla# 8ara "inaliBar);
re8eat until key8ressed;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* /ria' .bre' Orava e 2e um ar3uivo do ti8o K:2( 7
* Para "aBer simulacoes usar somente 1&:, nomes 7
Program P1A;
uses crt;
label re8etir;
ty8e Pessoa ! record
Nome: string;
:dade:string;
end;
var
P:Pessoa;
K.: "ile o" string;
res8: char;
+egin
assign(K.' .:Uva)1ta);
Rewrite(K.);
clrscr;
re8etir:
writeln;
J:D4 P do
begin
write( Nome da Pessoa 000# ); readln(Nome);
write(K.'Nome);
write( :dade da Pessoa 000# ); readln(:dade);
write(K.':dade);
write( 1eseFa continuarS ); readln(res8);
end;
i" (res8!s) or (res8!,) then goto re8etir;
close(K.);
re8eat until key8ressed;
OS
*00000000000000000000000000000000000000000000000000000000000000000007
assign(K.' .:Uva)1ta);
reset(K.);
clrscr;
J:D4 P 1&
begin
read(K.' Nome);
read(K.' :dade);
goto9y(@'1%); write(Nome);
goto9y(A>'1%); writeln(:dade' anos);
read(K.' Nome);
read(K.' :dade);
goto9y(@'1$); write(Nome);
goto9y(A>'1$); writeln(:dade' anos);
R(.12N;
end;
close(K.);
writeln( <(ND(R# 8ara "inaliBar);
R(.12N;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Programa mais com8leto 8ara /riar' .brir' Oravar e 2er ar3uivos 7
Program P1>;
uses crt;
/onst ma9 ! =%;
ty8e
disci8lina ! arrayT1))$U o" char;
/ad.l ! record
Nome: string;
/onc: disci8lina;
end;
-ar
4&:"ile o" /ad.l; .2: arrayT1))>U o" /ad.l; :'Y: integer;
Procedure 2:gualado;
var ::integer;
begin
"or ::!1 to @% do
write(X$%=);
end;
Procedure /enter(mensagem: string);
var
U :integer;
begin
U :! >% ; length(mensagem) div $;
writeln(mensagem: U);
end;
Procedure (ntrada;
O7
begin
Kor ::!1 to $ do
begin
2:gualado;
write(::A' 0 ' .luno:); readln(.2T:U)Nome);
write(1 ' 0 ' /onceito:); readln(.2T:U)/oncT1U);
write($ ' 0 ' /onceito:); readln(.2T:U)/oncT$U);
end;
writeln(<(ND(R# 8ara continuar);
readln;
end;
Procedure .8resentacao;
begin
/2R,/R;
2:gualado;
/enter ( .PR(,(ND.`a& K:N.2 );
2:gualado;
writeln;
Kor ::!1 to $ do
begin
write( ' : ' 0 ' .2UN&: ' .2T:U)Nome);
writeln;
writeln( ' conceito:' 1' 000#'
.2T:U)/oncT1U);
writeln( ' conceito:' $' 000#'
.2T:U)/oncT$U);
writeln;
end;
re8eat until key8ressed;
end;
Procedure Oravacao;
begin
Kor ::!1 to $ do
begin
write(4&'.2T:U);
end;
close(4&);
end;
Procedure Reabertura;
begin
clrscr;
O&D&N6(1%'>);
Jriteln( Reabertura do ar3uivo e a8resentacao do seu conteudo
na tela);
readln;
assign(4&' .:(scola)1ta);
reset(4&);
"or ::!1 to $ do
begin
read(4&' .2T:U);
writeln( ' :'0 ' .2T:U)Nome);
writeln( ' conceito:' 1' 000#'
.2T:U)/oncT1U);
Og
writeln( ' conceito:' $' 000#'
.2T:U)/oncT$U);
writeln;
end;
re8eat until key8ressed;
close(4&);
end;

* PR&OR.M. PR:N/:P.2 7
begin
clrscr;
assign(4&' .:(scola)1ta);
rewrite(4&);
goto9y(?'=);
writeln;
/enter( /.1.,DR& 1( .2UN&, );
writeln;
(ntrada;
.8resentacao;
Oravacao;
Reabertura;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Programa 3ue "ocaliBa o uso do comando J:D4 7
Program P1=;
uses crt;
Dy8e Pessoas ! Record
Nome: stringTA%U;
idade: integer;
se9o: stringT>U;
end;
-ar
P: Pessoas;
+egin
clrscr;
J:D4 P do
begin
goto9y(1%'1%);
write( Nome: ); readln(Nome);
goto9y(1%'1$);
write( idade: ); readln(:dade);
goto9y(1%'1>);
OO
write( se9o: ); readln(,e9o);
clrscr;
goto9y(1$'1$); writeln(-oce digitou os seguintes dados);
goto9y(1$'1=); writeln(nome' 0 ' idade' anos' 0 ' se9o);
re8eat until key8ressed;
end;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Mostra o uso dos comandos Printer e 2st 8ara im8rimir dados obtidos 7
* 8ela e9ecucao do 8rograma 7
PR&OR.M P1?;
U,(,
crt' Printer;
-.R
+: integer;
.: integer;
D.: te9t;
begin
clrscr;
.ssign(D.' .:&4)t9t);
rewrite(D.);
goto9y(P'1%);
write("ornecer valor de .! ) ; readln(.);
+:!.L.;
goto9y(1='1$);
writeln (+!' +);
writeln(D.' +!' +);
writeln(2st' L );
writeln(2st' L );
writeln(2st' L );
writeln(2st' L );
Jriteln(2st' +!' +);
writeln(2st' L );
writeln(2st' L );
writeln(2st' L );
writeln(2st' L );

close(D.);
readln
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Uso do comando /.,(!,elecao de Multi8la (scolha 7
* Primeiro caso 7
Program P1P;
uses crt;
var
1PP
2st=.: "ile o" string;
2st?+: "ile o" string;
.2: arrayT1))1%U o" string;
ar3uivo: char;
ho: char;
*)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))7
Procedure write9y(9'y:byte; Mensagem:string);
begin
goto9y(9'y); write(Mensagem);
end;
*)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))7
Procedure .r3uivos=.;
var
.2: arrayT1))1%U o" string;
:: integer;
begin
clrscr;
assign(2st=.' .:2is.2=.)1ta);
rewrite(2st=.);
write9y(@'@' 2:,D.O(M 1&, .2UN&, );
*(NDR.1.7
::!1;
re8eat
goto9y(?' @;:);
write( Nome: ); readln(.2T:U);
::!:;1;
Until :!=;
*OR.-.`a&7
::!1;
Re8eat
write(2st=.' .2T:U);
::!:;1;
Until :<=;
close(2st=.);
ho:!readkey;
end;
*)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))7
Procedure .r3uivos?+;
var
.2: arrayT1))1%U o" string;
::integer;
begin
clrscr;
assign(2st?+' .:2is.2?+)1ta);
rewrite(2st?+);
write9y(@'@' 2:,D.O(M 1&, .2UN&, );
*(NDR.1.7
::!1;
1P1
re8eat
goto9y(?' @;:);
write( Nome: ); readln(.2T:U);
::!:;1;
Until :!=;
*OR.-.`a&7
::!1;
Re8eat
write(2st?+' .2T:U);
::!:;1;
Until :<=;
ho:!readkey;
end;
*00000000000000000000000000000000000000000000000000000000000000007
Procedure K:M;
begin
write9y(1='1=' (N/(RR.R);
write9y(1='1?' <Wual3uer D(/2.#);
ho:!readkey;
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7
begin
clrscr;
write9y(1='=' ar3uivos 1is8oniveis);
write9y(1%'P' 1 00# ar3uivos=.);
write9y(1%'@' $ 00# ar3uivos?+);
write9y(1%'M' A 00# K:M 1& PR&OR.M.);
goto9y(1='11);
write(Wual ^ a ar3uivo 00# ); readln(ar3uivo);
/.,( ar3uivo o"
1: ar3uivos=.; * ,e declarar .r3uivo: byte' usar 1 sem
as8as 7
$: ar3uivos?+;
A: K:M
end;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* &utro modo de usar o comando /.,( 7
Program P1@;
Uses crt;
var
N: string;
ho' &8cao: char;
Procedure (ntrada;
begin
1P5
clrscr;
goto9y(1%'1%);
write (Nome: ); readln(N);
ho:!readkey;
end;
Procedure K:M;
begin
clrscr;
goto9y(1%'1%);
goto9y(1%'1$); write(Decle algo 8ara encerrar);
ho:!readkey
end;
begin
clrscr;
goto9y(1%'1A); write(M(NU 1( &P/&(,);
goto9y(1%'1=); write(( ))))) (ntrada);
goto9y(1%'1?); write(K ))))) K:M);
goto9y(1%'1@); write((scolha uma &8cao: ); readln(&8cao);
writeln;
&8cao:!U8case(&8cao);
i" (&8cao in T('KU ) then
begin
/ase &8cao o"
( : (ntrada;
K : Kim;
end; * (N1 do /.,( 7
end * antes do (N1 3ue antecede (lse nao se coloca ; 7
(2,(
begin
clrscr;
goto9y($%'1$); write( (rro 0 &8cao invalida);
goto9y($%'1>);writeln( Decle algo 8ara "inaliBar);
ho:!readkey;
end;
end)
* Mais um modo de usar o comando /.,( 7
Program P1M;
Uses crt;
var
N: string;
ho: char; &8cao: byte;
Procedure (ntrada;
begin
clrscr;
goto9y($='1%);
write (Nome: ); readln(N);
1P7
goto9y($='1A);
writeln(<3ual3uer tecla# 8ara voltar ao M(NU);
ho:!readkey;
end;
Procedure K:M;
begin
clrscr;
goto9y($='1$); write(<3ual3uer tecla# );
ho:!readkey
end;
begin
re8eat
clrscr;
goto9y($='1%); write(M(NU 1( &P/&(,);
goto9y($P'1$); write(1 ))))) K:M);
goto9y($P'1A); write($ ))))) (NDR.1.);
goto9y($='1=); 2owvideo;
goto9y($='1=); write((scolha uma &8cao: ); Normvideo;
re8eat
readln(&8cao);
Until (&8cao#%) or (&8cao<A);
/ase &8cao o"
1 : Kim;
$ : (ntrada;

end;
Until (&8cao<$) or (&8cao#$);
clrscr;
goto9y($='1>);writeln( <3ual3uer tecla# 8ara "inaliBar);
ho:!readkey;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* MU:D& :MP&RD.ND( 000# este 8rograma mostra como usar a 1:R(D:-. \: a
"im 7* de 3ue o 8rocesso de e9ecucao de um 8rograma nao seFa abortado'
uando 7
* no lugar de :ND(O(R' 8or engano' "or digitado um ,DR:NO 7
Program P$%;
uses crt;
label inicio;
var :: integer; .:arrayT1))AU o" integer;
begin
clrscr;
"or ::!1 to A do
begin
*\:07
:N:/:&: goto9y(1%'1%;:); write(Numero: ); read(.T:U);
*\:;7
i" :oresult <#% then
1P8
begin
goto inicio;
end;
end;
clrscr;
goto9y(A%'1$); writeln( valor de :! ' :);
readln;
re8eat until key8ressed;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Uso do 2.+(2 Funto com O&D&' mostrando 3ue 8ode ser usado em7
* lugar do /.,( 7
Program P$1;
uses crt;
2abel /lasseC=.' /lasseC?+' inicio' "im;
var
Nome: string;
o8cao: byte;
Procedure :OU.2.1&;
var
::byte;
begin
"or ::!1 to ?% do
write(X$%=);
end;
Procedure P&ND:24.1&;
var
:: byte;
begin
Kor ::!1 to ?% do
Jrite(X>=);
end;
begin
inicio:
clrscr;
goto9y(1%'>);
writeln( Menu de o8coes );
goto9y(1%'?); writeln( 1))))classeC=.);
goto9y(1%'P); writeln( $))))classeC?+);
goto9y(1%'@); writeln( A))))"im);
goto9y(1%'M); write(Wual e sua o8caoS );
readln(o8cao);
i" (&8cao!1) then goto classeC=.;
i" (&8cao!$) then goto classeC?+;
i" (o8cao#!A) then goto "im;
classeC=.:
1P:
clrscr;
goto9y(1%'11);
igualado;
goto9y(1%'1$);
writeln( R(2.`a& .2UN&, 1. /2.,,( =. );
goto9y(1='1>);
write(aluno: ); readln(nome);
goto9y(1='1=);
write(aluno: ); readln(nome);
goto9y(1%'1?);
8ontilhado;
goto9y(1%'1@);
writeln(<(ND(R# 8ara encerrar ); readln;
goto inicio;
/lasseC?+:
clrscr;
goto9y(1%'11);
igualado;
goto9y(1%'1$);
writeln( R(2.`a& .2UN&, 1. /2.,,( ?+ );
goto9y(1='1>);
write(aluno: ); readln(nome);
goto9y(1='1=);
write(aluno: ); readln(nome);
goto9y(1%'1?);
8ontilhado;
goto9y(1%'1@);
writeln(<(ND(R# 8ara encerrar ); readln;
goto inicio;
"im:
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* KocaliBa o uso do comando 2.+(2' sem8re a8arece Funto com O&D& 7
Program P$$;
uses crt;
2.+(2 inicio' "im;
var :' Nr.2: integer; .: arrayT1))AU o" string; K: char;
+(O:N
clrscr;
::!1;
:N:/:&:
goto9y(1=' @;:); write (Nome: ); readln(.T:U);
i" (.T:U ! ") or (.T:U!K) then O&D& K:M;
::!:;1;
O&D& :N:/:&;
K:M:
Nr.2:!:01; write( Nr.2! ' Nr.2);
re8eat until key8ressed;
end)
1PS
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (9em8lo de uso de D.+(2. com ar3uivo D(ND e im8ress o 7

Program P$A ;
uses crt' Printer;
ty8e
1isci8lina ! array T1))=U o" string;
/onalesc! record
Nome: string;
/onc: disci8lina;
Kta: disci8lina;
end;
-ar
.2: arrayT1))=U o" /onalesc;
:'Y: integer;
(sc: D(ND;
te9t: /onalesc;
+egin
clrscr;
* entrada 7
"or ::!1 to $ do
begin
write( :' 0 ' Nome:); readln(.2T:U)nome);
"or Y:!1 to $ do
begin
write( ' Y' 0 ' /onceito:); readln(.2T:U)/oncTYU);
write( ' Y' 0 ' Kaltas:); readln(.2T:U)KtaTYU);
end;
end;
* im8rimir 7
"or ::!1 to $ do
begin
writeln(2st'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(2st' ' ::$ ' .luno: ' .2T:U)Nome);
writeln(2st'
000000000000000000000000000000000000000000000000000000000000);
writeln(2st' 1+im $+im A+im
>+im DKtas );
writeln(2st' 0000 0000 0000
0000 00000);
writeln(2st' 1=1
'.2T:U)/oncT1U'0'.2T:U)KtaT1U);
writeln(2st' 1=$
'.2T:U)/oncT$U'0'.2T:U)KtaT$U);
writeln(2st'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);
writeln(2st' );
writeln(2st' );
writeln(2st' );
1P7
writeln(2st' );
writeln(2st' );
end;
* gravacao 7
assign((sc' .:Oer(sc)DND);
rewrite((sc);
"or ::!1 to $ do
begin
writeln( (sc' .2T:U)Nome);
writeln((sc' .2T1U)/oncT1U'0 '.2T1U)KtaT1U);
writeln((sc' .2T$U)/oncT$U'0 '.2T$U)KtaT$U);
end;

close((sc);
* .8resentacao 7
clrscr;
window(1%'>'P%'$%);
"or ::!1 to $ do
begin

writeln( LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln( ' ::$ ' .luno: ' .2T:U)Nome);

writeln( 000000000000000000000000000000000000000000000000000000000000);
writeln( 1+im $+im A+im >+im DKtas
);
writeln( 0000 0000 0000 0000
00000);
writeln( 1=1 '.2T:U)/oncT1U'0'.2T:U)KtaT1U);
writeln( 1=$ '.2T:U)/oncT$U'0'.2T:U)KtaT$U);

writeln(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);
end;
goto9y(1='$=);
write( <(ND(R# 8ara "inaliBar); readln;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Drata das o8eracoes com matriBes usando /.,(7
Program P$>
uses /rt;
var
Decla: char;
&8cao: char;
.: arrayT1))1%' 1))1%U o" real;
+: arrayT1))1%' 1))1%U o" real;
1Pg
/: arrayT1))1%' 1))1%U o" real;
m'n'8':'Y'5: integer;
4: real;
Procedure (ntradaC.e+;
* (NDR.1. das matriBes . e + 8ara e"etuar adid]o 7
* entre . e + 7
begin
clrscr;
writeln;
Jrite( Wual ^ a ordem das matriBesS ); readln(m);
writeln;
writeln( (ntrada da matriB . );
writeln;
"or ::!1 to m do
begin
writeln;
"or Y:!1 to m do
begin
write( .T':'''Y'U'! ); readln(.T:'YU);
writeln;
end;
end;
writeln;
writeln( (ntrada da matriB + );
writeln;
"or ::!1 to m do
begin
writeln;
"or F:!1 to m do
begin
write( +T':'''Y'U'! ); readln(+T:'YU);
writeln;
end;
end;
end;
Procedure .mais+;
* Processamento de .;+ 7
begin
"or ::!1 to m do
begin
"or Y:!1 to m do
/T:'YU:!.T:'YU;+T:'YU;
end;
end;
Procedure .menos+;
* Processamento de .0+ 7
begin
"or ::!1 to m do
begin
"or Y:!1 to m do
/T:'YU:!.T:'YU0+T:'YU;
1PO
end;
end;
Procedure .dMatriBes;
* .8resentad]o do resultado de .;+ 7
begin
(ntradaC.e+;
.mais+;
clrscr;
writeln;
writeln ( &s elementos da matriB / s]o: );
writeln;
"or ::!1 to m do
begin
"or F:!1 to m do
begin
write( /T':'''Y'U'! ' /T:'YU:A:%);
writeln;
end;
end;
writeln;
goto9y(P'$%); writeln( <(ND(R# 8ara "echar);
Decla:!readkey;
end;
*000000000000000000000000000000000000000000000000000000000000000000007
Procedure ,ubMatriBes;
* .8resentad]o do resultado de .0+ 7
begin
(ntradaC.e+;
.menos+;
clrscr;
writeln;
writeln ( &s elementos da matriB / s]o: );
writeln;
"or ::!1 to m do
begin
"or F:!1 to m do
begin
write( /T':'''Y'U'! ' /T:'YU:A:%);
writeln;
end;
end;
writeln;
goto9y(P'$%); writeln(<(ND(R# 8ara "echar);
Decla:!readkey;
end;

*000000000000000000000000000000000000000000000000000000000000007
Procedure MultMatriBes;
11P
* (NDR.1. das MatriBes .mn e +n8' 8ara e"etuar o 8roduto de 7
* . 8or + 7
-ar
.: arrayT1))1%' 1))1%U o" real;
+: arrayT1))1%' 1))1%U o" real;
/: arrayT1))1%' 1))1%U o" real;
:'Y'5: integer;
m'n'8:integer;
4: real;
begin
clrscr;
writeln( (ntrada da matriB . );
writeln;
write( N_mero linhas de .S ); readln(m);
write( N_mero colunas de .S ); readln(n);
"or ::!1 to m do
begin
writeln;
"or F:!1 to n do
begin
write( .T':'''Y'U'! ); readln(.T:'YU);
writeln;
end;
end;
writeln( (ntrada da matriB + );
writeln;
write( N_mero linhas de +S ); readln(n);
write( N_mero colunas de +S ); readln(8);
"or Y:!1 to n do
begin
writeln;
"or 5:!1 to 8 do
begin
write( .T':'''Y'U'! ); readln(+TY'5U);
writeln;
end;
end;
* Processamento de .)+ 7
4:!%;
"or ::!1 to m do
begin
"or 5:!1 to 8 do
begin
"or Y:!1 to n do
begin
4:!4;.T:'YUL+TY'5U;
/T:'5U:!4;
end;
4:!%;
end;
end;
111
* .8resentad]o do Resultado de .)+ 7
clrscr;
writeln;
writeln ( &s termos de .)+ s]o os seguintes: );
writeln;
"or ::!1 to m do
begin
"or 5:!1 to 8 do
begin
write( /T':'''5'U'! ' /T:'5U:A:%);
writeln;
end;
end;
goto9y(P'$%); writeln(<(ND(R# 8ara "echar);
Decla:!readkey;
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7
begin
* PR&OR.M. PR:N/:P.2 7
&8cao:!&;
Jhile (&8cao<# >) do
begin
clrscr;
goto9y(?'?); write ( M(NU PR:N/:P.2 );
goto9y(@'@); write(1 )))))).dMatriBes);
goto9y(@'1%); write($ ))))),ubMatriBes);
goto9y(@'1$); write(A )))))MultMatriBes);
goto9y(@'1>); write(> )))))Kim do Programa);
goto9y(?'1?); write( (scolha uma &P/.& );readln(&8cao);
i" (&P/.& <# >) then
/.,( &8cao o"
1: .dMatriBes;
$: ,ubMatriBes;
A: MultMatriBes;
(2,(
goto9y(1A'$%);
writeln(&8cao invalida 0 <3ual3uer tecla# 8ara "inaliBar);
&8cao:!readkey;
end;
end;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* &8eracoes com matriBes usando 2.+(2 7
Program P$=;
uses crt;
115
label .dicao,ubtracao;
label Processamento;
label Resultado;
2abel Multi8licacao;
label Processamento1;
label Resultado1;
label inicio;
label "im;
-ar
.: arrayT1))1%' 1))1%U o" real;
+: arrayT1))1%' 1))1%U o" real;
/: arrayT1))1%' 1))1%U o" real;
:'Y'5: integer;
o8: char;
m'n'8:integer;
4: real;
ho: char;
begin
inicio:
goto9y(>'>);
writeln( &8eradees dis8onfveis: ;' 0 e L );
clrscr;
writeln;
goto9y(='=);
write ( Wual ^ a o8erad]oS); readln(o8);
i" o8! ; then goto .dicao,ubtracao;
i" o8! 0 then goto .dicao,ubtracao;
i" o8! L then goto Multi8licacao;
.dicao,ubtracao:
* (NDR.1. das matriBes . e + 7
clrscr;
writeln;
Jrite( Wual ^ a ordem das matriBesS ); readln(m);
writeln;
writeln( (ntrada da matriB . );
"or ::!1 to m do
begin
writeln;
"or F:!1 to m do
begin
write(.T':'''Y'U'! ); readln(.T:'YU);
writeln;
end;
end;
clrscr;
writeln( (ntrada da matriB + );
"or ::!1 to m do
begin
writeln;
"or F:!1 to m do
begin
write(+T':'''Y'U'! ); readln(+T:'YU);
writeln;
end;
117
end;
goto Processamento;
* PR&/(,,.M(ND& 7
Processamento:
i" (o8!;) then

"or ::!1 to m do
begin
"or Y:!1 to m do
/T:'YU:!.T:'YU;+T:'YU;
end;
i" (o8!0) then
"or ::!1 to m do
begin
"or Y:!1 to m do
/T:'YU:!.T:'YU0+T:'YU;
end;
goto resultado;
* ,.b1. 7
Resultado:
clrscr;
writeln;
writeln ( &s elementos da matriB / s]o: );
"or ::!1 to m do
begin
"or F:!1 to m do
begin
write(/T':'''Y'U'! ' /T:'YU:A:%);
writeln;
end;
end;
goto9y(A%'$%); write(<3ual3uer tecla# 8ara encerrar);
ho:!readkey;
goto "im;
Multi8licacao:
* (NDR.1. 1., M.DR:Z(, .mn e +n8 7
writeln( (ntrada da matriB . );
clrscr;
writeln;
write( N_mero linhas de .S); readln(m);
write( N_mero colunas de .S); readln(n);
"or ::!1 to m do
begin
writeln;
"or F:!1 to n do
118
begin
write(.T':'''Y'U'! ); readln(.T:'YU);
writeln;
end;
end;
writeln( (ntrada da matriB + );
write( N_mero linhas de +S ); readln(n);
write( N_mero colunas de +S ); readln(8);
"or Y:!1 to n do
begin
writeln;
"or 5:!1 to 8 do
begin
write(.T':'''Y'U'! ); readln(+TY'5U);
writeln;
end;
end;
goto Processamento1;
* PR&/(,,.M(ND& 7
Processamento1:
4:!%;
"or ::!1 to m do
begin
"or 5:!1 to 8 do
begin
"or Y:!1 to n do
begin
4:!4;.T:'YUL+TY'5U;
/T:'5U:!4;
end;
4:!%;
end;
end;
goto resultado1;
* ,.b1. 7
Resultado1:
clrscr;
writeln;
writeln ( & 8roduto das matriBes . e + ^: );
writeln;
"or ::!1 to m do
begin
"or 5:!1 to 8 do
begin
write(/T':'''5'U'! ' /T:'5U:A:%);
writeln;
end;
end;
goto9y(A%'$%); write(<3ual3uer tecla# 8ara encerrar);
re8eat until key8ressed;
goto "im;
11:
"im:
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (ste 8rograma "aB cadastramento de no ma9imo de > registros' e"etua 7
* a gravacao desses registros e' em seguida' e9ibe na tela o conteudo 7
* do ar3uivo 8ara "aBer uma con"irmacao 7
8rogram P$P;
uses crt;
label "inal;
/onst ar3 ! .:M4)DND; ma9!>;
ty8e .genda ! record
Nome: stringTA%U;
RO: stringT$U; *colocando :nteger nao 8ode ter T$U7
end;
-ar .: arrayT1))Ma9U o" .genda; :'N: byte; 4&: "ile o" .genda;
.g: .genda; ": char; *R!res8osta7
+egin
clrscr;
assign(4&'ar3); rewrite(4&);
::!%;
R(P(.D
::!:;1;
J:D4 .T:U do
begin
goto9y(1$'@;:); write( Nome S T%!K:MU ' : ' 0 );
readln(Nome);
:" .T:U)Nome!% then goto "inal;
goto9y(>='@;:);write( RO S ); readln(RO);
write(4&'.T:U);
K:N.2:
end;
UND:2 (.T:U)Nome!%) or (:!>);
:" :<> then ::!:01; N:!:;
writeln(Nr)Registo! ' N);
readln;
close(4&);
* end) 7
.ssign(4&'.:M4)DND); reset(4&);
clrscr;
::!1;
while not (&K(4&) do
begin
read(4&' .T:U);
write(.T:U)Nome' 0000# );
Jriteln(.T:U)RO);
::!:;1;
end;
goto9y(=%'$%); write(:);
re8eat until key8ressed;
close(4&)
end)
11S
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* (ste 8rograma "aB: 1) /adastra = registros Nome RO $) &rdena 8or 7
* ordem al"abetica de nome A) grava em ar3uivo Kile >) e9ibe na 7
* tela o conteudo deste Kile =) trans"ere o conteudo do Kile 8ara o7
* te9t 000# o conteudo do te9t 8ode ser e98ortado 8ara o J&R1 7
Program P$@;
uses crt;
label "im;
Dy8e .genda ! record
nome: stringTA%U;
RO: integer;
end;
-ar 4&: "ile o" .genda; .g: .genda; :'5'N::ND(O(R; .:arrayT1))=U o"
.genda;
Damanho: integer; 4:.genda; M4: te9t;
+egin
clrscr;
assign(4&'.:2uiB)1at); rewrite(4&);
::!%;
R(P(.D
::!:;1;
goto9y(1='11;:); write( Nome ! S T%!K:MU ); readln(.T:U)Nome);
i" .T:U)Nome!% then goto K:M;
goto9y(=%'11;:);write( RO ! S ); readln(.T:U)RO);
K:M:
UND:2 (.T:U)Nome!%) or (:!=);
:" :<= then ::!:01; N:!:;
writeln(valor N! ' N);
readln;
* &R1(N.R 7
Kor ::!1 to N01 do
"or 5:!:;1 to N do
begin
i" .T:U)Nome#.T5U)Nome then
begin
4:! .T:U;
.T:U:!.T5U;
.T5U:!4
end;
end;
clrscr;
* Oravacao dos nomes Fa classi"icados 7
"or ::! 1 to N do
begin
write(4&' .T:U);
117
end;
* (N:+:R N. D(2. /&ND(U1& /.1.,DR.1& 7
writeln (N & M (:$?' R O:1> );
JR:D(2N;
"or ::!1 to N do
writeln ( .T:U)Nome:A$' .T:U)RO:P);
R(P(.D UND:2 5(6PR(,,(1;
close(4&);
* (N:+:R N. D(2. /&ND(U1& 1& .RWU:-& 7
assign(4&'.:2uiB)1at); reset(4&);
tamanho:!"ilesiBe(4&); writeln(nr)registros! ' tamanho);
writeln(valor de N ! ' N);
readln;
clrscr;
"or ::!1 to N do
begin
read(4&'.T:U);
goto9y($'1%;:); writeln(.T:U)Nome:A%' .T:U)RO:=);
end;
re8eat until key8ressed;
/2&,((ho);
* end) 7
* DR.N,K(R:R .RWU:-& K:2( P.R. .RWU:-& D(ND 7
assign(4&'.:2uiB)1at); reset(4&);
assign(M4'.:Nick)t9t); rewrite(M4);
writeln ( Regravando do Kile no De9t );
writeln( Nr)registros! ' N);
re8eat until key8ressed;
Kor ::!1 to N do
begin
Read(4&' .T:U);
writeln( M4' .T:U)Nome:A%' .T:U)RO:=);
end;
close(4&); close(M4);
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Dres modos de usar o comando /.,( 8ara de"inir o M(NU PR:N/:P.2 de
7
11g
* um 8rograma codi"icado na linguagem do DP 000# P$M' PA% e PA1
7
Program P$M;
uses crt;
-.R
o8cao: byte; * se usar /4.R em lugar de byte devera usar 2(DR. ou NR
7
letra: string;
Procedure JR:D(N6(9'y: byte; mensagem: string);
begin
goto9y(9'y); write(M(N,.O(M);
end;
Procedure ...;
begin
clrscr;
goto9y($%'1$); write( .2(2U:.' P(2., +(N/.&, WU( R(/(+(M&, 1& /(U );
write9y(>%'1>' <(ND(R#);
readln;
end;
Procedure +++;
begin
clrscr;
goto9y($%'1$); write( 6&U 1&ND ,/R.D/4 . M.D/4 &N .N./&N1. );
write9y(A='1>' <(ND(R#);
readln;
end;
+(O:N
clrscr;
write9y(1%'@' ,e <nr# maior do 3ue A 00# volte a <1' $ ou A 8ara
continuar# );
write9y(1%'1%' M(NU PR:N/:P.2 );
write9y(1%'1$' <(ND(R# 8ara continuar );
readln;
R(P(.D
clrscr;
write9y($%'@' 1 )))) Kim,air );
write9y($%'M' $ )))) o8cao ... );
write9y($%'1%' A )))) &8cao +++ );
R(P(.D
goto9y($%'1$); write( &8cao S ); readln(&8cao);
UND:2 (&8cao#%) and (&8cao<>);
/.,( &8cao o"
$ : ...;
A : +++;
end; * do case 7
UND:2 (&8cao!1);
clrscr;
write9y($%'1A' -amos g8icar a mulag))) tchau)))tchau ))));
write9y($%'1>' <(ND(R# 8ara encerrar );
11O
readln;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Dres modos de usar o comando /.,( 8ara de"inir o M(NU PR:N/:P.2 de
7
* um 8rograma codi"icado na linguagem do DP 000# P$M' PA% e PA1
7
* & PA% e melhor do 3ue o P$M 7
Program PA%;
uses crt;
-.R
o8cao: /4.R; * se usar /4.R em lugar de byte devera usar 2(DR. ou NR
7
letra: string;
Procedure JR:D(N6(9'y: byte; mensagem: string);
begin
goto9y(9'y); write(M(N,.O(M);
end;
Procedure ...;
begin
clrscr;
goto9y($%'1$); write( .2(2U:.' P(2., +(N/.&, WU( R(/(+(M&, 1& /(U );
write9y(>%'1>' <(ND(R#);
readln;
end;
Procedure +++;
begin
clrscr;
goto9y($%'1$); write( 6&U 1&ND ,/R.D/4 . M.D/4 &N .N./&N1. );
write9y(A='1>' <(ND(R#);
readln;
end;
Procedure KinaliBar;
begin
clrscr;
goto9y($%'1$); write( -amos g8icar a mulag))) tchau)))tchau ))));
write9y(A='1>' <(ND(R#);
readln;
end;
+(O:N
clrscr;
write9y(1%'1%' M(NU PR:N/:P.2 );
write9y(1%'1$' <(ND(R# 8ara continuar );
readln;
15P
R(P(.D
clrscr;
write9y($%'@' . )))) &8cao ... );
write9y($%'M' + )))) o8cao +++ );
write9y($%'1%' K )))) KinaliBar );
goto9y($%'1$); write( &8cao S ); readln(&8cao);
o8cao:!UP/.,((&8cao);
i" ( &8cao in T.' +' KU) then
+(O:N
/.,( &8cao o"
. : ...;
+ : +++;
K : KinaliBar;
end; * do case 7
end *antes de (2,( nao usar 8onto e virgula 7
(2,(
begin
clrscr;
write9y($%'1$' &8cao invalida);
write9y($%'1A' <(ND(R#);
end;
UND:2 (&8cao!K);
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
* Dres modos de usar o comando /.,( 8ara de"inir o M(NU PR:N/:P.2 de 7
* um 8rograma codi"icado na linguagem do DP 000# P$M' PA% e PA1 7
* & PA% e melhor do 3ue o P$M 7
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
Program PA1;
uses crt;
-.R
o8cao: /4.R; * se usar /4.R em lugar de byte devera usar 2(DR. ou NR
7
letra: string;
Procedure JR:D(N6(9'y: byte; mensagem: string);
begin
goto9y(9'y); write(M(N,.O(M);
end;
Procedure ...;
begin
clrscr;
goto9y($%'1$); write( .2(2U:.' P(2., +(N/.&, WU( R(/(+(M&, 1& /(U );
write9y(>%'1>' <(ND(R#);
readln;
end;
151
Procedure +++;
begin
clrscr;
goto9y($%'1$); write( 6&U 1&ND ,/R.D/4 . M.D/4 &N .N./&N1. );
write9y(A='1>' <(ND(R#);
readln;
end;
Procedure KinaliBar;
begin
clrscr;
goto9y($%'1$); write( -amos g8icar a mulag))) tchau)))tchau ))));
write9y(A='1>' <(ND(R#);
readln;
end;
+(O:N
clrscr;
&8cao:!%;
write9y(1%'1%' M(NU PR:N/:P.2 );
write9y(1%'1$' <(ND(R# 8ara continuar );
readln;
J4:2( (&8cao <# A) do
begin
clrscr;
write9y($%'@' 1 )))) &8cao ... );
write9y($%'M' $ )))) o8cao +++ );
write9y($%'1%' A )))) (ncerrar o 8rograma);
goto9y($%'1$); write( &8cao S ); readln(&8cao);
i" ( &8cao <#A) then
/.,( &8cao o"
1 : ...;
$ : +++;
A : KinaliBar
(2,(
write9y($%'1$' &8cao invalida);
write9y($%'1A' <(ND(R#);
end;
end;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7
Klo9ograma do PA$:

155
iniciar
Declraloe*X ,*e*, label , )ype e >ar1
P/oC6.1/6s4
#la**iAicar
En)radaf#la**iAicar
'ei),ra
+ra/arfEEibirf<aTela
SelecionafSeEo%f+ra/a
Selecionaf&dadeB1Pano*f+ra/a
BE<( ?!&<#&?'
E En)radaf#la**iAicao
+ +ra/arfEEibirf<aTela
S SelecionafSeEo%f+ra/a
& Selecionaf&dadeB1Pano*f+ra/a
% %inali9ar
%i.
157
iniciar
Declara-e*X ,*e*, label, )ype e >ar
P/oC6.1/6s4
#la**iAicar
En)radaf#la**iAicar
'ei),ra
+ra/arfEEibirf<aTela
SelecionafSeEo%f+ra/a
Selecionaf&dadeB1Pano*f+ra/a
%inali9ar
BE<( ?!&<#&?'
E En)radaf#la**iAicao
+ +ra/arfEEibirf<aTela
S SelecionafSeEo%f+ra/a
& Selecionaf&dadeB1Pano*f+ra/a
% %inali9ar
%i.
S(B-!$T&<SX

158
CLASSIFICAR
hX
1,<,1
hX
1,<,1
>{h[1<o.e
L>{b[1<o.e
D\>Zh[
>Zh[\>Zb[
>Zb[\D
R65o/-o



15:
E-5/a.ajCLass2H2CaEMo
hX
1,<,1
>Zh[1<o.e
>Zh[1&dade
>Zh[1SeEo
#la**iAicar
!e)orno
L6251/a
>Zh[1<o.e
>Zh[1&dade
>Zh[1SeEo
hX1,<,1
!e)orno
15S
#/a3a/jE72G2/jaT6La
hX11<,1
>Zh[ <ic (%ile)
>Zh[1<o.e, >Zh[1&dade
>Zh[1SeEo %a(TeE))
'ei),ra
!e)orno
N
S
S
N
157
S6L6C2o-ajS67oFj#/a3a
hX 1,<,1
>Zh[1SeEo
>Zh[1SeEo\%
h, >Zh[1<o.e,
>Zh[1&dade
>Zh[1SeEo
<o TaATeE)
h\h`1
!e)orno
>Zh[1<o.
e
>Zh[1&dad
e
>Zh[1*eEo
hL
1P




S

S


S
N

15g
S6L6C2o-ajI.a.6$89a-osjJ/a3a
hX 1,<,1
>Zh[1&dade
>Zh[1&dadeL1
P
h, >Zh[1<o.e,
>Zh[1&dade
>Zh[1SeEo
<o &daB1PTeE)
h\h`1
!e)orno
>Zh[1<o.
e
>Zh[1&dad
e
>Zh[1*eEo
hL
<
CODIFICA%O
* (ste 8rograma "oi desenvolvido 8elo M(D&1& 1. PR&OR.M./.& (,DRUDUR.1. !
P(7
* 1) /adastra registros $) classi"ica A) Orava >) "aB 2eitura na
tela 7
* =) se8ara nomes de se9o K!"eminino e ?) se8ara nomes com idade
su8erior a7
* 1% anos) Nesta simulacao os itens do Menu Princi8al devem ser
e9ecutados 7
* se3uencialmente)
7
* .tente 8ara o detalhe: & uso do metodo linear a3ui seria him8raticavelh
7
Program PA$;
uses crt' 8rinter;
label item$' "inal;
ty8e
/d ! record
nome: string T$%U;
idade: integer;
,e9o: char;
end;
-.R
Y'5'2'N: integer; res8' o8cao: char;
4: /d;
-: array T1))1%U o" /d;
Nic: "ile o" /d;
Ka: te9t; DaK: te9t; :daM1%: te9t;
*000000000000000000000000000000000000000000000000000000000000000000000000
0007
Procedure /2.,,:K:/.R;
begin
"or Y:!1 to N01 do
"or 5:!Y;1 to N do
i" -TYU)nome# -T5U)nome then * 8ode usar -TYU)idade 7
begin
4:!-TYU;
-TYU:!-T5U;
-T5U:!4;
end;
end;
*000000000000000000000000000000000000000000000000000000000000000000000000
0007
Procedure (NDR.1.C/2.,,:K:/./.&;
label inicio' "im;
begin
clrscr;
goto9y(1='=); write((K(DU.R (NDR.1. 1( 1.1&,' /2.,,:K:/.R ( OR.-.R);
goto9y(1='P); write(KaBendo nome ! % 00# encerra);
15O
Y:!1;
inicio:
with -TYU do
begin
goto9y(1=' @;Y); write(nome S ); readln(nome);
i" (nome!%) then goto "im;
goto9y(>%' @;Y);write(idade S ); readln(idade);
goto9y(=A' @;Y);write(se9o S ); readln(se9o);
Y:!Y;1; goto inicio;
end;
"im:
N:!Y01;
/lassi"icar;
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!7
Procedure 2(:DUR.;
begin
clrscr;
.ssign(Nic' .:Nick)1ta); reset(Nic);
* "or Y:!1 to A do 000# 8oderia usar este em lugar de (&K 7
Y:!1;
while not (&K(Nic) do
begin
read(Nic' -TYU);
goto9y($%'@;Y); write(-TYU)nome);
goto9y(>='@;Y);write(-TYU)idade);
goto9y(=='@;Y);write(-TYU)se9o);
Y:!Y;1;
end;
end;
*000000000000000000000000000000000000000000000000000000000000000000000000
0007
Procedure OR.-.RC(N:+:RCnaD(2.;
begin
"or Y:!1 to N do
begin
write(Nic' -TYU);
writeln(Ka' Y' 0 ' -TYU)nome' 0 ' -TYU):dade' 0
'-TYU)se9o);
end;
goto9y(A%'1$); write(<(ND(R#);
2eitura;
goto9y($='$$); write(<(ND(R# 00# volta ao M(NU);
readln;
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
17P
Procedure ,(2(/:&N.C,e9oKCOR.-.;
label se8arar' "im' 8ro9imo;
begin
/2R,/R;
"or Y:!1 to N do
8ro9imo:
begin
i" (-TYU)se9o ! K) or (-TYU)se9o ! ")then goto se8arar;
i" (-TYU)se9o ! M) or (-TYU)se9o ! m) then
begin
Y:!Y;1; i" Y#N then goto "im;
goto 8ro9imo;
end;
se8arar:
goto9y($%'1$;Y); write(Y' 0 '-TYU)nome);
goto9y(>%'1$;Y);write(-TYU)idade);
goto9y(=%'1$;Y); write(-TYU)se9o);
writeln(DaK' Y' 0 '-TYU)nome' '-TYU)idade'
'-TYU)se9o );
end;
"im:
goto9y($='$$); write(<(ND(R# 00# volta ao M(NU);
readln;
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
Procedure ,(2(/:&N.C:1.1(m1%anosCOR.-.;
label 8ro9imo' "im ;
begin
/2R,/R;
Y:!1;
8ro9imo:
i" (-TYU)idade #1%) then
begin
goto9y($%'1$;Y); write(Y' 0 '-TYU)nome);
goto9y(>%'1$;Y);write(-TYU)idade);
goto9y(=%'1$;Y); write(-TYU)se9o);
writeln(:daM1%' Y' 0 '-TYU)nome' '-TYU)idade'
'-TYU)se9o );
end;
Y:!Y;1;
i" Y#N then goto "im;
goto 8ro9imo;
"im:
goto9y($='$$); write(<(ND(R# 00# volta ao M(NU);
readln;
end;
171
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
Procedure write9y(9'y:byte; mensagem: string);
begin
goto9y(9'y); write(M(N,.O(M);
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
Procedure K:N.2:Z.R;
begin
clrscr;
goto9y($%'1$); write( vamos ao recesso 0 rele9 );
write9y($%'1>' <(ND(R# 8ara sair);
readln;
/lose(Nic); /lose(Ka);/lose(DaK); /lose(:daM1%);
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
+(O:N
clrscr;
.ssign(Nic' .:Nick)1ta); rewrite(Nic);
.ssign(Ka' .:Kab)t9t); rewrite(Ka);
.ssign(DaK'.:DaKta)t9t); rewrite(DaK);
.ssign(:daM1%' .::dadeM1%)t9t); rewrite(:daM1%);
write9y($%'1%' M(NU PR:N/:P.2);
write9y($%'1$' <(ND(R#);
readln;
R(P(.D
clrscr;
write9y($%'@' &P/&(, 1:,P&N:-(:,);
write9y($%'1%' ( ))) (ntradaC/lassi"icacao);
write9y($%'11' O ))) OravarC(9ibirCnaDela);
write9y($%'1$' , ))) ,elecionaC,e9oKCOrava);
write9y($%'1A' : ))) ,elecionaC:dadeM1%anosCOrava);
write9y($%'1>' K ))) KinaliBar);
goto9y($%'1?); write( ,ua &8cao S ); readln(&8cao);
&8cao:!u8case(&8cao);
:" (o8cao in T(' O' ,' :' KU) then
+(O:N
clrscr;
/.,( &8cao o"
( : (ntradaC/lassi"icacao;
O : OravarC(9ibirCnaDela;
, : ,elecionaC,e9oKCOrava;
: : ,elecionaC:dadeM1%anosCOrava;
K : KinaliBar;
end;
(N1
(2,(
175
begin
write9y($%'1$' &8cao invalida);
write9y($%'1A' <(ND(R#);
end;
UND:2 (o8cao!K);
(N1)


*[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[7
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
177
"#. $% &PRO'ETO ESCO(A &

Tra)a do con)role de de*e.pen=o e*colar do al,no na E*colaM1
) E*K,e.a do Al,EoCra.aX
178
PR%'E%RA PARTE
Cada(trame*to de Alu*o
P/oC6.1/6s4
Wri)eEy
no#la**e
+ra/a<rl,no*
Encerrar
EEibir<aTela
+ra/a'i*)a
+ra/a'*)
Ca.as5/oD6AL1-o
5lA r 8gA r
&n0cio
E*clareci.en)o*
&den)iAicaoe*
&

17:
SE&UNDA PARTE
De(em;e*Ao de Alu*o *a
E()ola

P/oC6.1/6s4
Le<r'Aec=a
brewce**a'*):
#riabre#:1
#riabre%:1
#riabreDE:1
#riabre#:5
#riabre%:5
#riabreDE:15
#riabre#:7
#riabre%:7
#riabreDE:157
#riabre#:8
#riabre%:8
#riabreDE:1578
#riabreT%1
brece**a#opiaT%1
#riabreT%15
brece**a#opiaT%15
#riabreT%157
brece**a#opiaT%157
#riabreT%1578
(?arcela.en)o do 83 bi.e*)re e.
7 procedi.en)o*)
D$(
D$D
D$T
8!P/2,62/o2,6s5/6 :!P/2,62/o2,6s5/6 3!P/2,62/o2,6s5/6 d!P/2,62/o2,6s5/6
17S
%inal
eee
F2-aL2aa/
?roced,re
#la**e:
1 P/2,62/o2,6s5/6
!eCi*)ra e Cra/a #%* e
*o.a da* Aal)a* reA1ao 13
Bi.e*)re1
EEibe na Tela e Cra/a a
T!e - 13Bi.1
EEibe na Tela e Cra/a o
DE:11
1 S6J1-.o2,6s5/6
!eCi*)ra e Cra/a #%* e
*o.a da* Aal)a* reA1ao 13
e 53 Bi.e*)re*1
EEibe na Tela e Cra/a a
T!e - 53Bi.1
EEibe na Tela e Cra/a o
DE:151
1 T6/C62/o2,6s5/6
!eCi*)ra e Cra/a #%* e
*o.a da* Aal)a* reA1ao 13 ,
53 e 73 Bi.e*)re*1
EEibe na Tela e Cra/a a
T!e - 73Bi.1
EEibe na Tela e Cra/a o
DE:1571
1 +1a/5o2,6s5/6
DOU ReCi*)ra e Cra/a
#%* e a *o.a da* Aal)a*
reA1ao 13, 53, 73 e 83
Bi.e*)re*1
DOD ! EEibe na Tela e
Cra/a a )er G 83Bi.1
DOT ! EEibe na Tela e
Cra/a o DE:15781
?roced,re
T!eBE
?roced,re
%inali9ar
?roced,re
#la**e 1
CLass6 8A
CLass6 5A
H
2
,
&&



Codi)ica*+o:
177
?? G ?roCra.a
?rincipal
F
%i.
C
#ada*)roDe
l,no
T
T!eBE
&
&&
P/oC6.1/6
FI$
H2,
* /&N.2(,/ 0 8rograma 3ue "aB o controle de desem8enho de aluno na
(scola 7
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL7
* (,/2.R(/:M(ND&,:
7
* 1) .utor 000# 4eladio de &liveira
7
* $) &bFetivo 000# utiliBar e relacionar os 8rinci8ais recursos do D+
7
* A) DRe+( 000# signi"ica Dabela de Resultados e +oletins (scolares
7
* >) & 3ue DRe+( "aB S 000# trata0se de um 8rograma gP:2&D&g cuFa
"inalida07
* de e con"eccionar e emitir tres ti8os de documentos basicos da vida
7
* :) 2ista dos alunos com8onentes de uma classe ( a3ui 8ode0se
discri0 7
* minar nr)' nome' RO' "one' etc) );
7
* ::) DR: Dabela dos resultados' indicando o desem8enho dos alunos de
7
* cada classe no decorrer do ano letivo; 7
* :::) +(: +oletins (scolares indicando o 1(! desem8enho escolar de
cada 7
* aluno' durante todo o ano letivo)
7
* =) Di8o de ar3uivo usado no DRe+( 000# o8tou0se 8elo ar3uivo do ti8o
D(ND7
* com e9tens o DND' 8or3ue isto 8ermite trans"erir os resultados
obtidos7
* 8ara o J&R1' 3ue 8ermite "aBer uma "ormatacao mais a8urada e de
acordo7
* com o gosto e necessidade do interessado)
7
* ?) .r3uivos usados: ( N ! drive . Tdis3ueteU ou drive / T41U)
7
* Nome logico Nome "isico (disco) Ouarda
7
* 00000000000 0000000000000000000 000000 7
* N=. N:Nr.lunos)t9t .2T:U 00# alunos
7
* DR=. DRe=. Dab)Resultados
7
* /=.1 /=.1 /1TY':U 00# concs)
discs)Pbim 7
17g
* /=.$ /=.$ /$TY':U 00# concs)
discs),bim 7
* /=.A /=.A /ATY':U 00# concs)
discs)Dbim 7
* /=.> /=.> />TY':U 00# concs)
discs)Wbim 7
* K=.1 K=.1 K1TY':U 00# Ktas)
discs)Pbim 7
* K=.$ K=.$ K$TY':U 00# Ktas)
discs),bim 7
* K=.A K=.A KATY':U 00# Ktas)
discs)Dbim 7
* K=.> K=.> K>TY':U 00# Ktas)
discs)Wbim 7
* 1(=.1 1(=.1 +oletins re") 1( do Pbim
7
* 1(=.1$ 1(=.1$ +oletins re") 1( do P,bim
7
* 1(=.1$A 1(=.1$A +oletins re") 1(1 do P,Dbim
7
* 1(=.1$A> 1(=.1$A> +oletins re") 1( do P,DWbim
7
* DK1 DK1 Dotal de "altas ate Pbim
7
* DK1$ DK1$ Dotal de "altas ate ,bim
7
* DK1$A DK1$A Dotal de "altas ate Dbim
7
* DK1$A> DK1$A> Dotal de "altas ate Wbim
7
* P) /&N.2(,/ signi"ica /ontrole do 1( de .lunos na (scola
7
* @) <(ND(R# signi"ica gPressione a tecla (ND(Rg)
7
* M) <&8cao# signi"ica (scolha uma o8cao e 8ressione a tecla 3ue
7
* corres8onde a sua escolha)
7
* 1%) Para a classe Piloto' dita =.' "oram discriminadas @ disci8linas:
7
* 2Port' 4isto' Oeogr' Matem' /ien' (dKis' (d.rt e :ngle) , o as
7
* materias 3ue com8oem a grade curricular do (K do 1Orau)
7
*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLL7
Program /&N.2(,/;
uses crt;
label continua;
*000000000000000000000000000000000000000000000000000000000000000000000000
007
17O
-.R
2st=.: te9t; N=.: te9t; 2ista=.: te9t;
* 2ista=. ! 2ista dos alunos F dentro do "ormul rio
8ara 7
* ser ane9ado ao 1i rio de
/lasse) 7
* 2st=. ! "aB lista somente de nr0.luno' 8ara com8or o
+( 7
.2: arrayT1))?%U o" string;
:' Y' Nr.2' .n2' ,: 2ongint;
4'/lass: string;
Res8' "' o8cao : char;
* Nr.2! nr)alunos 3ue "orma uma classe 0 .n2 ! .no 2etivo 7
* /lass ! Nome da classe: =.' 1.' ))) 7
b' classe: byte;
,K: array T1))?%U o" integer;
/1: array T1))?%' 1))$%U o" char; K1: array T1))?%' 1))$%U o"
integer;
/$: array T1))?%' 1))$%U o" char; K$: array T1))?%' 1))$%U o"
integer;
/A: array T1))?%' 1))$%U o" char; KA: array T1))?%' 1))$%U o"
integer;
/>: array T1))?%' 1))$%U o" char; K>: array T1))?%' 1))$%U o"
integer;
KD1: arrayT1))?%U o" integer; KD1$: arrayT1))?%U o" integer;
KD1$A: arrayT1))?%U o" integer; KD1$A>: arrayT1))?%U o" integer;
DR=.: te9t; /=.1: te9t; K=.1: te9t;
/=.$: te9t; K=.$: te9t; /=.A: te9t; K=.A: te9t; /=.>: te9t; K=.>:
te9t;
1(=.1:te9t; 1(=.1$:te9t; 1(=.1$A:te9t; 1(=.1$A>: te9t;
DK1: te9t; DK1$: te9t; DK1$A: te9t; DK1$A>: te9t;

*LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LU

* LLL PR:M(:R. P.RD( LLL 7
* KaB o /.1.,DR.M(ND& dos alunos na (scola 7

*000000000000000000000000000000000000000000000000000000000000000000000000
07
Procedure write9y(9'y: integer; Mensagem: string);
begin
goto9y(9'y); write(Mensagem);
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
07
Procedure .no/lasse;
18P
begin
clrscr;
.n2:!$%%=;
goto9y($%'1$); write ( /lasse * =.')))'1.')))etc) 7S );
readln(/lass);
end;


*000000000000000000000000000000000000000000000000000000000000000000000000
07
Procedure OravaNr.lunos;
begin
assign(N=.' .:Nr.lunos)t9t);
rewrite(N=.);
writeln(N=.' Nr.2);
close(N=.);
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
07
Procedure (ncerrar;
begin
clrscr;
write9y(1$'1%' UK "inal 0 -ale um cho88inho gelado 0 <(ND(R#);
readln;
e9it;
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
07
Procedure (9ibirNaDela;
-ar Y: integer;
begin
clrscr;
"or Y:!1 to Nr.2 do
begin
write9y(@'>'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y(11'='(() D.2 0 ,anto .ndr^(,P) 0 "one: >>A@01?1?
);
write9y(11'?'(nderedo: Pda).ssund]o' s[nc 0 (0
mail:CCCCCCCCCCCCCCCCC);
writeln;
write9y(@'@'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);
write9y($%'M' R ( 2 . ` a & 1 & , . 2 U N & , );
goto9y($A'11); write(/lasse: '/lass ' 0 '.no 2etivo: ' .n2);
write9y(@'1$'
00000000000000000000000000000000000000000000000000000000000);
write9y(1>'1A' Numero: N&M(: );
goto9y(@' 1A;Y);
writeln( ' Y:$' ' .2TYU);
end;
writeln;
181
write9y(@'1=;Y'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln;
writeln;
writeln( <(ND(R# );
re8eat until key8ressed;
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
07
* Oravacao do "ormulario contendo a lista dos alunos 8or classe7
Procedure Orava2ista;
-ar Y: integer;
+egin
assign(2ista=.' .:2ista=.)DND);
Rewrite(2ista=.);
Jriteln(2ista=.'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
Jriteln(2ista=.'(() 1R) /(2,& O.M. 0 ,anto .ndre(,P) 0 "one:>>A@0
1?1?);
writeln(2ista=.'(ndereco: Pca).ssuncao' s[nc 0 (0
mail:CCCCCCCCCCCCCCC);
writeln;
Jriteln(2ista=.'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
Jriteln(2ista=.' R ( 2 . / . & 1 & , . 2 U N & , );
writeln(2ista=.' 00000000000000000000000000000000000 );
writeln(2ista=.' /lasse: '/lass '0 '.no 2etivo: ' .n2);
writeln(2ista=.'
00000000000000000000000000000000000000000000000000000000000);
writeln(2ista=.' Numero: N&M(: );
"or Y:!1 to Nr.2 do
begin
goto9y(@' 1>;Y);
writeln(2ista=.' 'Y:$' '.2TYU);
end;
writeln;
writeln(2ista=.'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);
/lose(2ista=.);
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
07
* Orava lista dos nomes dos alunos 8ara com8or o +( 7
Procedure Orava2st;
-ar Y: integer;
begin
assign(2st=.' .:2st=.)t9t);
rewrite(2st=.);
"or Y:!1 to Nr.2 do
begin
writeln(2st=.' 'Y:$' 0 ' .2TYU);
185
end;
close(2st=.);
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
007
Procedure /adastro1e.luno;
label inicio' re8ete' sair;
+(O:N
inicio:
clrscr;
write9y($> '>' /.1.,DR.M(ND& 1( .2UN& );
write9y(1%'=' KaBendo Nome ! " ou K 00# "inaliBa 0 <(ND(R# );
readln;
.no/lasse;
clrscr;
goto9y($$'A); writeln( 1igite nome de aluno );
Y:!1;
re8ete:
goto9y($%'>;Y);
write( Y:$ ' 0 ); readln(.2TYU);
i" (.2TYU!") or (.2TYU!K) then goto sair;
Y:!Y;1;
goto re8ete;
sair:
Nr.2:!Y01;
Kor Y:!1 to Nr.201 do
Kor ::!Y;1 to Nr.2 do
i" .2TYU#.2T:U then
begin
4:!.2TYU;
.2TYU:!.2T:U;
.2T:U:!4;
end;
(9ibirNaDela;
readln;
gravaNr.lunos; grava2ista; Orava2st;
clrscr; goto9y(1$'1$);
Jrite ( Dem mais classes 8ara cadastrar S ,N S ; <(ND(R# );
readln(res8);
:" (Res8!s) or (Res8!,) then goto inicio;
(ncerrar;
end;

*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7

*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
7
* LLLL ,(OUN1. P.RD( LLLL 7
187
* -eri"ica o 1(,(MP(N4& dos alunos na (scola' atraves do registro
dos 7
* /onceitos e Kaltas de cada disci8lina e da emissao de dois
documentos7
* DRe! Dabela de Resultados e +(! +oletim
(scolar 7
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
Procedure 2eNr.2Kecha=.;
begin
assign(N=.' .:Nr.lunos)t9t);
reset(N=.);
read(N=.' Nr.2);
write(Nr.2);
close(N=.);
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
7
Procedure .bre.cessa2st=.;
begin
assign(2st=.' .:2st=.)t9t);
reset(2st=.)
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre/=.1;
begin
assign(/=.1' .:/=.1)t9t);
rewrite(/=.1);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breK=.1;
begin
assign(K=.1' .:K=.1)t9t);
rewrite(K=.1);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre1(=.1;
begin
assign(1(=.1' .:1(=.1)t9t);
rewrite(1(=.1);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre/=.$;
begin
assign(/=.$' .:/=.$)t9t);
rewrite(/=.$);
end;
188

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breK=.$;
begin
assign(K=.$' .:K=.$)t9t);
rewrite(K=.$);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre1(=.1$;
begin
assign(1(=.1$' .:1(=.1$)t9t);
rewrite(1(=.1$);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre/=.A;
begin
assign(/=.A' .:/=.A)t9t);
rewrite(/=.A);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breK=.A;
begin
assign(K=.A' .:K=.A)t9t);
rewrite(K=.A);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre1(=.1$A;
begin
assign(1(=.1$A' .:1(=.1$A)t9t);
rewrite(1(=.1$A);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre/=.>;
begin
assign(/=.>' .:/=.>)t9t);
rewrite(/=.>);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breK=.>;
begin
assign(K=.>' .:K=.>)t9t);
rewrite(K=.>);
end;
18:

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.bre1(=.1$A>;
begin
assign(1(=.1$A>' .:1(=.1$A>)t9t);
rewrite(1(=.1$A>);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breDK1;
begin
assign(DK1' .:DK1)t9t);
rewrite(DK1);
end;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
Procedure .bre.cessa/o8iaDK1;
begin
assign(DK1' .:DK1)t9t);
reset(DK1);
readln(DK1' KD1TYU);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breDK1$;
begin
assign(DK1$' .:DK1$)t9t);
rewrite(DK1$);
end;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
Procedure .bre.cessa/o8iaDK1$;
begin
assign(DK1$' .:DK1$)t9t);
reset(DK1$);
readln(DK1$' KD1$TYU);
end;

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breDK1$A;
begin
assign(DK1$A' .:DK1$A)t9t);
rewrite(DK1$A);
end;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))7
Procedure .bre.cessa/o8iaDK1$A;
begin
assign(DK1$A' .:DK1$A)t9t);
reset(DK1$A);
readln(DK1$A' KD1$ATYU);
end;
18S

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure /ria.breDK1$A>;
begin
assign(DK1$A>' .:DK1$A>)t9t);
rewrite(DK1$A>);
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!7
* &+,(R-./.& :MP&RD.ND( 000# &s Procedimentos 4&U' 4&1' 4&D'
7
* com8oem a codi"icacao do WU.RD& bimestre) (ssa 8articao "oi
7
* necessaria 8or3ue a e9tensao desse bloco ultra8assou o limite de
7
* do numero de caracteres 3ue 8ode ser usado em cada bloco' 3ue e de
$>5b) 7
* Wuando esse limite e ultra8assado' na hora de e9ecutar o 8rograma
a8a07
* rece a mensagem: 1$> ! statement 8art is too large)
7
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!7

*000000000000000000000000000000000000000000000000000000000000000000000007
Procedure 4&U;
label inicioW;
begin
writeln;
clrscr;
write9y(1$'@' Registra e grava /Ks0>+im 0 <(ND(R# );
readln;
/ria.bre/=.>; /ria.breK=.>; /ria.breDK1$A>; .bre.cessa/o8iaDK1$A;
,:!%;
"or Y:!1 to Nr.2 do
begin
clrscr;
goto9y(?'Y;?); writeln(Nr 00# 'Y);
writeln;
"or ::!1 to @ do
begin
write( /onceito 00# ); readln(/>TY':U);
Jriteln(/=.>' />TY':U);
*\:07
inicioW: write( Kaltas 00# ); readln(K>TY':U);
*\:;7
:" :&R(,U2D <#% then goto inicioW;
,:!, ; K>TY':U;
writeln(K=.>' K>TY':U);
end;
,KTYU:!,; writeln( ,oma Kaltas! ' ,KTYU);
writeln(KD1$ATYU); KD1$A>TYU:! KD1$ATYU;,KTYU;
writeln(DK1$A>' KD1$A>TYU);
187
,:!%;
writeln;
end;
writeln;
clrscr;
end;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
Procedure 4&1;
begin
write9y(1$'@' (9ibe na Dela e Orava DRes do >+im 0 <(ND(R# );
readln;
assign(DR=.' .:DRe=.)t9t);
.88end(DR=.);
clrscr;
write9y(M'>'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(DR=.'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y($?'=' D.+(2. 1( R(,U2D.1&,);
writeln(DR=.' D.+(2. 1( R(,U2D.1&,);
write9y(1='?' (()1r) D.2 0 ,anto .ndre 0 ,P);
writeln(DR=.' (()1r)/elso Oama 0 ,anto .ndre 0 ,P);
goto9y(1%'P); write( .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0
'
+imestre: ' b);
writeln(DR=.' .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0 '
+imestre: ' b);
write9y(M'@'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);

writeln(DR=.'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);
write9y(M'M' Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl ,K
);
writeln(DR=.'Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl ,K
);
write9y(M'1%'LL /0K /0K /0K /0K /0K /0K /0K /0K LL
);
writeln(DR=.'LL /0K /0K /0K /0K /0K /0K /0K /0K LL
);
write9y(M'11' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln(DR=.' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln;
Kor Y:!1 to Nr.2 do
begin
writeln( 'Y:$' '/>TY'1U'0'K>TY'1U' '
/>TY'$U'0'K>TY'$U' '/>TY'AU'0'K>TY'AU' '
/>TY'>U'0'K>TY'>U' '/>TY'=U'0'K>TY'=U' '
/>TY'?U'0'K>TY'?U' '/>TY'PU'0'K>TY'PU' '
/>TY'@U'0'K>TY'@U' ',KTYU:$);
writeln(DR=.''Y' '/>TY'1U'0'K>TY'1U' '
18g
/>TY'$U'0'K>TY'$U' '/>TY'AU'0'K>TY'AU' '
/>TY'>U'0'K>TY'>U' '/>TY'=U'0'K>TY'=U' '
/>TY'?U'0'K>TY'?U' '/>TY'PU'0'K>TY'PU' '
/>TY'@U'0'K>TY'@U' ',KTYU:$);
end;
write2N(
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(DR=.'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(DR=.' );
writeln(DR=.' );
writeln(DR=.' );
writeln( (m seguida' <(ND(R# );
readln;
close(DR=.);
writeln;
clrscr;
end;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))7
Procedure 4&D;
begin
write9y(1$'?' 1(=.1$A> ! 1esem8enho (scolar dos alunos da classe
=.);
write9y(1$'P' re") 8rimeiro' segundo' terceiro e 3uarto
bimestres));
write9y(1$'@' (9ibe na Dela e grava +(=.1$A> 0 <(ND(R# );
readln;
writeln;
.bre.cessa2st=.; /ria.bre1(=.1$A>;
.ssign(/=.1'.:/=.1)t9t); reset(/=.1);
.ssign(K=.1'.:K=.1)t9t); reset(K=.1);
.ssign(/=.$'.:/=.$)t9t); reset(/=.$);
.ssign(K=.$'.:K=.$)t9t); reset(K=.$);
.ssign(/=.A'.:/=.A)t9t); reset(/=.A);
.ssign(K=.A'.:K=.A)t9t); reset(K=.A);
"or Y:!1 to Nr.2 do
begin
clrscr;
readln(/=.1' /1TY'1U); readln(K=.1' K1TY'1U);
readln(/=.1' /1TY'$U); readln(K=.1' K1TY'$U);
readln(/=.1' /1TY'AU); readln(K=.1' K1TY'AU);
readln(/=.1' /1TY'>U); readln(K=.1' K1TY'>U);
readln(/=.1' /1TY'=U); readln(K=.1' K1TY'=U);
readln(/=.1' /1TY'?U); readln(K=.1' K1TY'?U);
readln(/=.1' /1TY'PU); readln(K=.1' K1TY'PU);
readln(/=.1' /1TY'@U); readln(K=.1' K1TY'@U);
readln(/=.$' /$TY'1U); readln(K=.$' K$TY'1U);
readln(/=.$' /$TY'$U); readln(K=.$' K$TY'$U);
readln(/=.$' /$TY'AU); readln(K=.$' K$TY'AU);
readln(/=.$' /$TY'>U); readln(K=.$' K$TY'>U);
18O
readln(/=.$' /$TY'=U); readln(K=.$' K$TY'=U);
readln(/=.$' /$TY'?U); readln(K=.$' K$TY'?U);
readln(/=.$' /$TY'PU); readln(K=.$' K$TY'PU);
readln(/=.$' /$TY'@U); readln(K=.$' K$TY'@U);
readln(/=.A' /ATY'1U); readln(K=.A' KATY'1U);
readln(/=.A' /ATY'$U); readln(K=.A' KATY'$U);
readln(/=.A' /ATY'AU); readln(K=.A' KATY'AU);
readln(/=.A' /ATY'>U); readln(K=.A' KATY'>U);
readln(/=.A' /ATY'=U); readln(K=.A' KATY'=U);
readln(/=.A' /ATY'?U); readln(K=.A' KATY'?U);
readln(/=.A' /ATY'PU); readln(K=.A' KATY'PU);
readln(/=.A' /ATY'@U); readln(K=.A' KATY'@U);

write9y(@'>'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$A>'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y(1M'=' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
writeln(1(=.1$A>' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
goto9y(1?'?); writeln( .no 2etivo: ' .n2' /lasse: '
/lass );
writeln(1(=.1$A>' .no 2etivo: ' .n2' /lasse: '
/lass );
readln(2st=.' .2TYU); goto9y(@'P); Jriteln( '.luno:'.2TYU);
Jriteln(1(=.1$A>' '.luno:'.2TYU);
write9y(@'@'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(1(=.1$A>'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
);
write9y(@'M' 1isci8lina P+ime ,+ime D+ime W+ime DK);
writeln(1(=.1$A>' 1isci8lina P+ime ,+ime D+ime W+ime
DK);
write9y(@'1%' LLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
writeln(1(=.1$A>' LLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
write9y(@'11' LLLLL 00000 00000 00000 00000
LLLL);
writeln(1(=.1$A>' LLLLL 00000 00000 00000 00000
LLLL);
goto9y(M'1$); writeln( 2Port '/1TY'1U'0'K1TY'1U'
'
/$TY'1U'0'K$TY'1U' ' /ATY'1U'0'KATY'1U' ' />TY'1U'
0'K>TY'1U);
writeln(1(=.1$A>' 2Port ' /1TY'1U'0'K1TY'1U' '
/$TY'1U'0'K$TY'1U' ' /ATY'1U'0'KATY'1U' ' />TY'1U'
0'K>TY'1U);
goto9y(M'1A); writeln( 4isto '/1TY'$U'0'K1TY'$U'
'
/$TY'$U'0'K$TY'$U' ' /ATY'$U'0'KATY'$U' ' />TY'$U'
0'K>TY'$U);
writeln(1(=.1$A>' 4isto ' /1TY'$U'0'K1TY'$U' '
/$TY'$U'0'K$TY'$U' ' /ATY'$U'0'KATY'$U' ' />TY'$U'
1:P
0'K>TY'$U);
goto9y(M'1>); writeln( Oeogr '/1TY'AU'0'K1TY'AU'
'
/$TY'AU'0'K$TY'AU' ' /ATY'AU'0'KATY'AU' ' />TY'AU'
0'K>TY'AU);
writeln(1(=.1$A>' Oeogr ' /1TY'AU'0'K1TY'AU' '
/$TY'AU'0'K$TY'AU' ' /ATY'AU'0'KATY'AU' ' />TY'AU'
0'K>TY'AU);
goto9y(M'1=); writeln( Matem '/1TY'>U'0'K1TY'>U'
'
/$TY'>U'0'K$TY'>U' ' /ATY'>U'0'KATY'>U' ' />TY'>U'
0'K>TY'>U);
writeln(1(=.1$A>' Matem ' /1TY'>U'0'K1TY'>U' '
/$TY'>U'0'K$TY'>U' ' /ATY'>U'0'KATY'>U' ' />TY'>U'
0'K>TY'>U);
goto9y(M'1?); writeln( /ienc '/1TY'=U'0'K1TY'=U'
'
/$TY'=U'0'K$TY'=U' ' /ATY'=U'0'KATY'=U' ' />TY'=U'
0'K>TY'=U);
writeln(1(=.1$A>' /ienc ' /1TY'=U'0'K1TY'=U' '
/$TY'=U'0'K$TY'=U' ' /ATY'=U'0'KATY'=U' ' />TY'=U'
0'K>TY'=U);
goto9y(M'1P); writeln( (dKis '/1TY'?U'0'K1TY'?U'
'
/$TY'?U'0'K$TY'?U' ' /ATY'?U'0'KATY'?U' ' />TY'?U'
0'K>TY'?U);
writeln(1(=.1$A>' (dKis ' /1TY'?U'0'K1TY'?U' '
/$TY'?U'0'K$TY'?U' ' /ATY'?U'0'KATY'?U' ' />TY'?U'
0'K>TY'?U);
goto9y(M'1@); writeln( (d.rt '/1TY'PU'0'K1TY'PU'
'
/$TY'PU'0'K$TY'PU' ' /ATY'PU'0'KATY'PU' ' />TY'PU'
0'K>TY'PU);
writeln(1(=.1$A>' (d.rt ' /1TY'PU'0'K1TY'PU' '
/$TY'PU'0'K$TY'PU' ' /ATY'PU'0'KATY'PU' ' />TY'PU'
0'K>TY'PU);
goto9y(M'1M); writeln( :ngle '/1TY'@U'0'K1TY'@U'
'
/$TY'$U'0'K$TY'$U' ' /ATY'@U'0'KATY'@U' ' />TY'@U'
0'K>TY'@U);
writeln(1(=.1$A>' :ngle ' /1TY'@U'0'K1TY'@U' '
/$TY'@U'0'K$TY'@U' ' /ATY'@U'0'KATY'@U' ' />TY'@U'
0'K>TY'@U);
goto9y($?'$1); writeln ( Dotal geral de "altas 000# 'KD1$A>TYU);
writeln(1(=.1$A>' );
writeln(1(=.1$A>' Dotal geral de "altas 000#
' KD1$A>TYU);
write9y(@'$$'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$A>'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
1:1
writeln(1(=.1$A>' );
writeln(1(=.1$A>' );
writeln(1(=.1$A>' );
end;
write9y(1$'$>' (m seguida' <(ND(R#);
readln;
close(2st=.); close(/=.1); close(K=.1); close(/=.$); close(K=.$);
close(/=.A); close(K=.A); close(/=.>); close(K=.>); close(1(=.1$A>);
close(DK1$A); close(DK1$A>);
end;
*jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jj7
Procedure /lasse=.;
label 1' $' A' >' inicioU' inicio1' inicioD' inicioW' "inal;
-ar :'Y: integer;
begin
clrscr;
class:! =.;
2eNr.2"echa=.;
Jrite9y(1$'?' &P/&(, 1( +:M(,DR();
Jrite9y(1$'@' Primeiro bimestre 000# o8cao 1 );
Jrite9y(1$'1%' ,egundo bimestre 000# o8cao $ );
Jrite9y(1$'1$' Derceiro bimestre 000# o8cao A );
Jrite9y(1$'1>' Wuarto bimestre 000# o8cao > );

goto9y(1$'1P); write(+imestre S ; <(ND(R# 00# );
readln(b);
i" b!1 then goto 1; :" b!$ then goto $;
i" b!A then goto A; i" b!> then goto >;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
1:
writeln;
clrscr;
write9y(1$'@' Registra e grava /Ks do 1+im na DRe 0 <(ND(R#);
readln;
/ria.bre/=.1; /ria.breK=.1; /ria.breDK1;
,:!%;
"or Y:!1 to Nr.2 do
begin
clrscr;
goto9y(?'Y;?); writeln(Nr 00# ' Y);
writeln;
writeln;
"or ::!1 to @ do
begin
write( /onceito 00# ); readln(/1TY':U);
Jriteln(/=.1' /1TY':U);
1:5
*\:07
inicioU: write( Kaltas 00# ); readln(K1TY':U);
*\:;7
:" :&R(,U2D <#% then goto inicioU;
,:!, ; K1TY':U;
writeln(K=.1' K1TY':U);
end;
,KTYU:!,; writeln( ,oma Kaltas! ' ,KTYU);
KD1TYU:!,KTYU; Jriteln(DK1' KD1TYU);
,:!%;
writeln;
end;
writeln;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
clrscr;
write9y(1$'@'(9ibe na Dela e Orava DRes 0 1+im 0 <(ND(R#);
readln;
assign(DR=.' .:DRe=.)t9t);
rewrite(DR=.);
clrscr;
write9y(M'>'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(DR=.'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)
;
write9y($?'=' D.+(2. 1( R(,U2D.1&,);
writeln(DR=.' D.+(2. 1( R(,U2D.1&,);
write9y(1='?' (() D.2 0 ,anto .ndre 0 ,P);
writeln(DR=.' (() D.2 0 ,anto .ndre 0 ,P);
goto9y(1%'P); write( .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0
'
+imestre: ' b);
writeln(DR=.' .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0 '
+imestre: ' b);
write9y(M'@'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);

writeln(DR=.'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
;
write9y(M'M' Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl
,K );
writeln(DR=.' Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl
,K );
write9y(M'1%' LL /0K /0K /0K /0K /0K /0K /0K /0K
LL );
writeln(DR=.' LL /0K /0K /0K /0K /0K /0K /0K /0K LL
);
write9y(1%'11' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln(DR=.' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln;
"or Y:!1 to Nr.2 do
begin
1:7
writeln( 'Y:$' '/1TY'1U'0'K1TY'1U'
'/1TY'$U'0'K1TY'$U'
'/1TY'AU'0'K1TY'AU' '/1TY'>U'0'K1TY'>U' '
/1TY'=U'0'K1TY'=U' '/1TY'?U'0'K1TY'?U' '
/1TY'PU'0'K1TY'PU' '/1TY'@U'0'K1TY'@U' ',KTYU:$);
writeln(DR=.' 'Y:$' '/1TY'1U'0'K1TY'1U' '
/1TY'$U'0'K1TY'$U' '/1TY'AU'0'K1TY'AU' '
/1TY'>U'0'K1TY'>U' '/1TY'=U'0'K1TY'=U' '
/1TY'?U'0'K1TY'?U' '/1TY'PU'0'K1TY'PU' '
/1TY'@U'0'K1TY'@U' ',KTYU:$);
end;

* write9y(M'1='LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
); 7
JR:D(2N(
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(DR=.'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)
;
writeln(DR=.' );
writeln(DR=.' );
writeln(DR=.' );
write2N( (m seguida' <(ND(R# );
readln;
close(DR=.);
writeln;
clrscr;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
write9y(@'?' 1(=.1!1esem8enho (scolar dos alunos da classe =. do
1bim);
write9y(@'@' (9ibe na Dela e grava 1(=.1 0 <(ND(R#);
readln;
writeln;
.bre.cessa2st=.; /ria.bre1(=.1;
Kor Y:!1 to Nr.2 do
begin
clrscr;

write9y(@'A'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y(1M'>' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
writeln(1(=.1' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
write9y(1$'=' (() D.2 0 ,anto .ndre 0 ,P);
writeln(1(=.1' (() D.2 0 ,anto .ndre 0 ,P);
goto9y(1='?); writeln( .no 2etivo: ' .n2' /lasse: '
/lass );
writeln(1(=.1' .no 2etivo: ' .n2' /lasse: '
/lass );
readln(2st=.' .2TYU); goto9y(@'P); Jriteln( '.luno:'.2TYU);
Jriteln(1(=.1' '.luno:'.2TYU);
1:8
write9y(@'@'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(1(=.1'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y(@'M' 1isci8lina P+ime ,+ime D+ime W+ime
DK);
writeln(1(=.1' 1isci8lina P+ime ,+ime D+ime W+ime
DK);
write9y(@'1%' LLLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
writeln(1(=.1' LLLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
write9y(@'11' LLLLLL 00000 00000 00000 00000
LLLL);
writeln(1(=.1' LLLLLL 00000 00000 00000 00000
LLLL);
goto9y(1%'1$); writeln( 2Port '/1TY'1U'0'K1TY'1U);
writeln(1(=.1' 2Port ' /1TY'1U'0'K1TY'1U);
goto9y(1%'1A); writeln( 4isto '/1TY'$U'0'K1TY'$U);
writeln(1(=.1' 4isto ' /1TY'$U'0'K1TY'$U);
goto9y(1%'1>); writeln( Oeogr '/1TY'AU'0'K1TY'AU);
writeln(1(=.1' Oeogr ' /1TY'AU'0'K1TY'AU);
goto9y(1%'1=); writeln( Matem '/1TY'>U'0'K1TY'>U);
writeln(1(=.1' Matem ' /1TY'>U'0'K1TY'>U);
goto9y(1%'1?); writeln( /ienc '/1TY'=U'0'K1TY'=U);
writeln(1(=.1' /ienc ' /1TY'=U'0'K1TY'=U);
goto9y(1%'1P); writeln( (dKis '/1TY'?U'0'K1TY'?U);
writeln(1(=.1' (dKis ' /1TY'?U'0'K1TY'?U);
goto9y(1%'1@); writeln( (d.rt '/1TY'PU'0'K1TY'PU);
writeln(1(=.1' (d.rt ' /1TY'PU'0'K1TY'PU);
goto9y(1%'1M); writeln( :ngle '/1TY'@U'0'K1TY'@U);
writeln(1(=.1' :ngle ' /1TY'@U'0'K1TY'@U);
goto9y($1'$1); writeln ( Dotal geral de "altas 000# '
KD1TYU:$);
writeln(1(=.1' );
writeln(1(=.1' Dotal geral de "altas 000# '
KD1TYU:$);
write9y(@'$$'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1' );
writeln(1(=.1' );
writeln(1(=.1' );
end;
close(2st=.); close(/=.1); close(K=.1); close(1(=.1); close(DK1);
write9y($$'$>' (m seguida' <(ND(R# );
readln;
1::
goto "inal;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
$:
writeln;
clrscr;
write9y(1$'@' Registra e grava /Ks do $+im0 <(ND(R#);
readln;
/ria.bre/=.$; /ria.breK=.$; .bre.cessa/o8iaDK1; /ria.breDK1$;
,:!%;
"or Y:!1 to Nr.2 do
begin
clrscr;
goto9y(?'Y;?); writeln(Nr 00# ' Y);
writeln;
"or ::!1 to @ do
begin
write( /onceito 00# ); readln(/$TY':U);
Jriteln(/=.$' /$TY':U);
*\:07
inicio1: write( Kaltas 00# ); readln(K$TY':U);
*\:;7
i" :&R(,U2D <#% then goto inicio1;
,:!, ; K$TY':U; writeln(K=.$' K$TY':U);
end;
,KTYU:!,; writeln( ,oma Kaltas! ' ,KTYU);
writeln(KD1TYU); KD1$TYU:!KD1TYU ; ,KTYU;
writeln(DK1$' KD1$TYU);
,:!%;
writeln;
end;
writeln;
clrscr;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
write9y(?'@' (9ibe na Dela e Orava DRes do $+im 0 <(ND(R# );
readln;
assign(DR=.' .:DRe=.)t9t);
.88end(DR=.);
clrscr;
write9y(M'>'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(DR=.'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)
;
write9y($?'=' D.+(2. 1( R(,U2D.1&,);
writeln(DR=.' D.+(2. 1( R(,U2D.1&,);
write9y(1='?' (() D.2 0 ,anto .ndre 0 ,P);
writeln(DR=.' (() D.2 0 ,anto .ndre 0 ,P);
1:S
goto9y(1%'P); write( .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0
'
+imestre: ' b);
writeln(DR=.' .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0 '
+imestre: ' b);
write9y(M'@'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);

writeln(DR=.'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
;
write9y(M'M' Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl ,K
);
writeln(DR=.'Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl ,K
);
write9y(M'1%'LL /0K /0K /0K /0K /0K /0K /0K /0K LL
);
writeln(DR=.'LL /0K /0K /0K /0K /0K /0K /0K /0K LL
);
write9y(M'11' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln(DR=.' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln;
"or Y:!1 to Nr.2 do
begin
writeln( 'Y:$' '/$TY'1U'0'K$TY'1U' '
/$TY'$U'0'K$TY'$U' '/$TY'AU'0'K$TY'AU' '
/$TY'>U'0'K$TY'>U' '/$TY'=U'0'K$TY'=U' '
/$TY'?U'0'K$TY'?U' '/$TY'PU'0'K$TY'PU' '
/$TY'@U'0'K$TY'@U' ',KTYU:$);
writeln(DR=.''Y:$' '/$TY'1U'0'K$TY'1U' '
/$TY'$U'0'K$TY'$U' '/$TY'AU'0'K$TY'AU' '
/$TY'>U'0'K$TY'>U' '/$TY'=U'0'K$TY'=U' '
/$TY'?U'0'K$TY'?U' '/$TY'PU'0'K$TY'PU' '
/$TY'@U'0'K$TY'@U' ',KTYU:$);
end;
writeln(
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(DR=.'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)
;
writeln(DR=.' );
writeln(DR=.' );
writeln(DR=.' );
writeln( (m seguida' <(ND(R# );
readln;
close(DR=.);
writeln;
clrscr;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
write9y(1$'?' 1(=.1$ ! 1esem8enho (scolar dos alunos da classe =.);
write9y(1$'P' re") 8rimeiro e segundo bimestres));
write9y(1$'M' (9ibe na Dela e grava +(=.1$ 0 <(ND(R# );
readln;
1:7
writeln;
.bre.cessa2st=.; /ria.bre1(=.1$;
.ssign(/=.1'.:/=.1)t9t); reset(/=.1);
.ssign(K=.1'.:K=.1)t9t); reset(K=.1);
"or Y:!1 to Nr.2 do
begin
clrscr;
readln(/=.1' /1TY'1U); readln(K=.1' K1TY'1U);
readln(/=.1' /1TY'$U); readln(K=.1' K1TY'$U);
readln(/=.1' /1TY'AU); readln(K=.1' K1TY'AU);
readln(/=.1' /1TY'>U); readln(K=.1' K1TY'>U);
readln(/=.1' /1TY'=U); readln(K=.1' K1TY'=U);
readln(/=.1' /1TY'?U); readln(K=.1' K1TY'?U);
readln(/=.1' /1TY'PU); readln(K=.1' K1TY'PU);
readln(/=.1' /1TY'@U); readln(K=.1' K1TY'@U);

write9y(@'A'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y(1M'>' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
writeln(1(=.1$' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
write9y(1$'=' (() D.2 0 ,anto .ndre 0 ,P);
writeln(1(=.1$' (() D.2 0 ,anto .ndre 0
,P);
goto9y(1?'?); writeln( .no 2etivo: ' .n2' /lasse: '
/lass );
writeln(1(=.1$' .no 2etivo: ' .n2' /lasse: ' /lass
);
readln(2st=.' .2TYU); goto9y(@'P); Jriteln( '.luno:'.2TYU);
Jriteln(1(=.1$' '.luno:'.2TYU);
write9y(@'@'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(1(=.1$'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y(@'M' 1isci8lina P+ime ,+ime D+ime W+ime
DK);
writeln(1(=.1$' 1isci8lina P+ime ,+ime D+ime W+ime
DK);
write9y(@'1%' LLLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
writeln(1(=.1$' LLLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
write9y(@'11' LLLLLL 00000 00000 00000 00000
LLLL);
writeln(1(=.1$' LLLLLL 00000 00000 00000 00000
LLLL);

goto9y(1%'1$); writeln( 2Port '/1TY'1U'0'K1TY'1U'
'
/$TY'1U'0'K$TY'1U);
writeln(1(=.1$' 2Port ' /1TY'1U'0'K1TY'1U' '
/$TY'1U'0'K$TY'1U);
1:g
goto9y(1%'1A); writeln( 4isto '/1TY'$U'0'K1TY'$U'
'
/$TY'$U'0'K$TY'$U);
writeln(1(=.1$' 4isto ' /1TY'$U'0'K1TY'$U' '
/$TY'$U'0'K$TY'$U);
goto9y(1%'1>); writeln( Oeogr '/1TY'AU'0'K1TY'AU'
'
/$TY'AU'0'K$TY'AU);
writeln(1(=.1$' Oeogr ' /1TY'AU'0'K1TY'AU' '
/$TY'AU'0'K$TY'AU);
goto9y(1%'1=); writeln( Matem '/1TY'>U'0'K1TY'>U'
'
/$TY'>U'0'K$TY'>U);
writeln(1(=.1$' Matem ' /1TY'>U'0'K1TY'>U' '
/$TY'>U'0'K$TY'>U);
goto9y(1%'1?); writeln( /ienc '/1TY'=U'0'K1TY'=U'
'
/$TY'=U'0'K$TY'=U);
writeln(1(=.1$' /ienc ' /1TY'=U'0'K1TY'=U' '
/$TY'=U'0'K$TY'=U);
goto9y(1%'1P); writeln( (dKis '/1TY'?U'0'K1TY'?U'
'
/$TY'?U'0'K$TY'?U);
writeln(1(=.1$' (dKis ' /1TY'?U'0'K1TY'?U' '
/$TY'?U'0'K$TY'?U);
goto9y(1%'1@); writeln( (d.rt '/1TY'PU'0'K1TY'PU'
'
/$TY'PU'0'K$TY'PU);
writeln(1(=.1$' (d.rt ' /1TY'PU'0'K1TY'PU' '
/$TY'PU'0'K$TY'PU);
goto9y(1%'1M); writeln( :ngle '/1TY'@U'0'K1TY'@U'
'
/$TY'$U'0'K$TY'$U);
writeln(1(=.1$' :ngle ' /1TY'@U'0'K1TY'@U' '
/$TY'@U'0'K$TY'@U);
goto9y(1M'$1); writeln( Dotal geral de "altas 000#'
KD1$TYU);
writeln(1(=.1$' );
write (1(=.1$' Dotal geral de "altas 000# );
writeln(1(=.1$' KD1$TYU);
write9y(@'$$'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$' );
writeln(1(=.1$' );
writeln(1(=.1$' );
end;
write9y(1$'$>' (m seguida' <(ND(R# );
1:O
readln;
close(2st=.); close(/=.1); close(K=.1); close(/=.$); close(K=.$);
close(1(=.1$); close(DK1); /lose(DK1$);
goto "inal;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!7
A:
writeln;
clrscr;
write9y(1$'@' Registra e grava /Ks0A+im 0 <(ND(R# );
readln;
/ria.bre/=.A; /ria.breK=.A; /ria.breDK1$A; .bre.cessa/o8iaDK1$;
,:!%;
"or Y:!1 to Nr.2 do
begin
clrscr;
goto9y(?'Y;?); writeln(Nr 00# ' Y);
writeln;
"or ::!1 to @ do
begin
write( /onceito 00# ); readln(/ATY':U);
Jriteln(/=.A' /ATY':U);
*\:07
inicioD: write( Kaltas 00# ); readln(KATY':U);
*\:;7
i" :&R(,U2D <#% then goto inicioD;
,:!, ; KATY':U;
writeln(K=.A' KATY':U);
end;
,KTYU:!,; writeln( ,oma Kaltas! ' ,KTYU);
writeln(KD1$TYU); KD1$ATYU:! KD1$TYU;,KTYU;
writeln(DK1$A' KD1$ATYU);
,:!%;
writeln;
end;
writeln;
clrscr;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
write9y(1$'@' (9ibe na Dela e Orava DRes do A+im 0 <(ND(R# );
readln;
assign(DR=.' .:DRe=.)t9t);
.88end(DR=.);
clrscr;
write9y(M'>'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(DR=.'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)
;
write9y($?'=' D.+(2. 1( R(,U2D.1&,);
1SP
writeln(DR=.' D.+(2. 1( R(,U2D.1&,);
write9y(1='?' (()1r)/elso Oama 0 ,anto .ndre 0 ,P);
writeln(DR=.' (()1r)/elso Oama 0 ,anto .ndre 0 ,P);
goto9y(1%'P); write( .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0
'
+imestre: ' b);
writeln(DR=.' .no 2etivo: ' .n2' 0 /lasse: ' /lass ' 0 '
+imestre: ' b);
write9y(M'@'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!);

writeln(DR=.'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
;
write9y(M'M' Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl ,K
);
writeln(DR=.'Nr 2Por 4ist Oeog Mate /ien (Kis (.rt :ngl ,K
);
write9y(M'1%'LL /0K /0K /0K /0K /0K /0K /0K /0K LL
);
writeln(DR=.'LL /0K /0K /0K /0K /0K /0K /0K /0K LL
);
write9y(M'11' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln(DR=.' 00000 00000 00000 00000 00000 00000 00000 00000
);
writeln;
"or Y:!1 to Nr.2 do
begin
writeln( 'Y:$' '/ATY'1U'0'KATY'1U' '
/ATY'$U'0'KATY'$U' '/ATY'AU'0'KATY'AU' '
/ATY'>U'0'KATY'>U' '/ATY'=U'0'KATY'=U' '
/ATY'?U'0'KATY'?U' '/ATY'PU'0'KATY'PU' '
/ATY'@U'0'KATY'@U' ',KTYU:$);
writeln(DR=.''Y:$' '/ATY'1U'0'KATY'1U' '
/ATY'$U'0'KATY'$U' '/ATY'AU'0'KATY'AU' '
/ATY'>U'0'KATY'>U' '/ATY'=U'0'KATY'=U' '
/ATY'?U'0'KATY'?U' '/ATY'PU'0'KATY'PU' '
/ATY'@U'0'KATY'@U' ',KTYU:$);
end;
write2N(
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(DR=.'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)
;
writeln(DR=.' );
writeln(DR=.' );
writeln(DR=.' );
writeln( (m seguida' <(ND(R# );
readln;
close(DR=.);
writeln;
clrscr;
*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))7
write9y(1$'@' (9ibe na Dela e grava +(=.1$A 0 <(ND(R# );
1S1
readln;
writeln;
.bre.cessa2st=.; /ria.bre1(=.1$A;
.ssign(/=.1'.:/=.1)t9t); reset(/=.1);
.ssign(K=.1'.:K=.1)t9t); reset(K=.1);
.ssign(/=.$'.:/=.$)t9t); reset(/=.$);
.ssign(K=.$'.:K=.$)t9t); reset(K=.$);
"or Y:!1 to Nr.2 do
begin
clrscr;
readln(/=.1' /1TY'1U); readln(K=.1' K1TY'1U);
readln(/=.1' /1TY'$U); readln(K=.1' K1TY'$U);
readln(/=.1' /1TY'AU); readln(K=.1' K1TY'AU);
readln(/=.1' /1TY'>U); readln(K=.1' K1TY'>U);
readln(/=.1' /1TY'=U); readln(K=.1' K1TY'=U);
readln(/=.1' /1TY'?U); readln(K=.1' K1TY'?U);
readln(/=.1' /1TY'PU); readln(K=.1' K1TY'PU);
readln(/=.1' /1TY'@U); readln(K=.1' K1TY'@U);
readln(/=.$' /$TY'1U); readln(K=.$' K$TY'1U);
readln(/=.$' /$TY'$U); readln(K=.$' K$TY'$U);
readln(/=.$' /$TY'AU); readln(K=.$' K$TY'AU);
readln(/=.$' /$TY'>U); readln(K=.$' K$TY'>U);
readln(/=.$' /$TY'=U); readln(K=.$' K$TY'=U);
readln(/=.$' /$TY'?U); readln(K=.$' K$TY'?U);
readln(/=.$' /$TY'PU); readln(K=.$' K$TY'PU);
readln(/=.$' /$TY'@U); readln(K=.$' K$TY'@U);

write9y(@'>'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$A'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
write9y(1M'=' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
writeln(1(=.1$A' +&2(D:M 1( 1(,(MP(N4& (,/&2.R );
goto9y(1?'?); writeln( .no 2etivo: ' .n2' /lasse: '
/lass );
writeln(1(=.1$A' .no 2etivo: ' .n2' /lasse: '
/lass );
readln(2st=.' .2TYU); goto9y(@'P); Jriteln( '.luno:'.2TYU);
Jriteln(1(=.1$A' '.luno:'.2TYU);
write9y(@'@'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);

writeln(1(=.1$A'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)
;
write9y(@'M' 1isci8lina P+ime ,+ime D+ime W+ime DK);
writeln(1(=.1$A' 1isci8lina P+ime ,+ime D+ime W+ime
DK);
write9y(@'1%' LLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
writeln(1(=.1$A' LLLLL / 0 K / 0 K / 0 K / 0 K
LLLL);
write9y(@'11' LLLLL 00000 00000 00000 00000
LLLL);
1S5
writeln(1(=.1$A' LLLLL 00000 00000 00000 00000
LLLL);
goto9y(M'1$); writeln( 2Port '/1TY'1U'0'K1TY'1U'
'
/$TY'1U'0'K$TY'1U' ' /ATY'1U'0'KATY'1U);
writeln(1(=.1$A' 2Port ' /1TY'1U'0'K1TY'1U' '
/$TY'1U'0'K$TY'1U' ' /ATY'1U'0'KATY'1U);
goto9y(M'1A); writeln( 4isto '/1TY'$U'0'K1TY'$U'
'
/$TY'$U'0'K$TY'$U' ' /ATY'$U'0'KATY'$U);
writeln(1(=.1$A' 4isto ' /1TY'$U'0'K1TY'$U' '
/$TY'$U'0'K$TY'$U' ' /ATY'$U'0'KATY'$U);
goto9y(M'1>); writeln( Oeogr '/1TY'AU'0'K1TY'AU'
'
/$TY'AU'0'K$TY'AU' ' /ATY'AU'0'KATY'AU);
writeln(1(=.1$A' Oeogr ' /1TY'AU'0'K1TY'AU' '
/$TY'AU'0'K$TY'AU' ' /ATY'AU'0'KATY'AU);
goto9y(M'1=); writeln( Matem '/1TY'>U'0'K1TY'>U'
'
/$TY'>U'0'K$TY'>U' ' /ATY'>U'0'KATY'>U);
writeln(1(=.1$A' Matem ' /1TY'>U'0'K1TY'>U' '
/$TY'>U'0'K$TY'>U' ' /ATY'>U'0'KATY'>U);
goto9y(M'1?); writeln( /ienc '/1TY'=U'0'K1TY'=U'
'
/$TY'=U'0'K$TY'=U' ' /ATY'=U'0'KATY'=U);
writeln(1(=.1$A' /ienc ' /1TY'=U'0'K1TY'=U' '
/$TY'=U'0'K$TY'=U' ' /ATY'=U'0'KATY'=U);
goto9y(M'1P); writeln( (dKis '/1TY'?U'0'K1TY'?U'
'
/$TY'?U'0'K$TY'?U' ' /ATY'?U'0'KATY'?U);
writeln(1(=.1$A' (dKis ' /1TY'?U'0'K1TY'?U' '
/$TY'?U'0'K$TY'?U' ' /ATY'?U'0'KATY'?U);
goto9y(M'1@); writeln( (d.rt '/1TY'PU'0'K1TY'PU'
'
/$TY'PU'0'K$TY'PU' ' /ATY'PU'0'KATY'PU);
writeln(1(=.1$A' (d.rt ' /1TY'PU'0'K1TY'PU' '
/$TY'PU'0'K$TY'PU' ' /ATY'PU'0'KATY'PU);
goto9y(M'1M); writeln( :ngle '/1TY'@U'0'K1TY'@U'
'
/$TY'$U'0'K$TY'$U' ' /ATY'@U'0'KATY'@U);
writeln(1(=.1$A' :ngle ' /1TY'@U'0'K1TY'@U' '
/$TY'@U'0'K$TY'@U' ' /ATY'@U'0'KATY'@U);
goto9y($1'$1); writeln ( Dotal geral de "altas 000#
'KD1$ATYU);
writeln(1(=.1$A' );
writeln (1(=.1$A' Dotal geral de "altas 000#
'KD1$ATYU);
1S7
write9y(@'$$'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$A'
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL);
writeln(1(=.1$A' );
writeln(1(=.1$A' );
writeln(1(=.1$A' );
end;
write9y(1$'$>' (m seguida' <(ND(R# );
readln;
close(2st=.); close(/=.1); close(K=.1); close(/=.$); close(K=.$);
close(/=.A); close(K=.A); close(1(=.1$A); close(DK1$);
close(DK1$A);
goto "inal;

*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!7
>:
4&U;
4&1;
4&D;
goto "inal;

*))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))7
"inal:
end;
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!7
Procedure /lasse1.;
begin
clrscr;
write9y(1='1%' .inda nao esta dis8onivel 0 <(ND(R# );
readln;
end;
*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;7

*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!7
Procedure KinaliBar;
begin
clrscr;
write9y(1$'1$'UK encerramos 0 Mande um cho88inho bem gelado 0
<(ND(R# );
readln;
end;
1S8

*000000000000000000000000000000000000000000000000000000000000000000000000
07
* Modulo Princi8al 7
Procedure DRe+(;
+(O:N
clrscr;
.n2:!$%%=;

Re8eat
clrscr;
Jrite9y(1@'@' M(NU 1( &P/&(, );
Jrite9y(1@'1%' 1 000# /lasse=. );
Jrite9y(1@'1$' $ 000# /lasse1. );
write9y(1@'1>' M 000# KinaliBar );
write9y(1@'1@' Neste PR&OR.M. P:2&D& codi"icamos somente a o8cao
1);
write9y(1@'1M' com @ disci8linas);
goto9y(1@'$1); write( &8cao S ; <(ND(R# ); readln(/lasse);
/.,( /lasse o"
1: /lasse=.;
$: /lasse1.;
(2,(
begin
clrscr;
write9y(1$' $%' (rro 0 &8cao :nvalida );
goto9y(1$'$$); writeln( <(ND(R# 8ara "inaliBar);
readln;
end;
end;
Until (classe ! M);
end;


*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
i7

*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X7
Procedure K:M;
begin
clrscr;
goto9y(1$'1%);Jriteln(UK encerramos0 -ale um cho88 bem gelado0
<(ND(R#);
readln;
1S:
e9it;
end;

*000000000000000000000000000000000000000000000000000000000000000000000000
07
* PP LLLL PR&OR.M. PR:N/:P.2 LLLL 7
+(O:N
continua:
clrscr;
Jrite9y(1A'>'(ste 8rograma "oi chamado de /&N.2(,/));
Jrite9y(1A'?'(le "aB o controle do desem8enho escolar de alunos);
Jrite9y(1A'P'na (scola 0 valido 8ara Nr.2#!$ 0 1eve digitar ,(M (RR&)
);
write9y($='M' &P/&(, 1:,P&N:-(:,: );
write9y($='11' / 000# /adastro1e.luno);
write9y($='1$' D 000# DRe+();
write9y($='1A' K 000# K:M);
goto9y($?'1=); write (<&8cao# S 00# ); readln(o8cao);
writeln;
o8cao:!UP/.,((o8cao);
i" (o8cao in T/' D' KU) then
begin
/.,( &8cao o"
/ : /adastro1e.luno;
D : DRe+(;
K : K:M;
end;
end
(2,(
begin
clrscr;
write9y($=' @' (rro 0 (scolha :nvalida );
goto9y(A='1%); writeln( <(ND(R#);
readln;
goto continua;
end;
end)
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXX7

1SS


1S7

Das könnte Ihnen auch gefallen