Vous êtes sur la page 1sur 31

INTRODUO

Esta apostila foi escrita com a finalidade de atender: a alunos dos cursos de Engenharia, a
alunos de iniciao cient!fica "ue utili#am o $ORTR%N como linguagem de programao e
tam&'m aos "ue dese(arem aprender esta linguagem de programao)
Este te*to +em suprir tam&'m a pe"uena "uantidade de li+ros "ue a&ordam o $ORTR%N e "ue
o e*plicam de maneira clara, simples e did,tica)
Na parte de compilao procurou-se mostrar tanto a utili#ao do $ORTR%N .. como
tam&'m o $ORTR%N /O0ER 1T%TION 2)3)
%ceitam-se cr!ticas e sugest4es

I
5) 6ON6EITO1
7IN8RIO 1istema de numerao de &ase dois)
7IT D!gito &in,rio "ue assume o +alor 3 ou 5)
79TE 6on(unto de oito &its: unidade de mem;ria)
<79TE E"ui+ale a 53=2 &>tes)
?79TE 6orresponde a 53=2 <&>tes)
DI16O ?%@NATI6O Dispositi+o de arma#enamento de dados e programas, utili#ado
como elemento de mem;ria secund,ria de grande capacidade)
DI1BUETE OU DI16O $CEDEFEC Disco magn'tico port,til com capacidade para 5)22
?&>tes, se do tipo alta densidade)
DI16O RE@IDO OU 0IN6GE1TER Disco magn'tico fi*o com capacidade para 53, =3
H3, ))) ?&>tes)
DRIFE %cionador de disco magn'tico) Rece&e as letras % e 7 para dri+ers de dis"uete, 6 e
D para discos r!gidos e E para dri+e de 6D)
G%RD0%RE 6omponentes f!sicos de uma configurao de processamento de
dadosIcomputador, impressora, +!deo, etc)J)
/RO?/T ?ensagem "ue aparece na tela, podendo ser para indicar o dri+e corrente ou
mensagem de erro ou alguma mensagem de orientaoIa(udaJ)
R%? ?em;ria de acesso aleat;rioImem;ria principal de um computadorJ)
=) CIN@U%@E? DE ?8BUIN%I7%IDO NEFECJ
6odificada em &in,rio, espec!fica de cada m,"uina) 6om instru4es em c;digos
mnemKnicosI"ue a(udam a mem;riaJ e endereos sim&;licos) ED: %11E?7CER)
H) CIN@U%@E? DE %CTO NEFEC
/r;*ima da linguagem colo"uial mas com sinta*e r!gida e &em definida) ED: $ORTR%N,
6O7OC, /%16%C, etc)
2) 6O?%NDO1
1o instru4es escritas em alguma forma de linguagem, "ue permitem a e*ecuo de tarefas
&em determinadas e espec!ficas)
L) %C@ORIT?O
1e"uMncia ordenada e no am&!gua de passos ou instru4es "ue le+am N resoluo de um
dado pro&lema: de+e-se o&ser+ar:
aJ Os passos de+em ser simples e o&(eti+osIsem am&iguidadeJ)
&J De+e ha+er uma ordem pr'-fi*ada, dirigindo-se no sentido da soluo proposta)
cJ De+e possuir um nOmero finito de passos e le+ar N soluo proposta)
Na linguagem algor!tmica usam-se frases concisas dentro de uma sinta*e &em r!gida)
EDE?/CO:
ALGORITMO PARA USAR O TEOREMA DE PITGORAS:
CER O1 D%DO1 6ONGE6IDO1
CEI% C%DO5, C%DO=
68C6UCO DO1 BU%DR%DO1 DO1 C%DO1
B5 C%DO5PP=
B= C%DO=PP=
=
68C6UCO DO 6O?/) DO TER6EIRO C%DO
GI/ 1BRTIB5 Q B=J
1%ED% DE RE1UCT%DO1
E16REF% RC%DO1 S R: C%DO5, C%DO=
E16REF% RGI/OTENU1% S R: GI/
IN6RE?ENTO
TER?INE O /RO6E11O
T) /RO@R%?%1
1o con(untos de comandos dispostos de tal maneira "ue se(a poss!+el e*ecutar determinadas
tarefas de forma precisa e &em definida)
.) T%RE$%1IET%/%1J /%R% DE1ENFOCFI?ENTO DE U? /RO@R%?%:
aJ Cista de o&(eti+osIresumo geral da finalidade do programaJ)
&J Especificao do formato de entrada e sa!da)
cJ Especificao da linguagem)
dJ /ro(eto de l;gica do programa, detalhadoIalgoritmo, etc)J)
eJ 6odificao do programa /RO@R%?% $ONTE
fJ 6ompilao ou interpretao /RO@R%?% O7UETO
gJ TestesIa+aliao de prop;sitosJ /RO@R%?% EDE6UT8FEC
hJ Instalao definiti+a do programa)
V) /RO@R%?%O E1TRUTUR%D%
/rocura otimi#ar a construo de algoritmos e flu*ogramas, redu#indo a comple*idade,
aumentando a clare#a, disciplinando e padroni#ando o racioc!nio e e+itando o uso do @OTO)
% id'ia central da programao estruturadaI/)E)J ' a construo de programas para resol+er
pro&lemas no computador usando trMs tipos de estruturas de controle: 1e"uencial, repetiti+a e de
deciso: tornando os programas mais leg!+eis, mais documentados, etc)
V)5) E1TRUTUR%1 DE 6ONTROCE
V)5)5) E1TRUTUR% 1EBUEN6I%C
Um comando ' e*ecutado ap;s o outro)
V)5)=) E1TRUTUR% RE/ETITIF%
Esta estrutura significa "ue o grupo de comandos 65, 6=, ) ) ), 6n de+e ser e*ecutado +,rias
+e#es, en"uanto a condio for +erdadeira e terminar se for falsa)
Em notao se"uencial, ter!amos:
ENBU%NTOI6ONDIOJ $%%
65
$I? ENBU%NTO
%inda pode-se ter as op4es:
aJ 0GICE ))) DO Ien"uanto ))) faaJ
EDE?/CO:
ENBU%NTO I W 53
H
$%% I S I Q 2
$I? ENBU%NTO
PO71: %"ui o lao pode no ser e*ecutado)
&J RE/E%T ))) UNTIC
EDE?/CO:
( S 3
RE/IT% ( S ( Q =
%TA ( S 53
O71: O teste ' posterior N e*ecuo dos comandos, a"ui a e*ecuo ' feita pelo menos uma
+e#)
V)5)H) E1TRUTUR% DE DE6I1OI1ECEOJ
Usa-se geralmente as pala+ras cha+es: I$ ))) TGENIse ))) entoJ e I$ ))) TGEN ))) EC1EIse )))
ento ))) senoJ)
Em notao se"uencial ter!amos:
1EI6ONDIOJ ENTO
65
1ENO
6=
$I? 1E
X) CIN@U%@E? $ORTR%NI$ORmula TR%NslationJ
X)5) NOT%O
aJ O programa pode ser codificado em letras maiOsculas e ou minOsculas)
&J 6ha+es e &arra indicam escolha entre op4es)
E*: RBuer continuar IsimYnoJZ
cJ /arMnteses, +!rgulas, sinais de igualdade, asteriscos e operadores de+em ser digitados
conforme aparecem)
dJ Uma coluna +ertical de pontos indica "ue parte do programa foi omitida)
X)= 6ODI$I6%O
% codificao do $ORTR%N ..CIusando o Norton Editor ou o Edit do DO1J ou do $ORTR%N
/o[erstation 2)3Iusando seu pr;prio editorJ ' di+idida em "uatro campos:
COLUNAS 1 a 5 Reser+adas para colocao de r;tulosIla&elsJ dos comandos,
principalmente antes de $OR?%T, 6ONTINUE, 1TO/, etc)
COLUNA 6 /ara indicar "ue a linha atual fa# parte de um comando "ue ' continuao da
linha anterior) Bual"uer s!m&olo, e*ceto &ranco e #ero, de+er, ser colocado nesta coluna,
indicando continuao)
COLUNAS 7 a 72 Reser+adas para colocao dos comandos "ue constituem o
programa)
COLUNAS 73 a 80 1o desconsideradas pelo compilador e, geralmente, so usadas para
numerao de linhasIsendo seu uso optati+oJ)
O71ERF%\E1:
No pode ha+er mais de um comando por linha)
O con(unto de todas linhas do programa digitado constitui-se o R/RO@R%?% $ONTE])
2
% letra 6 colocada na coluna 5, indica "ue na"uela linha segue um coment,rioI"ue ' ignorado
pelo compiladorJ) Os coment,rios ser+em para documentar o programa e e*plicar o flu*o em si)
O nome de +ari,+eis e de su&programas podem ter de 5 a T caracteres alfanum'ricos,
sendo o&rigatoriamente "ue o primeiro se(a alfa&'tico)I E*: %, DECT%, DL2H, etc)J)
X)H) 6O?/ONENTE1 DE U? /RO@R%?% $ORTR%N
NO?E DO /RO@R%?%IED: /rogram soma ou /rogram 1omatri#, etc)J
6O?%NDO1 NO EDE6UT8FEI1:
DE6C%R%O DE F%RI8FEI1IInteger, real, etc)J
INI6I%CI^%O E1T8TI6%I6omando D%T%J
6O?%NDO1 EDE6UT8FEI1:
6omandos I$, DO, @OTO, 6ONTINUE, RE%D, 0RITE, $OR?%T, etc)
6O?%NDO1 DE $IN%CI^%O:
6omandos 1TO/ e END
X)2) 6ON1T%NTE1 E F%RI8FEI1
X)2)5) 6ON1T%NTE1
6onstante num'rica ' uma entidade do programa "ue tem um endereo na mem;ria e '
representada por um con(unto de um ou mais d!gitos) Ela tem sempre o mesmo +alor, no
podendo ser alterado)
E*: L, H2L).T, etc)
Uma constante pode ser no num'rica, neste caso ela rece&e o nome de cadeia de caracteres
e aparece sempre entre ap;strofos como em: _?%TRI^ % ou _7`, etc)
X)2)=) F%RI8FEI1
Fari,+el ' uma entidade do programa "ue tem um endereo na mem;ria e ' representada por
um Rnome de +ari,+el] como:
R%] ou Rcont] ou Ra5=], etc)
X)L) DE6C%R%O DE F%RI8FEI1
X)L)5) DE6C%R%O I?/CE6IT%
Neste caso, a primeira letra do nome da +ari,+el indicar, "ual ' o seu tipo)
X)L)5)5) DE6C%R%O DE U?% F%RI8FEC INTEIR%
% +ari,+el "ue comear com uma das letras I, U, <, C, ? ou N, ser, considerada
implicitamente como do tipo inteiro)
E*: i, iap, a+olt, lin, m5=, etc)
X)L)5)=) DE6C%R%O DE U?% F%RI8FEC RE%C
1e a +ari,+el comear com uma das letras: %,7,6,D,E,$,@,G,O,/,B,R,1,T,U,F,0,D,9,^, ela '
do tipo real) /or e*emplo: +olt, *H, fest)
X)L)=) DE6C%R%O ED/CE6IT%
De+e ser colocada no programa antes de "ual"uer comando e*ecut,+el, usa-se esta
declarao "uando no "ueremos mudar o nome de +ari,+eis con+encionais como ' o caso de
L
R*]Ipara rai# de e"ua4esJ, Ri] e R(]Ipara linhas e colunas de matri#esJ, etc) como tam&'m para o
caso de usar num programa muitas +ari,+eis de um mesmo tipo) Especifica-se na declarao o
nome para as +ari,+eis e a "uantidade de mem;ria "ue os +alores destas ocuparo)

X)L)=)5) F%RI8FEC DO TI/O INTEIRO
$OR?% @ER%C: INTE@ERPn nome5, nome=, nomeH,))) onde:
INTE@ER Indica "ue os nomes das +ari,+eis "ue se seguem so do tipo inteiro)
n Indica a "uantidade de mem;ria "ue o +alor de cada +ari,+el ocupar,: e pode ser:
n S = Os +alores das +ari,+eis ocuparo meia pala+ra de mem;ria +ariando de H=.T. at'
HH=.T.)
n S 2 Ocupao de uma pala+ra de mem;ria pelos +alores das +ari,+eis, +ariando de
=52.2VHT2. at' 5=52.2VHT2.)
O71: Buando no especificado, o compilador assume n S 2)
nome5,nome=,))) Nomes das +ari,+eis "ue sero consideradas do tipo inteiro)
E*: INTE@ERP2 a, *, col, +olt, soma
integer #, des+
X)L)=)=) F%RI8FEC DO TI/O RE%C
$OR?% @ER%C: RE%CPn nome5, nome=, nomeH,))) onde:
RE%C Indica "ue as +ari,+eis a seguir so do tipo real)
n S 2 Os +alores das +ari,+eis ocuparo uma pala+ra de mem;ria, podendo ter at' sete
d!gitos decimais de preciso)
n S V Os +alores das +ari,+eis ocuparo duas pala+ras de mem;ria, podendo ter at' de#esseis
d!gitos decimais de preciso)
O71: Buando no especificado, o compilador assume n S 2)
nome5, nome=, ))) Nomes das +ari,+eis "ue sero consideradas do tipo real)
ED: RE%C ia, media
realPV lin, in+
O71: % declarao DOU7CE /RE6I1ION nome5,nome=,))) tem o mesmo efeito "ue RE%CPV
nome5,nome=,))))
Uma constante do tipo real pode ser representada de duas formas:
aJ Preci!" Si#$%e $eita atra+'s de um parImantissa, e*poenteJ conhecida como notao
cient!fica)
$OR?% @ER%C: ?%NTI11% E ED/OENTE I/reciso simplesJ
T
% mantissa pode ter at' sete d!gitos decimais e o e*poente ' de dois d!gitos, de &ase 53,
+ariando de .L a .V) EDE?/CO:
5).LE3H Representa 5).L * 53
H
-)THLE32 Representa -)THL * 53
-2
&J Preci!" &'$%a Tam&'m atra+'s de um parImantissa, e*poenteJ)
$OR?% @ER%C: ?%NTI11% D ED/OENTEI/reciso duplaJ
% mantissa pode ter at' de#esseis d!gitos decimais e o e*poente ' o mesmo da preciso simples)
ED: =)HLXXD3L Representa =)HLXX * 53
L
)
X)L)=)H) F%RI8FEI1 E 6ON1T%NTE1 Cb@I6%1
1o utili#adas para arma#enar resultados de e*press4es l;gicas ou para representar situa4es
"ue admitam duas alternati+as: ]sim ou no], R+erdadeiro ou falso], R3 ou 5], Raceso ou
apagado], etc)
Uma +ari,+el para ser do tipo l;gico tem de ser declarada e*plicitamente, no ha+endo
declarao impl!cita)
$OR?% @ER%C: CO@I6%CPn nome5, nome=,))) onde:
CO@I6%C Indica "ue as +ari,+eis a seguir so do tipo l;gico)
n S 2 O +alor da +ari,+el ocupar, uma pala+ra de mem;ria)
n S 5 O +alor da +ari,+el ocupar, 5um &>te de mem;ria)
O71: Buando no especificado o compilador assume n S 2)
nome5, nome=,))) Nomes das +ari,+eis)
EDE?/CO:
CO@I6%C a, &, c CO@I6%CP5 +, t
E*istem duas constantes do tipo l;gico:
)TRUE) Representa +erdadeiro)
)$%C1E) Representa falso)
X)L)=)2) F%RI8FEI1 E 6ON1T%NTE1 DO TI/O 6O?/CEDO
O tipo comple*o ' um tipo composto "ue representa nOmeros da forma a Q &i, em "ue a e &
so am&as reais de mesma preciso) % Fari,+el do tipo comple*o ' declarada s; e*plicitamente)
$OR?% @ER%C: 6O?/CEDPn nome5, nome=,))) onde:
6O?/CED Indica "ue as +ari,+eis a seguir so do tipo comple*o)
n S V 1e a e & so am&as reais de preciso simples)
n S 5T 1e a e & so am&as reais de preciso dupla)
O71: Buando no especificado o compilador assume n S V)
EDE?/CO1:
6O?/CED a, & 6O?/CEDP5T +er, men
.
X)T) 6O?%NDO1 DE INI6I%CI^%O
X)T)5) INI6I%CI^%O DINc?I6%
1e a +ari,+el rece&e o +alor inicial "uando o programa esti+er em e*ecuoIdepois da
compilaoJ, a! +ocM entra com os dados +ia teclado ou +ia ar"ui+o de dados) Esta iniciali#ao
permite entrada de dados em "ual"uer ponto da e*ecuo, usando em geral o comando:
RE%DIFe(a ane*os 5 e =J)
X)T)=) INI6I%CI^%O E1T8TI6%
Buando o +alor inicial ' atri&u!do N +ari,+el na compilao, permitindo "ue cada +ari,+el
se(a iniciali#ada apenas uma +e# em cada e*ecuo do programa) /ara isto usa-se o comando
D%T%)
$OR?% @ER%C: D%T% F5 , F5 , ))) Fn Y65 ,6=, ))) 6n onde:
D%T% 6omando "ue iniciali#a dados)
F5 , F5 , ))) Fn Nomes das +ari,+eis "ue se "uer iniciali#ar)
65 ,6=, ))) 6n 6onstantes "ue se dese(a atri&uir Ns +ari,+eis F5 , F5 , ))) Fn respecti+amente)
ED: D%T% I%, I7LY .Y, I6, ID, IE, I$Y2P5LY, %UYL)XL
%s +ari,+eis rece&ero os seguintes +alores iniciais:
I% S L, I7 S ., I6 S 5L, ID S 5L, IE S 5L, I$ S 5L e %U S L)XL
X).) O/ER%DORE1 E ED/RE11\E1 %RIT?ATI6%1 E Cb@I6%1
E($re!" $;rmula ou regra de computao "ue determina um +alor aritm'ticoIreal ou
inteiroJ ou +alor l;gico)
X).)5) O/ER%DORE1 E ED/RE11\E1 %RIT?ATI6%1
O/ER%DORE1 ORDE? DE GIER%RBUI%
- Tomar o negati+o de 5
PP E*ponenciao =
P /roduto, Y Di+iso H
Q 1oma, - 1u&trao 2
1o e*ecutadas primeiro as opera4es com operadores de maior hierar"uia) Buando se tem
dois operadores de mesma hierar"uia so e*ecutadas primeiro as opera4es da es"uerda para
a direita)
/arMnteses podem ser usados para mudar a hierar"uia)
E*: O nOmero a&ai*o do operador indica a ordem de e*ecuo:
-% Q 7P6 d DYI%P7J
2 5 3 6 ) 1 Or&e# &a "$era*+e
V
X).)=) O/ER%DORE1 E ED/RE11\E1 Cb@I6%1
O/ER%DORE1 REC%6ION%I1
)@T) ?aior "ue
)@E) ?aior ou igual
)CT) ?enor "ue
)CE) ?enor ou igual
)EB) Igual
)NE) Diferente
6ONE6TIFO1 Cb@I6O1 /RIORID%DE,
)NOT) ]No] l;gico 5
)%ND) ]E] l;gico =
)OR) ROu] l;gico H

X)V) 6O?%NDO1 D% CIN@U%@E?
X)V)5) 6O?%NDO @O TO
Usado em um programa para mudar a se"uMncia de e*ecuo dos comandosIdes+ia de
"ual"uer ponto para "ual"uer ponto logicamente poss!+el do programaJ)
X)V)5)5) @OTO IN6ONDI6ION%C
$OR?% @ER%C: @OTO r;tulo onde:
@OTO /ala+ra "ue identifica o comando, significa R+, para])
R;tulo R;tuloIla&elJ de "ual"uer comando e*ecut,+el dentro do programa) ED:
, , ,
@OTO =3
=3 & S &Pc
, , ,
RE1TRI\E1:
O comando "ue segue fisicamente o @OTO de+e ter r;tulo) O @OTO no pode des+iar de
dentro para fora nem de fora para dentro de uma su&rotina ou funo)
X)V)5)=) @OTO 6ONDI6ION%CI6ONTROC%DO OU 6O?/UT%DOJ
Des+ia para um determinado r;tulo de comando, dependendo do +alor de uma +ari,+el de
controle) A menos usado)
$OR?% @ER%C: @OTOIr5 , r= , ))) , rn J,F%R onde:
X
r5 , r= , , , , , rn A uma lista de r;tulos e*istentes no programa para onde o flu*o de
e*ecuo ser, des+iado)
F%R Nome da +ari,+el de controle, do tipo inteiro, "ue indica a ordem na lista de r;tulos)
EDE?/CO:
INTE@ER ?ED
) ) )
?ED S H
) ) )
@OTOI53,5L,=3,3=J,med
Na linha indicada pela seta, o controle ser, des+iado para o comando "ue tem o r;tulo
igual a =3, pois a +ari,+el de controle med tem o +alor H, indicando "ue o controle ser,
des+iado para o terceiro r;tulo da lista)
Este comando ' usado no programa tam&'m para simular o comando 6%1EIescolha ou
seleoJ)
X)V)=) 6O?%NDO I$
A um comando de Rdeciso] ou de Rteste]: usado no programa, sempre "ue for des+iar o
flu*o de controle ou e*ecutar um comando, dependendo de uma condio Rfalsa ou +erdadeira])
X)V)=)5) 6O?%NDO I$ %RIT?ATI6O
$OR?% @ER%C: I$Ie*pressoJ r5 , r= , rH onde:

I$ 6omando "ue significa Rse])
e*presso A uma e*presso aritm'tica +,lida, "ue no contenha +ari,+eis ou constantes
do tipo comple*o)
r5 , r= , rH R;tulos de comandos do programa)
Na e*ecuo do comando, o controle ' des+iado para:
r5 1e o resultado da a+aliao da e*presso for negati+o)
r= 1e o resultado da a+aliao da e*presso for #ero)
rH 1e o resultado da a+aliao da e*presso for positi+o)
EDE?/CO:
I$Ia - & Q cPdJ53, =, H3
, , ,
= e S a Q &
53 e S a - &
H3 e S & Q c
) ) )
1e o resultado da e*presso for negati+o o des+io ser, para o comando 53, se for #ero, ser,
des+iado para o comando =, se for positi+o ser, des+iado para o comando H3)
X)V)=)=) 6O?%NDO I$ Cb@I6O
$OR?% @ER%C: I$I6ondioJ comando onde:
53
6ondio E*presso l;gica +,lida na linguagem)
6omando 6omando e*ecut,+el da linguagem e*ceto I$ e DO)
O comando ser, e*ecutado se o resultado da a+aliao for +erdadeiroI)TRUE)J)
I$Ia)le)cJ go to L3
I$I)not)Ia&JJ a S aP&
X)V)H) 6O?%NDO DO
X)V)H)5) DE$INIO
1er+e principalmente para facilitar a manipulao de +etores e matri#es e para repetir uma
operao +,rias +e#es)
$OR?% @ER%C: DO r5 F%R S inic, fim, incr onde:
DO 6omando "ue significa Rfaa])
r5 R;tulo de um comando e*ecut,+el do programaIEm geral usa-se mais o comando
6ONTINUE "ue ser+e para controlar o DOJ) Este comando e*ecut,+el no pode ser nenhum
dos comandos a seguir: @OTO, I$, outro DO, 1TO/, /%U1E ou RETURN)
F%R A o nome de uma +ari,+el do tipo INTEIRO)
inic Falor inicial de F%R, de+e ser inteiro, sem sinal e menor "ue Rfim])
fim Falor final de F%R, de+e ser inteiro, sem sinal e maior "ue Rinic])
incr Incremento de F%R, inteiro, sem sinal: "uando no especificadoI no apareceJ, '
considerado igual a 5)
O comando 6ONTINUE ser+e apenas como um ponto de referMncia, no causando mudana
alguma no estado de e*ecuo do programa)
Dentro de um comando DO pode ha+er "ual"uer comando do $ORTR%N, inclusi+e outroIsJ
comandoIsJ DO)
EDE?/CO 5: EDE?/CO =:
DO 53 i S 5, 53, = DO =L ( S =, =3 i-cr "#i.i&"
53 6ONTINUE =L 0RITEIP, PJa
a S a Q & end
No e*emplo5 a +ari,+el +ai +ariar de 5 at' 53 com incremento =, e no e*emplo = a +ari,+el (
+aria de = at' =3 com incremento 5)
X)V)H)=) 6ON1TRU\E1 6ORRET%1
DO 53 I S 5, L3
D3 53 U S 5, H3
, , ,
53 6ONTINUE
No e*emplo acima, para cada incremento de Ri], o R(] percorrer, todos os +alores de 5 a
H3, fa#endo com "ue os comandos dentro do DO mais interno se(am e*ecutados H3*L3 S5L33
+e#es)
No e*emplo a&ai*o, mostra "ue um Do interno de+e terminar antes de um DO e*terno)
DO 53 i S 5, H
, , ,
55
DO =3 a S 5, .
, , ,
=3 6ONTINUE
53 6ONTINUE
X)V)H)H) 6ON1TRU\E1 ERR%D%1
aJ Um DO interno no pode terminar fora dos limites do DO e*ternoI$igura 5J)
&J % +ari,+el de controle de um DO e*terno tem de ser diferente da"uela de um DO
internoI$igura =J)
cJ % +ari,+el de controle de um DO no pode ser alterada dentro dos limites deste mesmo DO)
I$igura HJ)
DO 53 i S 5, H
, , ,
DO H3 a S 5, .
, , , $igura 5
53 6ONTINUE
H3 6ONTINUE
DO 53 i S 5, H
, , ,
DO =3 i S 5, .
, , , $igura =
=3 6ONTINUE
53 6ONTINUE
DO 53 i S 5, H
, , ,
DO =3 / S 5, .
/ S / Q5 $igura H
=3 6ONTINUE
53 6ONTINUE
X)V)2) 6O?%NDO1 DE ENTR%D% E 1%ED%
X)V)2)5) 6O?%NDO DE ENTR%D%
Transfere dados de um meio e*ternoIfita, disco, teclado, etc)J para a mem;ria do computador)
$OR?% @ER%C: RE%DInul, nufJlista de +ari,+eis onde:
RE%D 6omando "ue significa Rleia])
nul NOmero da unidade l;gicaIdisco, fita , carto, etc)J, de onde os dados sero lidos para a
mem;ria do computador: a cada unidade l;gica est, 5associado um nOmero l;gico)
O/\E1 DO RNUC] N% ENTR%D%:
iJ 1e Rnul] for um nOmero a unidade l;gica +ai depender do tipo de computador) /ara o caso
espec!fico da $UNREI, o nOmero pode representar entrada de dados +ia Rar"ui+o de dados])
iiJ 1e Rnul] for o s!m&olo RP], significa "ue os dados sero entrados +ia teclado)
5=
nuf NOmero do comando $OR?%T, onde est, especificado a forma como os dados esto
organi#ados no meio e*ternoItipo dos dados, espaamento entre dados, etc)J) O Rnuf] ' o 5e
r;tuloIla&elJ do comando $OR?%T)
O/\E1 DO RNU$] N% ENTR%D%:
iJ 1e Rnuf] for um nOmero representa o r;tulo do comando $OR?%T)
iiJ 1e Rnuf] for o s!m&olo RP] representa "ue o formato de entrada ser, li+re)
Cista de +ari,+eis 6ont'm oIsJ nomeIsJ daIsJ +ari,+elIeisJ, su&scritaIsJ ou no "ue
ser,I oJ lidaIsJ, de+endo ha+er correspondMncia entre os nomes destas e os formatos de leitura)
EDE?/CO:
Integer a, ai, ac
readI5,LJ a, ai, ac
Indica "ue de+em ser lidos, do dispositi+o de entrada relacionado com o inteiro 5, so&
controle do comando $OR?%T de r;tulo L, +alores para as +ari,+eis inteiras a, ai e ac)
X)V)2)=) 6O?%NDO DE 1%ED%
Transfere dados da mem;ria do computador para um meio e*ternoIfita, disco,
impressora, etc)J,
$OR?% @ER%C: 0RITEInul,nufJlista de +ari,+eis onde:
0RITE 6omando "ue significa Rimprima] ou Rgra+e])
nul Unidade l;gica onde os dados sero gra+adosIimpressosJ)
O/\E1 DO RNUC] N% 1%ED% DE D%DO1:
1e nul for um nOmero pode significar uma das op4es:
aJ Os dados sero gra+ados num ar"ui+o de dadosIde resultadosJ)
Neste caso de+e-se definir o ar"ui+o de dados atra+'s do comando O/ENI6omando no
e*ecut,+el conforme ane*o HJ)
ED: openIn,fileS`nome`, statusS`unano[n]J onde:
n A um nOmero inteiro "ue ser, igual ao Rnul])
nome A o nome do ar"ui+o onde sero gra+ados os resultados, "ue sero +istos atra+'s do
comando do DO1: RT9/E])
&J Os dados sero gra+ados na impressora) Neste caso de+e-se definir o nOmero relati+o N
impressora atra+'s do comando O/EN)
EDE?/CO:
: O/ENIn, file S `lpt5`J onde:
n NOmero da unidade l;gica relati+a N impressora)
Cpt5 /ala+ra "ue indica impressora Ipode ser usada a pala+ra Rprn] tam&'mJ)
EDE?/CO:
0RITEI=, LTJ a, &, med Indica "ue as +ari,+eis a, & e med, sero impressasIgra+adasJ
na unidade l;gica =, so& controle do comando $OR?%T de r;tulo LT)
5H
X)V)2)=)5) I?/RE11OI@R%F%OJ DE ?EN1%@EN1 E 6%7E%CGO1
/ara se imprimirIgra+arJ mensagens ou ca&ealhos usa-se o comando 0RITE, com os
di#eres entre ap;strofos)
ED: 0RITEIP, PJ _?%TRI^ % ?%TRI^ INFER1%`
%"ui ser, impresso na tela do computador este ca&ealho)
X)V)2)=)=) OUTR% O/O DE 1%ED% 6O? $OR?%TO CIFRE
Buando se "uer imprimir, no formato li+re, uma mensagem ou ca&ealho (unto com algum
dado pode-se usar a seguinte opo:
0RITEIP, PJ _* S _, *
Neste caso ser, 5impresso na tela a cadeia de caracteres * S seguida do +alor da +ari,+el R*])
O71: /ara imprimir uma linha em &ranco +ocM poder, usar a opo: 0RITEIP, PJ
X)V)L) 6O?%NDO DE E1/E6I$I6%O $OR?%T
A utili#ado para especificar os dados de entrada e sa!da tais como: espaamento entre dados,
salto de linhas ou p,ginas, formato de nOmeros, impresso de nomes, etc)
$OR?%TO1 BUE /ODE? 1ER UTICI^%DO1 NO $ORTR%N:
nIc /ara dados do tipo inteiro)
n$c)d /ara dados do tipo realIforma decimalJ)
nEc)d Dados do tipo real, preciso simplesIe*ponencialJ)
nDc)d Dados do tipo real, preciso duplaIe*ponencialJ)
nCc Dados do tipo l;gico)
n%c Dados "ue e*ternamente so alfanum'ricos)
nD Espace(amento hori#ontal)
dG Dados literais)
onde:
n A um fator de repetio, de+e ser um nOmero inteiro)
c NOmero de caracteres ocupados pelo dadoInOmero de colunasJ, o ponto decimal e o sinal
contam como caracteres)
d NOmero de posi4es decimais ap;s a +!rgula)
$OR?% @ER%C: nuf $OR?%TIlista de especificao de formatoJ onde:
nuf R;tulo do comando $OR?%T "ue aparece no comando RE%D ou no comando
0RITE)
Cista de especificao de formato /ode ser um dos especificados nos itens seguintes:
X)V)L)5) $OR?%TO1 /%R% D%DO1 NU?ARI6O1
X)V)L)5)5) D%DO1 DO TI/O INTEIRO
52
Na entrada, espaos em &ranco dentro do campo so interpretados como R#eros]) Na sa!da se a
"uantidade de posi4es for menor "ue Rc], os espaos "ue so&ram so dei*ados em &ranco e o
nOmero ' a(ustado pela direita) 1e a "uantidade for maior "ue Rc], so impressos asteriscos
"ue indicam erro no formato do dado)
EDE?/CO:I& Nos e*emplos a&ai*o R&] significar, espao em &rancoJ
D%DO DE ENTR%D% $OR?%TO D%DO CIDO
&X&HL iL 3X3HL
XHL&& i2 XHL3
-=HX iH -=H
D%DO DE 1%ED% $OR?%TO D%DO I?/RE11O
-= iL &&&-=
XXXLX i2 PPPP
X)V)L)5)=) D%DO1 DO TI/O RE%C
O nOmero de posi4es inclui o ponto decimal e o sinal)
D%DO DE ENTR%D% $OR?%TO D%DO CIDO
.LHX $L)5 .LH)X
Q.L)HX $T)= Q.L)HX
D%DO DE 1%ED% $OR?%TO D%DO I?/RE11O
Q.L)HX3 $T)H PPPPPP
=X.) E53)H &3)=X.E&3H
==T.=5)5 D53)H &3)==.D&3T
FocM pode condicionar a impresso de um ou mais dados por linha:
EDE?/CO:
0RITEIP, =J a, &, c, d, e, f Impresso de um nOmero por linha)
5= formatIf2)=J
0RITEIP,HJa, &, c, d ,e, f Impresso de dois nOmeros por linha)
5H formatI=f2)=J
0RITEIP,HJa, &, c, d ,e, f Impresso de - nOmeros por linha)
formatI-$2)=J

X)V)L)=) $OR?%TO /%R% D%DO1 Cb@I6O1
Na entrada, a primeira ocorrMncia de uma letra T ou $ dentro do campo especificado, causa a
atri&uio de )TRUE) ou )$%C1E) respecti+amente N +ari,+el l;gica "ue rece&er, o +alor lido)
Na sa!da ' impresso T ou $)
X)V)L)H) $OR?%TO /%R% D%DO1 NO NU?ARI6O1
5L
/ala+ras "ue ocupam uma pala+ra de mem;riaIRE%CP2 e INTE@ERP2J, podem a&rigar no
m,*imo "uatro caracteres: +ari,+eis "ue ocupam duas pala+ras de mem;riaIRE%CPVJ podem
a&rigar no m,*imo oito caracteres)
Neste caso usa-se o formato Rn%c])
EDE?/CO: 1uponha "ue o dado no num'rico UNIFER1ID%DE tenha "ue ser lido por um
programa) Isto pode ser feito de +,rias maneiras:
integerP2 a, &, c
realPV d, e
integerP= f, g, h ,i ,( , a
IaJ RE%DI5,LJ a, &, c
L formatIHa2J
I&J RE%DI5,TJ d, c
T formatIaV, a2J
IcJ RE%DI5,.Jf, g, h, i, (, a
. formatITa=J
No caso IaJ, depois da leitura, Ra] conter, UNIF, R&] conter, ER1I e Rc] conter, D%DE)
No caso I&J, Rd] conter, UNIFER1I e Re] conter, D%DE)
No caso f S UN, g S IF, h S ER, i S 1I, ( S D% e Ra] conter, DE)
/ara impresso procede-se do mesmo (eito)
X)V)L)2) D%DO1 CITER%I1
1o cadeias de caracteres en+ol+idas por ap;strofos: so muito utili#adas para impresso de
ca&ealhos em folhas de sa!da, etc)
G, duas formas de imprimirIgra+arJ literais:
iJ 6olocando o "ue se "uer imprimir entre ap;strofos)
iiJ Usando o formato dG, onde Rd] especifica o comprimento da cadeia de caracteresIespao
em &ranco ' contado como caracterJ)
EDE?/CO:
0RITEIP,53J
53 formatI _UNIFER1ID%DE 6%TbCI6%`J ou
0RITEIP,5=J
5= formatI=5hUNIFER1ID%DE 6%TbCI6%J
X)V)L)L) 6ONTROCE FERTI6%C E GORI^ONT%C DE CEITUR%YI?/RE11O
O espace(amento hori#ontal na EY1 ' feito pela especificao nD, onde n indica o nOmero de
espaos em &ranco "ue se "uer saltar)
O espace(amento +ertical ' feito usando a &arraIYJ ou nIYJ, onde n ' o nOmero de linhas "ue se
"uer saltar) %o se usar a impressora, a primeira posio de uma linha de sa!da no comando
5T
$OR?%T ' um caracter de controle: este caracter pode aparecer entre aspas ou usando o
formato G e pode ser:
`5` ou 5G5 6ausa o salto para uma no+a p,gina)
`&` ou 5G& Espace(amento normal)
`3` ou 5G3 A dei*ada uma linha em &ranco entre a atual e a pr;*imaIespace(amento duploJ)
_-_ ou 5G 1o dei*adas duas linhas em &rancoIespao duploJ)
_Q` ou 5G No h, espace(amento e a impresso ' feita na linha atual)
X)V)T) 6O?%NDO1 DE TAR?INO E /%R%D% DO /RO@R%?%
X)V)T)5) 6O?%NDO1 DE /%R%D%
IJ /arada momentfnea:
$OR?% @ER%C: /%U1E
/ode ser usado em "ual"uer ponto do programa) Na e*ecuo, h, uma pausa, aparecendo
uma mensagem para +ocM apertar WENTERg "uando +ocM o&ser+ar tudo "ue aparece na tela e
esti+er pronto para mud,-la)
IIJ /arada l;gica:
$OR?% @ER%C: 1TO/ ou 1TO/ _mensagem`
Indica fim l;gico do programa, pode ser omitido) /ode usar uma mensagemIpor e*emplo:
]/RO@R%?% TER?IN%DO]J usada entre ap;strofos)
/ode-se usar r;tuloIla&elJ antes do 1TO/)
X)V)T)=) 6O?%NDO DE TAR?INO
6omando no e*ecut,+el "ue indica o fim f!sico do programa fonte ou su&programa) De+e ser o
Oltimo comando de um programa)
$OR?% @ER%C: END ou END _mensagem`
Este comando no pode ter r;tulo)
X)V).) E1TRUTUR% DE D%DO1: FETORE1 E ?%TRI^E1
Define-se um +etorIou matri# ou arran(oJ como sendo uma estrutura de dados
homogMneaItodos componentes do mesmo tipoJ)
X)V).)5 DE6C%R%O
X)V).)5)5) DE6C%R%O 6O? TI/O I?/CE6ITO
% especificao DI?EN1ION tem por finalidade dar ao compilador $ORTR%N as
informa4es so&re "ue +ari,+eis do programa sero su&scritas e suas dimens4es) De+e aparecer
antes do primeiro comando e*ecut,+el do programa)
$OR?% @ER%C: DI?EN1ION F5 I D5 , ))) Dm J,F= ID5 ,))) DmJ, ) ) ) onde:
=5 5 . = 55 =.
F5, F=, ) ) ) Nome de +etoresIo nome pode ter at' seis caracteres sendo "ue o primeiro tem de
ser alfa&'tico)
5.
I D5 , ))) Dm J 6onstantes inteiras sem sinal, "ue indicam o nOmero de elementos em cada
dimenso e o nOmero de dimens4es)
EDE?/CO:
Dimension aI53,=3J Define um +etorImatri#J do tipo real pois comea com a letra Ra],
de duas dimens4es, em "ue o !ndice da primeira dimenso +ai de 5 at' 53 e o da segunda +ai de 5
at' =3)
Na especificao DI?EN1ION, ' dimensionado o nOmero m,*imo do !ndiceI/or e*emplo no
seu programa +ocM pode usar a especificao
DI?EN1ION aI53,53J, &I53,53J e no programa somar duas matri#es H*2)
X)V).)5)=) DE6C%R%O 6O? TI/O ED/CE6ITO
Usam-se os comandos INTE@ER para +etores de inteiros e RE%C para +etores de reais)
$OR?% @ER%C: INTE@ERPn F5 I D5 , ))) Dm J,F= ID5 ,))) DmJ, ) )
$OR?% @ER%C: RE%C F5 I D5 , ))) Dm J,F= ID5 ,))) DmJ, ) )
% descrio e o modo de usar so os mesmos do DI?EN1ION)
X)V).)=) ?%NI/UC%O DE FETORE1
/ara se ter acesso a "ual"uer elemento de um +etor, usam-se os Rsu&scritos]Iou !ndicesJ, "ue
podem ser +ari,+eis inteiras positi+as, constantes inteiras positi+as ou e*press4es inteiras
positi+as) Os !ndices so colocados entre parMnteses como em:
FETORI i5 , ))) in J
EDE?/CO:
INTE@ER FETI533J
1e "uisermos acessar o elemento de !ndice V3) &asta codificar FETIV3J "ue o elemento estar,
dispon!+el)
aJ INTE@ER i, +etI533J
do 53 i S 5,533
+etIiJ S 3
53 6ONTINUE
Neste caso, o +etor R+et] de inteiros , est, sendo percorrido se"uencialmente, estando cada
um deles sendo #erado)
&J INTE@ER a, &, matri#I53,53J
do 53 a S 5,53
do V & S 5,53
matri#Ia, &J S 5
V 6ONTINUE
53 6ONTINUE
O +etor matri# de duas dimens4es est, sendo percorrido, por linhas se"uencialmente, sendo
atri&u!do a cada elemento o +alor 5)
5V
X)V).)H) INI6I%CI^%O DE FETORE1
X)V).)H)5) INI6I%CI^%O E1T8TI6%
A feita atra+'s do comando D%T%IEm tempo de compilaoJ)
EDE?/CO:
INTE@ER +etorI533J,aI53,=3J
D%T% +etorY533P3Y,%YL3P3,L3P5,L3P=,L3PHY
]+etor] ter, todos seus 533 elementos #erados: Ra] ter, os L3 primeiros elementos #erados: os
pr;*imos L3 elementos iguais a 5: os pr;*imos L3 iguais a = e os restantes L3 iguais a H)
X)V).)H)=) INI6I%CI^%O DINc?I6%
A feita em tempo de e*ecuo, usando um comando de atri&uio e comandos RDO], "uantas
+e#es forem necess,rias)
EDE?/CO 5: EDE?/CO =:
INTE@ER a&cI=3, =3J INTE@ER %76I=3, =3J
DO 53 i S 5, 53 DO 53 ( S 5, =3
DO =3 ( S 5, =3 DO =3 i S 5 ,53
a&cIi, (J S 3 a&cIi, (J S 3
=3 6ONTINUE =3 6ONTINUE
53 6ONTINUE 53 6ONTINUE
% matri# a&c est, sendo % matri# %76 est, sendo
#erada por linhas) #erada por colunas)

X)V).)2) ENTR%D% E 1%ED% DE FETORE1
X)V).)2)5) ENTR%D% DE FETORE1
A feita atra+'s do comando RE%D, associado ao comando DO)
iJ FETORE1 DE U?% DI?EN1OIE*: s'rie de nOmerosJ
DI?EN1ION %I533J
1O?% S 3
DO 5 i 0 11100 DO e*pl!cito
RE%DIP, PJ%IIJ
1O?% S 1O?% Q %IIJ
L 6ONTINUE
%"ui est, sendo lido um +etor de 533 elementos "ue podem ser, por e*emplo, 533 nOmeros para
serem somados ou multiplicados, etc)
Neste caso poderia ser usado tam&'m o comando: com o:
RE%DIP, PJIaIiJ, i 011 100J DO impl!cito
iiJ FETORE1 DE DU%1 DI?EN1\E1IE*: matri#J
RE%C &I=3, =3J Neste e*emplo est, sendo lida uma
DO53 i S 5, 2 matri# 2*L, por linhas)
DO=3 ( S 5, L
RE%DIP, PJaIi, (J
5X
=3 6ONTINUE
53 6ONTINUE
X)V).)2)=) 1%ED% DE FETORE1
A feita atra+'s do comando 0RITE, associado ao comando DO)
EDE?/CO:
DI?EN1ION aI53, 53J,&I53, 53J,cI53, 53J
DO L i S 5, 2 Neste caso es to sendo lidas duas,
DO V ( S5, H matri#es Ra] e R&] 2*H e tam&'m,
RE%DIP, PJaIi, (J sendo calculada e impressa a soma,
RE%DIP, PJ&Ii, (J destas matri#es sendo colocado o
cIi, (J S aIi, ( J Q &Ii, (J resultado na matri# Rc])
0RITEIP, PJcIi, (J
V 6ONTINUE
L 6ONTINUE
6om esta maneira de imprimir, os elementos das matri#es sero impressos um em cada linha)
/ara imprimir do modo normal como ' uma, matri# usa-se o DO impl!cito)
DO L i S 5, 2
0RITEIV, PJIcIi, (J,( S5, HJ
L 6ONTINUE
O71ERF%O:
Buando for imprimir um literal ou um nOmero, de+e-se sempre usar no formato de sa!da um
caracter a mais da "uantidade usada na leitura de dados, pois o primeiro caracter na sa!da ' usado
como controle) 1e no fi#er isto ' suprimido o primeiro caracter do dado lido)
EDE?/CO:
0RITEIP,PJ` DI@ITE U?% /%C%FR% DE %TA T 6%R%6TERE1 _
RE%DIP,5J%
5 $OR?%TIA6J
0RITEIP,=J %
= $OR?%TIA7J
X)V)V) 1U7/RO@R%?%1
A a su&di+iso de um programa com a +antagem de se concentrar em um s; pro&lema de cada
+e#) A mais utili#ado "uando +ocM precisa fa#er +,rias opera4es ou aplicar uma mesma f;rmula
ou e*presso +,rias +e#es num programa)
X)V)V)5) 1U7/RO@R%?% $UNO
%s principais caracter!sticas "ue o distingue da su&rotina so:
iJ Retorna ao programa principal um s; +alor no nome da funo)
iiJ Tem um tipo associado ao nome da funo, "ue ' o tipo do +alor retornado ao programa)
iiiJ /ara ser utili#ado &asta "ue se faa uma referMncia ao nome da funo em "ual"uer lugar
poss!+el do programaIcomandos de EY1, e*press4es aritm'ticas e l;gicas, etc)J)
i+J De+e ser declarado no programa antes de "ual"uer comando e*ecut,+el)
+J /ode retornar dados ao programa "ue o chamar)
=3
+iJ /ode conter "ual"uer comando e*ceto outra $UN6TION ou 1U7ROUTINE)
X)V)V)5)5) 1U7/RO@R%?% $UNO DE6C%R%O
A usado no programa, por e*emplo, "uando se "uer calcular uma f;rmula ou funo em +,rios
pontos) Descre+e-se ento a f;rmula como uma funo declarao: "uando for necess,rio fa#er o
c,lculo de um +alor da f;rmula, &asta fa#er referMncia ao nome da funo no local dese(ado)
$OR?% @ER%C: NO?EIa5 , ))) an J S ED/RE11O onde:

NO?E Nome da funo "ue tem um tipo associado, podendo este ser definido
implicitamante ou no)
a5 , ))) an 1o argumentos da funo, so nomes de +ari,+eis "ue se usam para definir a
forma geral da funo do lado direito do sinal RS]: cada argumento tem um tipo associado)
ED/RE11O E*presso aritm'tica escrita utili#ando os argumentos a5 , ))) an "ue
descre+em a f;rmula ou funo)
/ara o&ter +alores da funo &asta usar a referMncia:,
NO?EIp5 , ))) pn J onde:
NO?E A o mesmo nome do su&programa funo)
p5 , ))) pn 1o parfmetros com "ue a funo est, sendo ati+ada e so +ari,+eis do
programa principal) 6ada argumento a5 , ))) an ser, su&stitu!do respecti+amente por cada um
dos parfmetros p5 , ))) pn)
EDE?/CO:
1e(a o polinKmio > S L*
H
Q 2*
=
Q =, "ue se "uer transformar em um su&programa funo)
RE%C poli, *, >, a, &
poliI*JSLPDPPH Q 2PDPP= Q =
a S =
& S5
> S poliIaJP3)L =Pa
O +alor da funo ' calculado, su&stituindo o argumento R*] pelo parfmetro Ra], retornado
ao ponto de chamada no nome da funo Rpoli], como um +alor realIno caso, RpoliIaJ] retornaria o
+alor LVJ)
1e ti+'ssemos poliI&J o +alor retornado seria 55)
X)V)V)5)=) 1U7/RO@R%?% $UNO /RO/RI%?ENTE DIT%
1emelhante ao su&programa funo por'm agora a declarao de+e ser definida foraIantes ou
depoisJ do programa principal)
$OR?% @ER%C: TI/O $UN6TION NO?EIa5 , ))) anJ

NO?E S RF%COR % 1ER RETORN%DO]
=5
RETURN
END onde:
- TI/O Tipo associado ao nome da funo Ireal, inteiro, etc)J)
- $UN6TION Indica "ue ' um su&programa funo)
- NO?E Nome da funo)
- a5 , ))) an %rgumentos do su&programa)
Tanto no su&programa funo como na su&rotina, as +ari,+eis do programa principal no so
as mesmas de um su&programa) /ara "ue isto acontea ' necess,rio "ue se use a especificao
R6O??ON])
]6O??ON] ' uma especificaoI no e*ecut,+elJ "ue fa# com "ue as +ari,+eis definidas em
um programa possam partilhar os mesmos locais "ue +ari,+eis definidas em su&programas)
EDE?/CO:
/RO@R%? T%C $UN6TION %DDID, 9J
, , , 6O??ON ^
6O??ON % %DD S D Q 9 Q ^
% S L RETURN
1O?% S %DDI6, DJ END
Neste e*emplo, a +ari,+el ^ do su&programa funo %DD ter, o +alor L "uando da e*ecuo
do su&programa)
% forma geral desta especificao ': 6O??ON lista de +ari,+eis) Ela de+e ser declarada antes
de "ual"uer comando e*ecut,+el)
$OR?% @ER%C: 1U7ROUTINE NO?EIa5 , ))) an J
RETURN
END onde:
NO?E Nome da su&rotina)
a5 , ))) an %rgumentos da su&rotina)
RETURN 6ausa retorno ao programa principal)
END Indica fim da su&rotina)
/ara ati+arIchamarJ uma su&rotina &asta usar a referMncia:
6%CC NO?EIp
1
, ... p
n
J onde:
6%CC 1ignifica Rchame], ati+a a su&rotina)
NO?E Nome da su&rotina)
p5 , ))) pn /arfmetros "ue su&stituiro respecti+amente os argumentos a5 , ))) an)
EDE?/CO:
/RO@R%?% /RIN6I/%C:
/RO@R%? R%I^
RE%DIP, PJ%5, 75, 65
6%CC EB=@I%5, 75, 65, R5, R=J
==
1TO/
END
1U7ROTIN%:
1U7ROUTINE EB=@I%,7,6,D5,D=J,
6 1U7ROTIN% BUE 6%C6UC% R%E^E1 DE EBU%\E1 DO 1E@UNDO @R%U
D S 7PP= 2P%P6
I$ID)@E)3J @O TO L3
EC1E
0RITEIP, PJ R%E^E1 6O?/CED%1`
ENDI$
L3 D5 S I7 - I1BRTIDJJYI=P%J
D= S I7 Q I1BRTIDJJYI=P%J
0RITEIP, PJD5,D=
RETURN
END
53) 6O?%NDO1 %DI6ION%I1 DO $ORTR%N
53)5) U1O DE 6O?%NDO1 DO RDO1] NU? /RO@R%?%
FocM pode acionar comandos do DO1 atra+'s de uma su&rotina de sistema:
$OR?% @ER%C: 6%CC 191TE?IRcomando do DO1]J
FocM pode us,-la em "ual"uer lugar do programa, colocando entre parMnteses e entre aspas o
comando do DO1 dese(adoIdir, t>pe, cls, etc)J inclusi+e poder, e*ecutar um programa dentro
de outro programa)
EDE?/CO:
/RO@R%? T%C
RE%DIP, PJa, &
0RITEIP, PJa
/%U1E
6%CC 191TE?IR6C1]J
0RITEIP, PJ&
END
Este e*emplo fa# com se(am lidos dois nOmeros, depois ' impresso na tela o primeiro
nOmero associado N +ari,+el Ra], a tela ento ficar, ]congelada] por causa do comando /%U1E,
apertando ento WENTERg, a tela ser, ]limpada] de+ido ao comando 6C1 e aparecer, ento
impresso na tela s; 5o segundo nOmero associado N +ari,+el R&])
1e no ti+esse isto, os dois nOmeros seriam impressos na mesma tela)
53)=) CEITUR% DE D%DO1 6O? O 6O?%NDO RIN/UT]
IN/UT ' uma +erso Rcurta] do comando RE%D, ' usado para transferir dados do console
somente)
$OR?% @ER%C: IN/UT NU$, CI1T% DE F%RI8FEI1 onde:
=H
IN/UT 6omando "ue significa ENTR%D%)
NU$ A o r;tulo de uma especificao $OR?%T, "uando ' um formato li+re usa-se o
s!m&olo RP])
CI1T% DE F%RI8FEI1 Fari,+eis a serem lidas)
ED: IN/UT =, a, &, c
= $OR?%TIHfL)=J
53)H) I?/RE11O DE D%DO1 6O? O 6O?%NDO R/RINT]
]/RINT] ' um caso especial do comando 0RITE onde os dados so transferidos somente
para o console)
$OR?% @ER%C: /RINT NU$, CI1T% DE F%RI8FEI1 onde:
/RINT 6omando "ue significa I?/RI?%)
NU$ A o r;tulo de uma especificao $OR?%T, ou pode ser usado o RP] "uando o
formato for li+re)
CI1T% DE F%RI8FEI1 Fari,+eis a serem impressas)
EDE?/CO5:
/RINT H, a, &, media,
H $OR?%TIf2)5J
EDE?/CO=:
/RINT P, _media des+io padro`
O71: /ara imprimir uma linha em &ranco use: /RINTP,` _
53)2) @ER%O DE Nh?ERO1 %CE%TbRIO1
Usa-se a funo intr!nseca RRR%NDIJ] "uando ' a primeira "ue ' necess,rio usar um nOmero
aleat;rio num programa) 1e mais nOmeros aleat;rios so re"ueridos durante o curso do
programa a funo RRNDIJ] pode ser usada) Estas duas fun4es geram nOmeros aleat;rios entre
3)3 e 5)3, uniformemente distri&u!dos)
55) EDIO, 6O?/IC%O E EDE6UO DE /RO@R%?%1
/rimeiro +ocM entra num Editor Rno documento]Ia"uele onde no se usa acentuao nem J,
tal como o Edit do DO1 ou o Norton Editor no caso do $ORTR%N $..C ou no editor pr;prio no
caso do $ORTR%N /o[erstation 2)3) Digita-se todo o programa, seguindo as normas descritas no
t;pico X)= anteriormente citado) %o terminar de digitar, sal+a-se o programa num ar"ui+o com
e*tenso $OR)
55)5) $ORTR%N $..C
Uma o&ser+ao importante ' "ue, para se processar a compilao, seu computador de+e
possuir um coprocessador aritm'tico)
=2
O primeiro passo ' +ocM estar tra&alhando na pasta onde esta o ar"ui+o e*ecut,+el 277L,E3E
para poder compilar normalmente)
6omo e*emplo, +amos supor "ue todos os ar"ui+os "ue comp4em esta +erso do $ORTR%N
este(am numa pasta chamada PRD, e "ue +ocM +, tam&'m gra+ar os ar"ui+os fonte, o&(eto e
e*ecut,+el nesta mesma pasta)
%ssim "ue gra+ar o ar"ui+o fonteIsupor o ar"ui+o gra+ado com o nome TRA4,2ORJ, para
fa#er a c"#$i%a*!", saia do editor e, na linha de comandos do DO1, digite:
577% .ra6 e tecle E-.er
1e seu programa no ti+er erro tipo 2ATAL, geralmente aparecer, somente o nome do
programa seguido do nome de su&rotinaIcaso hou+erJ, a! +ocM poder, passar para a pr;*ima
etapa) Os erros tipo 7ARNING algumas +e#es podem ser despre#adosIpor e*emplo uma +ari,+el
"ue ' declarada mas no ' usada no programaJ, por'm de+em ser analisados)
6aso ha(a erroIsJ, +ocM de+er, anot,-loIsJ, como tam&'m a linha onde foram detectados, entrar
de no+o no Editor, corrigir os erros, gra+ar no+amente o ar"ui+o e compilar, repetir estas opera4es
at' "ue se(am eliminados os erros fatais)
% pr;*ima etapa ser, Rlinaar] o programa digitando o seguinte:
%i-/ .ra6 e tecle E-.er
Em seguida +ocM de+er, teclar E-.er ap;s cada comando "ue aparece a&ai*o:
RUN 2ILE C:TRA4,E3E8:
LIST 2ILE NUL,MAP8:
LI4RARIES ,LI48:
6aso no ha(a erros ser, gra+ado o ar"ui+o e*ecut,+el .ra6,e(e)
/ara e*ecutar o programa &asta digitar na linha de comandos do DO1: .ra6 e em seguida teclar
E-.er e atender aos comandos espec!ficos do programa em "uesto)
55)=) $ORTR%N /O0ER1T%TION 2)3
55)=)5) %?7IENTE DO $ORTR%N /O0ER1T%TION 2)3
%p;s entrar no am&iente do $ORTR%N /O0ER1T%TION 2)3, para iniciar a edio de seu
programa acione as seguintes op4es do menu 2i%e 9 Ne: 9 Te(. 5i%e 9 O; ou ento cli"ue no !cone
cu(a referMncia ' Ne: "'rce 5i%e "ue se encontra na &arra de ferramentas logo a&ai*o do menu
2i%e,
No am&iente do $ORTR%N /O0ER1T%TION 2)3 +o aparecer trMs (anelas:
5) % primeira N es"uerda aparece com duas op4es: uma ' a 2i%e <ie: onde aparece a pasta "ue
ter, o mesmo nome do atual ar"ui+o e "ue cont'm dentro dela o ar"ui+o com e*tenso $OR
atualmente usado) % outra opo ' a I-5"<ie: onde aparece o =e%$ so&re +,rios t;picos do
$ORTR%N, inclusi+e a opo para pes"uisar informa4es so&re os +,rios tipos de erros com seus
respecti+os c;digos e e*plica4es de cada um)
=) % segunda (anela, N direita, ' o espao de tra&alho onde ' digitado o programa: ' o editor dos
programas)
H) % terceira (anela, a&ai*o, ' a"uela onde aparecem os comandos relati+os N compilao dos
programas) %! ' onde aparecem as mensagens de erros "ue de+em ser anotadasIou guardadas na sua
mem;riaJ para serem posteriormente pro+idenciadas as corre4es e a partir da! compilar os
programas no+amente at' no ha+er mais erros)
=L
55)=)=) /%11O1 /%R% EDIO DO1 /RO@R%?%1
Inicia-se a edio de um programa posicionando o curso na coluna 7 da primeira linha e
digitando o primeiro comando "ue ' a pala+ra $r">ra# seguida do nome do programa em "uesto,
tecle E-.er e em seguida +ai digitando o restante dos comandos "ue comp4em o programa todo)
1al+ar o programa num ar"ui+o com e*tenso 5"r,
O6er<a*!": Famos supor "ue um programa e*emplo ser, sal+o com o nome .e.e,5"r)
%ssim "ue sal+ar a primeira +e#, ' acrescida uma coluna +erde logo antes da coluna . fa#endo a
marcao da coluna onde se inicia os comandos do $ORTR%N)
Normalmente os nOmeros relati+os N especificao $OR?%T so e*i&idos na cor +ermelha: as
pala+ras cha+esIcomandosJ aparecem na cor a#ul, os coment,riosIsendo colocada a letra c na
coluna 5J aparecem na cor +erde e o restante aparece na cor preta)
% compilaoIonde se +erificam os erros na digitao de comandos do programa em "uestoJ, '
feita atra+'s das op4es:
4'i%&
C"#$i%e .e.e,5"r
Ga+endo erros, de+em ser feitas as corre4es, sal+ar no+amente o ar"ui+o e compilar
no+amente) No tendo mais erros fa#-se a ilinaagemiIonde so +erificados os erros de l;gica do
programa em "uestoJ, com as op4es:
4'i%&
4'i%& .e.e,5"r
No ha+endo erros, so usadas as op4es a&ai*oI"uando ' criado o ar"ui+o e*ecut,+elJ:
4'i%&
Re6'i%& a%%
Em seguida e*ecuta-se o programa, dentro do am&iente do $ORTR%N, usando as op4es:
4'i%&
E(ec'.e .e.e,e(e
O programa ser, ento e*ecutado: caso necessite de+e-se entrar com os dados re"ueridos)
Normalmente os ar"ui+os "ue so criados no $ORTR%N /O0ER1T%TION 2)3 so gra+ados
na pasta 6:j?1DEFj/ROUE6T1)
1endo criado o ar"ui+o e*ecut,+el, +ocM poder, e*ecut,-lo fora do am&iente do $ORTR%N,
&astando dar o duplo cli"ue so&re o !cone do ar"ui+o e*ecut,+elIse usar o 7i-&": E($%"rer? ou
&astando digitar .e.e seguido do E-.erIse usar o Pr"#$. &" DOSJ
55)=)H) O/\E1 DE ?ENU DO $ORTR%N /O0ER1T%TION 2)3
4'i%& De6'> G" Inicia ou continua a rodar o programaINo lugar destas op4es pode-se usar
tam&'m a tecla $LJ)
4'i%& De6'> S.e$ I-." /assa para o pr;*imo argumentoINo lugar destas op4es pode-se usar
tam&'m a tecla $VJ)
4'i%& De6'> R'- ." c'r"r Roda o programa na linha "ue cont'm o cursorINo lugar destas
op4es pode-se usar tam&'m a tecla $.J)
Buando (, est, com um programa a&erto e "uer iniciar outro programa, acione as op4es: I-er.
Pr"@ec. Na#e Crea.e: na (anela Na#e digite o nome do ar"ui+o onde ser, gra+ado seu programa)
%ssim "ue sal+ar o programa +erifi"ue se no menu 4'i%& aparecem as trMs op4es: C"#$i%e1
4'i%& e E(ec'.e seguidas do mesmo nome do ar"ui+o atual)
Buando acionar o help ou outra opo e "uiser +oltar para a ,rea de tra&alho acione o menu
:i-&": e escolha a (anela a ser acionada dentre da"uelas "ue a! aparecem)
=T
5=) %NEDO1
5=)5) /RO@R%?% EDE?/CO 5
/RO@R%?% 6O? ENTR%D% DE D%DO1 FI% TE6C%DO I?/RE11O $EIT% N%
I?/RE11OR% 6O? CEITUR% U1%NDO E1/E6I$I6%O R$OR?%T]
/RO@R%? /RODUTO
O/ENI5,$ICE S `C/T5`J
0RITEIP, PJ DI@ITE U? NU?ERO RE%C E U? INTEIRO _
RE%DIP, 533J%, I
0RITEI5,553J%, I
7 S % P I
0RITEI5,5=3J7
533 $OR?%TI$L)5,*,IHJ
553 $OR?%TIYY,53D,`F%RI%FEC RE%C S _,$T)5,YY,53D, k F%RI%FEC INTEIR% Sk,
PIHJ
5=3 $OR?%TI,=3D,`O /RODUTO 1ER% S _, $V)=J
1TO/ _/RO@R%?% TER?IN%DO`
END
O&ser+e "ue na d'cima linha do programa aparece na coluna T o s!m&olo RP], indicando "ue
esta linha ' continuao de um comando da linha anterior)
5=)=) /RO@R%?% EDE?/CO =
/RO@R%?% 6O? ENTR%D% DE D%DO1 FI% %RBUIFO DE D%DO1 E @R%F%O DE
D%DO1 NU? %RBUIFO DE D%DO1, U1O DO $OR?%TO CIFRE
/RO@R%? 1O?%
6 %7ERTUR% DO %RBUIFO DE D%DO1 RD%1O?%]
O/ENI5,$ICE S _D%1O?%`J
6 %7ERTUR% DO %RBUIFO RRE1O?%] ONDE 1ER%O @R%F%DO1 O1 D%DO1
O/ENI=,$ICE S _RE1O?%`, 1T%TU1 S _UN<NO0N`J
RE%DI5,53J%, I
53 $OR?%TI$L)5,D)IHJ
0RITEI=,PJ%,I
7 S % Q I
0RITEI=,PJ _% 1O?% 1ER% S _,7
END
%"ui os dados sero lidos por meio de um ar"ui+o de dados RD%1O?%], "ue +ocM de+er,,
antes de rodar este programa, cri,-lo com os dados de acordo com o programa em "uesto)
6omo o resultado ser, gra+ado em um ar"ui+o, ap;s rodar o programa, +ocM de+er, carregar o
ar"ui+o RE1O?% no editor relacionado com sua +erso do $ORTR%N, ou at' mesmo na linha de
comandos do DO1, digitar: .A$e re"#a e depois teclar E-.er)
=.
C"%'-a 72
5H) 7I7CIO@R%$I%
5) DI%1, D) 1) et alli) /rogramao $ORTR%N para estudantes de 6iMncias e Engenharia) Rio
de Uaneiro: CT6, 5XVL)
=) 7R%@%, U) C) Elementos da Cinguagem $ORTR%N) Fiosa: Imprensa Uni+ersit,ria,
5XV=)
H) /%6ITTI, T) $ORTR%N monitor, princ!pios) Rio de Uaneiro: CT6,5X.2)
=V
SUMRIO
INTRODUBCO ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, I
1, CONCEITOS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
2, LINGUAGEM DE MDUINAE4AI3O NFGEL?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
3, LINGUAGEM DE ALTO NFGEL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
), COMANDOS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
5, ALGORITMO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
6, PROGRAMAS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
7, TARE2ASEETAPAS? PARA DESENGOLGIMENTO DE UM PROGRAMA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
8, PROGRAMABCO ESTRUTURADA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
V)5) E1TRUTUR%1 DE 6ONTROCE)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))H
8.1.1. ESTRUTURA SEQUENCIAL..........................................................................................................................3
8.1.2. ESTRUTURA REPETITIVA.............................................................................................................................3
8.1.3. ESTRUTURA DE DECISO(SELEO)........................................................................................................4
H, LINGUAGEM 2ORTRANE2ORMULA TRANSLATION?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
X)5) NOT%O))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2
X)= 6ODI$I6%O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2
X)H) 6O?/ONENTE1 DE U? /RO@R%?% $ORTR%N)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))L
X)2) 6ON1T%NTE1 E F%RI8FEI1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))L
9.4.1. CONSTANTES.................................................................................................................................................5
9.4.2. VARIVEIS......................................................................................................................................................5
X)L) DE6C%R%O DE F%RI8FEI1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))L
9.5.1. DECLARAO IMPLCITA............................................................................................................................5
X)L)5)5) DE6C%R%O DE U?% F%RI8FEC INTEIR%))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))L
X)L)5)=) DE6C%R%O DE U?% F%RI8FEC RE%C))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) L
9.5.2. DECLARAO EPLCITA...........................................................................................................................5
X)L)=)5) F%RI8FEC DO TI/O INTEIRO))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)L)=)=) F%RI8FEC DO TI/O RE%C))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)L)=)H) F%RI8FEI1 E 6ON1T%NTE1 Cb@I6%1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)L)=)2) F%RI8FEI1 E 6ON1T%NTE1 DO TI/O 6O?/CEDO)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
X)T) 6O?%NDO1 DE INI6I%CI^%O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
9.!.1. INICIALI"AO DIN#MICA.........................................................................................................................!
9.!.2. INICIALI"AO ESTTICA...........................................................................................................................!
X).) O/ER%DORE1 E ED/RE11\E1 %RIT?ATI6%1 E Cb@I6%1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
9.$.1. OPERADORES E EPRESS%ES ARITM&TICAS..........................................................................................!
9.$.2. OPERADORES E EPRESS%ES L'(ICAS...................................................................................................!
X)V) 6O?%NDO1 D% CIN@U%@E?)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
9.8.1. COMANDO (O TO.........................................................................................................................................!
X)V)5)5) @OTO IN6ONDI6ION%C))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)5)=) @OTO 6ONDI6ION%CI6ONTROC%DO OU 6O?/UT%DOJ)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
9.8.2. COMANDO I).................................................................................................................................................!
X)V)=)5) 6O?%NDO I$ %RIT?ATI6O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)=)=) 6O?%NDO I$ Cb@I6O))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
9.8.3. COMANDO DO...............................................................................................................................................!
X)V)H)5) DE$INIO))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)H)=) 6ON1TRU\E1 6ORRET%1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)H)H) 6ON1TRU\E1 ERR%D%1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
9.8.4. COMANDOS DE ENTRADA E SADA...........................................................................................................!
X)V)2)5) 6O?%NDO DE ENTR%D%)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)2)=) 6O?%NDO DE 1%ED%)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)2)=)5) I?/RE11OI@R%F%OJ DE ?EN1%@EN1 E 6%7E%CGO1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
X)V)2)=)=) OUTR% O/O DE 1%ED% 6O? $OR?%TO CIFRE)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
9.8.5. COMANDO DE ESPECI)ICAO )ORMAT...............................................................................................!
X)V)L)5) $OR?%TO1 /%R% D%DO1 NU?ARI6O1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)L)5)5) D%DO1 DO TI/O INTEIRO))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)L)5)=) D%DO1 DO TI/O RE%C))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)L)=) $OR?%TO /%R% D%DO1 Cb@I6O1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)L)H) $OR?%TO /%R% D%DO1 NO NU?ARI6O1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
X)V)L)2) D%DO1 CITER%I1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)L)L) 6ONTROCE FERTI6%C E GORI^ONT%C DE CEITUR%YI?/RE11O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
9.8.!. COMANDOS DE T&RMINO E PARADA DO PRO(RAMA...........................................................................!
X)V)T)5) 6O?%NDO1 DE /%R%D%)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)T)=) 6O?%NDO DE TAR?INO)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
9.8.$. ESTRUTURA DE DADOS* VETORES E MATRI"ES.....................................................................................!
X)V).)5 DE6C%R%O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V).)5)5) DE6C%R%O 6O? TI/O I?/CE6ITO)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
X)V).)5)=) DE6C%R%O 6O? TI/O ED/CE6ITO))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
X)V).)=) ?%NI/UC%O DE FETORE1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V).)H) INI6I%CI^%O DE FETORE1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V).)H)5) INI6I%CI^%O E1T8TI6%)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V).)H)=) INI6I%CI^%O DINc?I6%))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V).)2) ENTR%D% E 1%ED% DE FETORE1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V).)2)5) ENTR%D% DE FETORE1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V).)2)=) 1%ED% DE FETORE1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
9.8.8. SU+PRO(RAMAS...........................................................................................................................................!
X)V)V)5) 1U7/RO@R%?% $UNO))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) T
X)V)V)5)5) 1U7/RO@R%?% $UNO DE6C%R%O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
X)V)V)5)=) 1U7/RO@R%?% $UNO /RO/RI%?ENTE DIT%))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
10, COMANDOS ADICIONAIS DO 2ORTRAN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6
53)5) U1O DE 6O?%NDO1 DO RDO1] NU? /RO@R%?%))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
53)=) CEITUR% DE D%DO1 6O? O 6O?%NDO RIN/UT])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
53)H) I?/RE11O DE D%DO1 6O? O 6O?%NDO R/RINT]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
53)2) @ER%O DE Nh?ERO1 %CE%TbRIO1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6
55)5) $ORTR%N $..C))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
55)=) $ORTR%N /O0ER1T%TION 2)3))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
11.2.1. AM+IENTE DO )ORTRAN PO,ERSTATION 4.-.......................................................................................!
11.2.2. PASSOS PARA EDIO DOS PRO(RAMAS...............................................................................................!
11.2.3. OP%ES DE MENU DO )ORTRAN PO,ERSTATION 4.-........................................................................!
12, ANE3OS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6
5=)5) /RO@R%?% EDE?/CO 5))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
5=)=) /RO@R%?% EDE?/CO =))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))T
13, 4I4LIOGRA2IA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6
M A R C O A N T O N I O C L A R E T D E C A S T R O
D E P T O. D E M A T E M T I C A, E S T A T S T I C A
E C I N C I A S D A C O M P U T A O
D E M A T
PROGRAMAO
EM
FORTRAN
S O J O O D E L - R E I
A G O S T O D E 2 0 0 9