Você está na página 1de 10

IntroLingPascal -ZIM.doc - Ver. 1.0a (Beta) Prof.

Dalton Vinicius Kozak 16/02/05 - i -

Program Taylor; var k, n: integer; s, x: real; function Fatorial(n: integer): integer; begin

Fatorial := n*Fatorial(n-1) else

Fatorial := 1; end; function potencia(x,n: real): real; begin potencia := exp(n*ln(x)); end; begin write('Digite numero de termos e o valor x: '); read(n,x); s := 0; readkey; end.
 i P l  I
.    V . .  B t P f. lt Vi ii K //  i 
I t


. OBJEIVO O OCU
ENO

. INRO UÇÃO
2.. A i
  P !"l 
#
2.2. P!"l I $! 
3. RESU$O %A INGUAGE $ PASCA 2
 )
3.. E!t & t & Bá!i" '  (& &  P!"l 2
*  )
3.2. E "t  '  P & & 
) ) P !"l.#I $! 3
+ )  )   )
3.3. i( ! ' %' ! P&é ,' fi i' ! 4

3.4. I' tifi"' & !
) 4
)    
3.-. C !t  t ! V & iá. i! -
3./. C
) tá& i)! /
)  )  0 )
3.7. C  ' ' At & i içã /
 )
3.8. O( &' & ! 7
 
3.9. 1 çõ ! P&é ,' fi i'!
  8
2  )
3. . S í ' ' %' ! 8
 
3.. E t&' ' %' !
) 9
  )
3. 2. E! t &t&! ' S l çã 9
 
3.2.. Alt & ti. Si (l !: if...th
 9

3.2.2. Alt & ti. C
) () !t: if...th...l!  2
 )    2
3.2.3. S l çã $últi( l : "! ... l! 
   )
3.3. E!t &t&! ' R ( tiçã 
) )
3.3.. C t & l'
) I í "i): 3hil ...' ) 
) )
3.3.2. C t & l'
) 1i  l: &( t...til 
3. 3.3. C
) V &iá. l ' C)t&)l : f) &...') 2

3.4. E!t &t&! ' %' ! H
) ) )ê ! 3
)
3. 4.. V t & ! 3
3.4.2. $t &i4 !
 4
)
3.4.3. V t & ! $lti'i
! i) i! -
 )   ) 
3.-. E!t &t&! ' %' ! H t & ê ! -
+ )   ) ) )
3./. i( ! % fi i' ! ( l U!á& i /
3.7. $ó 'l !
) 7
 
3.7.. 1 çõ ! 7
)
3.7.2. P & " 'i
  )
t ! 7
3. 7.3. P !!
 '  P&â t &) ! 8
)
3.7.3.. P & V l &
) 8
)  
3.7.3.2. P & R f &ê "i 
 8
) ) 
3.8. E!" ( ' V&iá. i!
 9
3.9. A &qi. !
) 20
)  t) A!!i
3. 9.. P & " ' i 20
) 
3.9.2. P & " 'i
 ) 
t R ! t
 21
)  t) R 3& it
3.19.3. P & " 'i 21
)  t) A(('
3.19.4. P & " 'i 21
) 
3.19.-. P & " ' i
 )
t Cl !
)  21
) 
3.19./. P & " 'i
 ) 
t ! 3& it l
  
& 'l 21
4. CONC USÃO 2
4.1. C
) 
tá &i 1i l
)  2
) ) )
4.2. C (il ' & ! G &t it ! 2

P&
)& çã) , +*t) I t &) 'tó &i) I t &) 'çã) à i   P !"l

I t i P l I . V . 1.0a B ta) P f. alt Vi i i K ak 16/02/05


i

i a 1. Vi ã a i t face Pascal I ! 2
i a 2. Est t a ásica e ama Pascal 2
i a 3. E empl e m programa Pascal 2
igura 4. Blocos em um programa Pascal 3
igura 5. Primeiro programa o Pascal I !: o tradicional "Alô, undo!" 3
igura 6. ensagem de erro sintático do compilador 4
igura 7. Programa com áreas de declaração para constantes e ariá eis 6
igura 8. Programa com múltiplas atri uições 7
igura 9. Programa com concatenação de strings 8
igura 10. Programa com comandos de saída 8
igura 1. Programa com comandos de saída formatada 9
igura 12. Programa com comandos de entrada e saída 9
igura 13. Programa com alternati a composta if...then...else 10
igura 14. Programa com comando de seleção múltipla case...of 1
higura 15. Programa utili ando comando hile...do 12
higura 16. Programa utili ando comando repeat...until 12
higura 17. Programa utili ando comando for...do 13
higura 18. Programa utili ando etores 14
higura 19. Programa utili ando matri es 15
higura 20. Programa utili ando registro 16
higura 21. Programa utili ando função 17
higura 2. Programa utili ando procedimento 18
higura 23. Programa utili ando procedimento com passagem de parâmetro
19
por referência
higura 24. E emplo de escopo e isi ilidade de ariá eis 20
higura 25. Programa utili ando procedimentos de acesso a arqui os 2
abela 1. ipos de dados pré definidos do Pascal I ! 4
abela 2. E emplos de identificadores na linguagem Pascal 5

Programação exto Introdutório Introdução à inguagem Pascal

IntroLingPascal I .doc Ver. 1.0a Prof. alton Vinicius Kozak 16/02/05 1

Apresentar um ambiente para aprendizado de programação baseado na linguagem Pascal,


5
bem como um resumo desta linguagem. rata-se de um material de apoio para à disciplina de
Algoritmos: o leitor já deverá estar iniciado nas técnicas de construção de algoritmos e ter
6
noções de português estruturado ou portugol).
NÃO é objetivo apresentar a última palavra em ambiente de programação1 , e sim utilizar um
7 6
soft are tipo freeware acessível a todos!) com recursos suficientes e amigáveis para o objetivo
principal, que é propiciar ao iniciante dar seus primeiros passos em programação.
5
2. IN RO8UÇÃO
2.1. A Linguagem Pascal
A linguagem Pascal foi desenvolvida no início dos anos 70 por Nicklaus Wirth na Universidade
5
écnica de 9urique, Suíça, com o objetivo de oferecer uma linguagem para o ensino de
programação que fosse simples, coerente e capaz de incentivar a confecção de programas
5 5
claros e 1. OBJE IVO 8O 8OCU:EN O
facilmente legíveis, favorecendo a utilização de boas técnicas de programação. Ela foi batizada
com o nome de Pascal em homenagem a Blaise Pascal, filósofo e matemático francês que
viveu entre 1623 e 1662, inventor da primeira calculadora mecânica.
O mais famoso compilador desta linguagem foi desenvolvido pela Borland International em
5
1983, e foi denominado urbo Pascal. horam lançadas várias versões deste compilador para
ambiente 8OS, culminando com o lançamento do 8elphi2 para programação em ambiente
6
Windows. No :useum da Borland http://communit;.borland.com/museum/) é possível obter
5
versões antigas do urbo Pascal gratuitamente.
2.2. Pascal 9I:!
O compilador Pascal 9I:! foi desenvolvido no 8epartamento de Ciências da Computação da
Universidade de Brasília como resultado de pesquisas e trabalhos na área de algoritmos,
tradutores e linguagens de programação. É do tipo freeware3 .

< <
1 Se voc fosse aprender a pilotar, voc ac=a >ue deveria iniciar num Boeing ?, ou num
planador ou mono-motor? É por
2 Ambiente de desenvolvimento
B
visual
<
baseado no @bject Pascal (Pascal orientado a objetos).
Ao Museum da Borland = o por>u deste nome.
C Distribui DEo gratuita, nEo podendo ser comercializado.
F G
ProgramaDEo - Texto Introdut rio IntroduDEo Linguagem Pascal

IntroLingPascal
H -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 2 -
Figura 1. Vis oJda interface do Pascal
I L ZIM!. J
K
Pascal ZIM! adotado na uela J
MH
niversidade como ferramenta deNapoio ao ensino e aprendizagem de programaI o atrav s da ling uagem Pascal.OEste compilador implementa um N
M K K M
subconjunto desta linguagem e cont m as estruturas de dados, fun es e comandos mais utilizados por iniciantes. ar uivo de ajuda ue acompan a o produto especifica as instru es
suportadas. Este compilador podeOser obtido no site do PascalZIM!:
O
Ittp://pascalzim.tripod.com/index. tml P Q H R O
aspecto da interface
H deste compilador pode ser visto na Figura 1. otar a facilidade de se poder manter v rios programas ab ertos simultaneamente (nesta figura s o tr s, um por fic a, com
o nome
K
S T LnoI padr o nome_ar
PUL U uivo.pas) V
S . ES M DAQ LI A EM PAS AL P J Q S
.1. Estrutura
P B sica de um programa Pascal a Figura 2 mostrada a estrutura b sica de um programa Pascal, exemplificado na Figura .
program N omeprograma;
M
Declara es begin comandos end.
Q
Figura 2.VEstrutura b sica de um programa Pascal.
program S onstante; const a = 5; begin writeln('Valor de a: ', a); end.
Figura . Exemplo de
Qum programa Pascal.
P H MN J Q Q
o HPascal padr o, a rea de declara es subdividida em sete sub - reas: uses, label, const, type, var, procedure e function. Algumas destas sub - reas (as suportadas pelo Pascal ZIM!)
ser o abordadas mais adiante.
W
MH
Programa o - Texto Introdut rio Introdu o
MH XLinguagem Pascal

S K
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - - program Qual uer;
MN
DeclaraY es begin comandos begin comandos end; comandos end.
Figura
I . Blocos em um programa J Pascal. Q
programa propriamente dito
K J
escrito na rea denominada corpo do pro grama, ue delimitada pelas palavras reservadas begin (início) e end (fim), seguida
I
do ponto H(.). uso destas
K J O MH M
palavras caracteriza o ue c Yamado de bloco de comando, sendo os blocos internos ao programa (usados nas estruturas de cont role, como as de sele o e de repeti o) finalizados com
ponto-e-vírgula
S (;) - ver Figura .
I.2. Executando um Programa MH
no Pascal.ZIM!
procedimento
J de execu o de um programa no H Z Z I N H
Pascal ZIM! bastante N simples. Basta digitar o programa e clicar o bot o Executar , conforme mostradoQna Figura 5. utros bot es relevantes - Salvar e Ajuda - s o indicados. Para saber
K K
sobre os outros bot es, basta passar o cursor do mouse sobre eles ue uma pe uena janela amarela ser aberta indicando seu us o (figura ao lado).
Salvar ExecutarExecutar Ajuda
[ \ [
Figura 5. Primeiro programa no Pascal ZIM!: o tradicional Al , Mundo! . ] ^ _
Para o programa poder ser executado, ele deve estar sintaticamentea correto (tudo escrito conforme a sintaxe da linguagem Pasc al). aso isto n o ocorra, o compilador ir emitir uma
` `
mensagem avisando sobre os eventuais erros, indicando em ue lin a ocorreram e ual a natureza do erro. A Figura 6 mostra um exemplo disso para o primeiro programa (Figura 5), onde foi
`
es uecido de se colocar um ponto
b^ c -e-vírgula
b^ d
ao final do comando write: a sintaxe do Pascal exige um ponto -e-vírgula como terminador de comandos
Programa o - Texto Introdut rio Introdu o Linguagem Pascal

e
IntroLingPascal -ZIM.doc - Ver. 1.0a _ Prof. Dalton Vinicius Kozak 16/02/05 - -
Figura
f f 6. Mensagem deg erro sint tico do compilador.
h. . Tipos de Dados Pr -definidos
s tipos de dados^ predefinidos na linguagem Pascal, e implementados g no compilador _ c _ f
`
Pascal ZIM!,^s o mostrados na Tabela 1. A linguagem Pascal tamb m permite ue o usu rio defina seus pr pri os tipos. Isto ser visto mais adiante (item .16).
Tipo Descri o
b
c ij j b c
Boolean Define dois valores l gicos: FALSE e T E. m dadokdo tipo booleano ocupa
]a ] um byte de espa o na mem ria. c l j a
ar Define os elementos
`
b c do conjunto de caracteres ue comp em o alfabeto AS II, adicionados dos caracteres representados pelos c digos de 12 a 255. m dado do tipo c ar ocupa um
byte de espa o na mem ria. em elf em g
Integer Define
em elf em j os valores inteiros compreendidos no intervalo de -2.1 . .6 c at
2.1 .
` b
.6 . m dado do tipo intege r ocupa uatro bytes de espa o na mem ria.
i
eal fe fl g f e fl j c
`
Define os valores reais definidos no intervalo dea . ·10- at^ . ·10+ a. m dado do tipo real ocupa uatro bytes gde espa o na mem ria.
b
String Define uma cadeia de caracteres. Se nen cuma j
b ` n g
restri o de taman o for especificada, um dadoa do tipo string capaz de a rmazenar uma se ü ncia contendoa at 255 caracteres,
b o onde
cada
_ caracter ocupa um byte de espa o na mem ria. mabcadeia ^ de caracteres pode ter seu a taman o definido
c (contendo menos de 255 caracteres), onde o taman o especifica o n mero
m ximo de caracteres contidos g na cadeia. Essa especifica o deve ser indicada entre colc etes, logo ap s a palavra reservada string,
Tabela 1.f Tipos
p ] de dados pr -definidos
_ ^ do Pascal ZIM! bk `
f oe item .5 onstantes e Vari veis s o apresentados alguns exemplos de declara es e usos ue ilustram os tipos acima abordad os.
j . . Identificadores _ g` ` n d
m identificador v lido na linguagemgPascal ual uer se o
` ü ncia de caracteres
` b
ue obede a s seguintes regras:
o
‡ seja iniciada por um caractere
c alfab ticob^(letras
d a,...,z, min sculas ou mai sculas) ;
b^
Programa o - Texto Introdut rio Introdu o Linguagem Pascal
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 5 -
g q
num ricos (1, 2,..., , 0) ou o caractere ;
c ` n ` g ^
‡ possuir, ap s o primeiro caractere,
_ uma se ü nciakde caracteres ue podem ser alfab ticos, ‡ n o seja uma palavra reservada da linguagem Pascal.
b
Identificadores nomeiam
_ vari veis, constantes,
p h _ fun es e procedimentos. Alguns exemplos podem ser vistos na Tabela 2.
Identificadores
p v lidos Identificadores à v lidos
A otafP1 Meu_Identificador
1A E(1 ) A:B Meu Identificador
f ] 2. Exemplos de_identificadores na li nguagem Pascal.
Tabela
].5. onstantes e_Vari veis ^ _ bkes, logo apcs as palavras const e var, respectivamente. A constante assume o tipo do valor a ela atribuído (imut_vel: n^o pode ser
onstantes e vari veis s o definidas na rea de declara _
` b^ `
alterado ao longo do programa), en uanto a vari vel tem o seu tipo definido na declara o e pode ter seu valor alterado uando for conveniente. As respectivas declara es s o :
bk ^ e
const identificador
p = valor;[...;identificador
g g = valor;] var identificador[,...,identificador]:
_ tipo; f
b^
a declara o acima, tipo um tipo pr -definido (Tabela 1) ou definido pelo usu rio (item .16). Exemplos:
a = 2; { define uma constante inteira }
w = 1.25; { define uma constante real }
sim = 'S'; { define uma constante caractere }
ij c r g _ f _
const teste = T E; { define _ umac constante l gica a } nome = ' os '; { define
_ uma constante string } var i, j: integer;
l { declara 2 vari veis inteiras
l } x, y, z: real; { declara vari veis reais } flag:
boolean; m{ declara uma vari vel l gica } letra: c ar; { declara _ uma vari vel caractere } nome_comleto: string[ 0]; { declara uma string com 0 caracteres }
A Figura
e] a mostra um exemplo de programa
^ ` utilizando vari veis e constantes.
g
olc etes^ ([ e ]) sempre indicar
` b^ b^ a [ a [
b c o ue ab^uilo d por eles delimitado opcional. Exce o se faz na defini o de vetores/matriz es, onde os colc etes delimitam o taman o destas estruturas.
Programa o - Texto Introdut rio Introdu o Linguagem Pascal

] b^ f e q b^
IntroLingPascal
_ i -ZIM.doc - Ver.i1.0a Prof. Dalton Viniciusi Kozak 16/02/05 - 6 - program i Area
i irculo; const {Área de declara o de constantes} PI = .1 15 ; var {Área de declara o de
vari j
i veis} h: real; begin
]hp write('
h aio i do círculo: '); read( ); writeln('Área do círculo: ',PI* * ); end.
ES LTAD
m (TELA _S LE) aio dobcírculo:
^ 5 [enter] _
Figura
f ] . Programa
_ com reas de declara o para constantes e vari veis.
].6. oment
_ rios
^ c h _ ` `
oment rios s o ^textos escritos dentro do
^ programa (c digo -fonte) para explicar ou a descrever alguns aspectos relativos ao mesmo. s coment rios podem ser colocados em ual uer lugar
do programa, e n o fazem parte dele. S o colocados entre os símbolos ³{³ e ³} ³ (c aves) ou ³(*´ e ³*)´. Exemplos:
m g _ ^ _ b^ _
A mFigura
f ] tamb m mostra um programa com coment rios explicando onde s o as sub - reas de declara o de constantes e de vari veis.
b^o
h. . omando de Atribuib^ _ h b^ g[ [ g
comando de atribui ^o simplesmente define o valor de uma vari vel. ^ símbolo de atribui o no Pascal := , e a sintaxe a seguinte: l
identificador := express o; onde
c o identificador e o resultado da express o devem ser de tipos compatíveis. Exemplos p odem ser vistos na Figura .
b^ b^ d
Programa o - Texto Introdut rio Introdu o Linguagem Pascal
s
IntroLingPascal t -ZIM.doc - Ver. 1.0a Prof. t Dalton Vinicius Kozak 16/02/05 - - program Atribuicao; var
A, B: integer;
u , D: real; T,vF: boolean; adeia: string;
wx
Figura
y u z . Programa com my ltiplas atribui es. x
. . peradores { AzTabela resume os operadores { do|PascalZIM! xutilizados nos diversos tipos de }express es.
w w} ~ } ~ } w}
Tipo Preced
 ncia perador Símbolo 0 par nteses ( ) eral 0 fun es f(x) 1 Multiplica o * 1 Divis o eal / 1 Divis o Inteira ( truncada ) div 1 esto da Divis o Inteira mod 2 Subtra o -
Aritm }tico y
w €
2 Adi o + Maior ue >
y €
y Menor ue <
y Maior ou igual >= y
~ Menor ou igual <= Igual =
y elacional  ‚}
ƒDiferente <> o not 5 e and
L gico (boolean) y z
6
‚ ou or Tabela
} „… . peradores do Pascal ZIM!. 
€ w} w} w} w} ‚ wx
otar ue no o operador} de potencia o. Esta opera o deve ser€implementada atrav s de uma fun o utilizando a seguinte r ela o: xy = ey·ln(x) . a linguagem Pascal, as fun es
exp(x) (isto , ex) e ln(x) s o definidas. Para calcular x2 , pode usar s r(x). Para x1/2
€
existe s rt(x).
w} € w} … †
Existe um operador „ utilizado com o tipo string, denominado operador de concatena o, (símbolo +) ue efetua a jun o de duas vari veis ou constantes do tipo string. A Figura mostra um
programa onde ouve a concatena
w}o de strings.
w} ƒ w} ‡
Programa o - Texto Introdut rio Introdu o Linguagem Pascal u t ‚ ‚ ‚ t y
IntroLingPascal -ZIM.doc ~ - Ver. 1.0a Prof. ‚ Dalton Vinicius Kozak
~ 16/02/05 - ‚- program oncatena; ‚ tvar Pre ome, Sobre ‚ ome, ome
‚ ompleto:‚string[t 0]; begin
{ Seja
~ ˆ o nomez Alberto ~ oberto Silva } Pre ome := 'Alberto oberto '; Sobre ome := 'Silva'; ome ompleto := Pre ome + Sobre ome; writeln( ome ompleto); end.
ES LTAD† Alberto oberto Silva }
w
Figura
y † . Programa
 com concatena o de strings.
wx
z. . Fun es Pr -definidas wx t„ t
compilador Pascal
„ z ZIM! z implementa ~ as seguintes
~ fun
~ es: Abs, ArcTan, r, os, Eof, ˆ ƒ
€ € w} ‰
Exp, Ln, Lengt , dd, rd, Pred, andom, eadkey, ound, Sin, S r, S rt, Succ, Trunc, pcase. A fun o elp (t picos de ajuda) do compilador fornece a descri o destas fun es.
w} wx
y
ˆ.10. Saída de Dados
tilizam-se os}comandos write } e writeln, conforme } a sintaxe abaixo:
}
write(express o[,...,express o]);  € writeln(express o[,...,express o]); ƒ „
w
A diferen a entre um e outro ueo segundo comando faz o cursor passar para a pr xima lin a. A Figura 10 ilustra o uso destes comandos.
s
program
~ ˆ Escreva;
z const
 a = 5;
y b = ; c = ; begin write(a,' e '); writeln(b); write('b - c = ', b - c); writeln(' e b + c = ', b + c); end.
ES LTAD 5 e b - c = - e b + c = 1
Figura 10. Programavcom comandos de saída.
Em se tratando de n meros,
„…
a possibilidade da saída formatada,
€ue define o taman„o total do campo numrico (incluindo o p onto), bem como a €uantidade de casas decimais. z
w} v ‚ w} „  „
programa} da Figura 1 ilustra como apode ser feita formata o da saída para n meros. este programa, a fun o dos colc etes unicamente par a indicar o taman o do campo. A sintaxe da
formata o :
w
„
indentificador:taman o_do_campo:casas_decimais
ƒ
w} w} ‡
Programa o - Texto Introdut rio Introdu o Linguagem Pascal

†
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - -
Program SaidaFormatada;

a=[ 12. ]
y
a=[ 12. 1]
y
b=[ ]
Figura 1. Programa com comandos de saída formatada .
y
ˆ.1. Entrada de Dados
tilizam-se os comandos read e readln, conforme a sintaxe abaixo:
w
A diferen a entre um e outro
€ue o segundo comando obriga €ue a prƒxima leitura de dados seja feita na lin„a seguinte5 . z programa mostrado na Figura 12 sƒ funcionar… se, apƒs
 € ƒ „
fornecido o primeiro valor ( ), for pressionada a tecla enter , ue obriga o cursor a passar para a pr xima lin a, onde o segundo valor „ (5) deve ser digitado.
program Leia; var a,b,x,y: integer; begin writeln('Digite x e y:'); read(x); read(y); writeln('Valores: x=',x,' e y=',y); writeln; { Pula 1 lin a } writeln('Digite a e b:'); read(a,b); writeln('Valores: a=',a
,' e
b=',b); end. 
Digite x e y: [enter]
5 [enter] Valores:
s u x= e y=5
Digite a e b:s [enter]
u
Valores: a= e b=
Figura 12. Programa com}comandos de entrada e saída.
y w
y.12. Estruturas de Sele o „ 
.12.1. Alternativa Simples:
 „ if...t en A sintaxe „
5 Esta característica mel
€
or visível na leitura a partir de ar uivos. Se for utilizado o comando read, os dados lidos podem ser digitados na mesma lin a; com o readln, cada dado deve estar
„
em uma lin} a. ƒ } ‡
w w
Programa o - Texto Introdut rio Introdu o Linguagem Pascal } „
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 10 - if express o t en bloco_verdade;
} ƒ „ z …  €
onde express o resulta
y t em um valor „ l gico (true ou false - .V. ou .F.). Exemplo: if (x > 10) t en writeln(' valor da vari vel X maior ue 10');
.12.2. Alternativa
 omposta:
} „ if...t en...else } ƒ
A
‚ sintaxe if
y express o t en bloco_verdade else bloco_f alsidade; onde express o resulta em um valor l gico (true ou false - .V. ou .F.).
a Figura 1
€ w} € w}
possível ver um programa onde este tipo de comando utilizado. Trata-se do programa ue analisa a natureza da solu o de uma e ua o de 2o grau na forma ax2 + bx + c =
0. ‚ € | |‚ tz ‚}  € w}
€ w} „
Program atE uacao2 rau; var a,b,c,D: real; begin write('Digite os coeficientes da e ua o (a, b e c): '); read(a,b,c); writeln('DIA ÓSTI :'); if (a=0) t en writeln(' o e ua o do 2o.
grau!') else begin „ } „ } } }
D := b*b - *a*c; if (D>0) t en writeln('A
€ w € w € w
… e ua o possui duas raízes
Š distintas.')
Š else if (D=0) t en writeln('A e ua o possui duas raízes iguais.') else writeln('A e ua o n o possui raízes
reais.');
~ ˆ end;zreadkey; {espera o usu rio pressionar uma teclay± Pausa } end.
ES|‚LTAD tz Digite os coeficientes
€ w}
da e ua o (a, b e c): 1 2 [enter]
€ w }
DIA ÓSTI : A e ua o possui duas raízes distintas.
‹ Œ
Figura 1 . Programa com alternativa composta if...t en...else.
‹ ‹ Ž 
.12. . Sele o M ltipla: case...else

A sintaxe Ž ‘
 Ž ’
Programa o - Texto Introdut rio Introdu o Linguagem Pascal
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 1 -
 Ž “
case seletor of lista_de_constantes: bloco; lista_de_constantes: bloco; else bloco; end; onde seletor uma e xpress o do tipo inteiro ou caractere. A Figura 1 mostra um exemplo de
programa utilizando este tipo de sele o.
Ž
” ” ” ‹ Œ Œ •
programΠSelecaoMultipla; var opcao: integer
• ;Œbegin writeln('[ pcao
‹ 1] [ pcao • 2] [ pcao
Π]'); write('Escol a uma opcao: ');
• read(opcao); { escol a da opcao } case‹ opcao of 1: writeln('Voc
escol eu a”
Ž
op o 1...');
Ž Ž ‹ Œ Ž
” ” 2: writeln('Voc
‹ Œ escol eu a op o 2...'); : writeln('Voc escol eu a op o ...'); else writeln('Voc escol eu uma op o diferente de 1, 2, ...'); end; end.
Ž ‹
[ pcao 1] [ pcao 2] [ pcao ] Escol a uma op o: [enter]
• Œ Ž ‹
Voc escol eu a op o
“ Ž 
Figura
‹ ‹ 1 . Programa–com comando
Ž de sele o m ltipla case...of.
‹.1‹. Estruturas
— de epeti o Œ
.1 .1. ontrolada
 Œ no Início: w ile...do
Ž
A sintaxe w ile condi odo bloco;
” Ž
programa da Figura 15 um‘exemplo de um programa  utilizando
Ž esta estrutura de repeti o.
Este
‹ ‹ — programa calcula o somat rio de todos os n meros n o nulos fornecidos; o zero utilizado para encerrar o conjunto.
.1 .2. ontrolada
 no Final: repeat...untilŽ
A sintaxe repeat comandos

”  until condi o; Ž ˜  ˜ ˜ ™
programa Ž da Figura 16 um ‘ exemplo de um programa utilizando esta estrutura de repeti o. Este programa calcula o uadrado de cinco n meros uais uer fornecidos pelo usu rio.
 Ž ’
Programa o - Texto Introdut rio Introdu o Linguagem Pascal

˜ Œ
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak  16/02/05 - 12 - program En uanto;™ var x, s: real; begin s:=0; šwriteln('Digite
š os valores (valor+[enter]):'); read(x); w ile (x<>0) do
begin s := s + x; read(x); end; writeln;‹ writeln('A
“ soma dos n meros ',s); readkey; {espera o usu rio pressionar uma tecla ± Pausa } end.
Digite os valores (valor+[enter]):
 ‹ [enter] [enter] 6 [enter] 0 [enter] Œ
A soma dos – n meros 1 .0 Figura 15. Programa utilizando comando w ile...do.
program
– › epita;
” var i: integer; x: real; begin i := 1; repeat write('Entre com x: '); read(x); writeln('x2 = ', x*x); i := +i 1; writeln; until(i>5); end.
ES LTAD Entre com x: 1 [enter]
Figura
‹ ‹ ‹ 16.
— Programa ™ utilizando
— comando repeat...until.
.1 . . om  Vari vel de ontrole: for...do
A sintaxe Žfor contador := ValorInicial
‘ to ValorFinal do bloco; se ValorInicial < ValorFinal, contador aumentando de 1 em 1, ou
 Ž ’
Programa o - Texto Introdut rio Introdu o Linguagem Pascal ‹
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 1 - for contador := ValorInicial downto ValorFinal do bloco;
” œ ‘ ‹  
programa da Figura 1 realiza o somat rio S = 1 + 2 + + + , dado , utilizando este
se ValorInicial > ValorFinal, contador diminuindo de 1 em 1. comando. ‘
program
– › Para; ” var k, n, s: integer; begin write('Digite n: '); readln(n); s := 0; for k := 1 to n do {ou for k := n downto 1do} s := s + k; writeln; writeln('Somat rio: ', S); end.
ES LTAD
‘ Digite n: 5 [enter]
Somat rio:œ 15
Figura
‹ “ 1 . Programa utilizando ž comando
• for...do.
.1 . Estruturas de DadosŒ •omog Ž neas ™ ™
Estruturas
˜
de dados omog neas s o tipos de dados ue permitem agrupar em uma mesma estrutura vari veis do mesmo tipo b sico.
 ˜ Ž 
o caso de vetores, cada elemento possui um índice (unidimensional) ue o diferencia dos outros elementos. A sintaxe da declara o de vetor da forma:
Œ
var identificador[,..,identificador]: array[1..taman o] of tipo_var;
” Ÿ ‘ ‘ 
programa da Figura 1 permite ‘ a entrada de nomes e idades, e logo ap s imprime todos os nomes e idades contidos na mem ria atrav s do uso de vetores.
Ž Ž ’
Programa o - Texto Introdut rio Introdu o Linguagem Pascal “ ‹ ™
IntroLingPascal -ZIM.doc - Ver.‹1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 1 - program ExemploVetor; const
  MAX = ; { Quantidade m xima de nomes/idades a serem
 lidos } var
ome: array[1..MAX] of string[ 0]; Idade: array[1.. MAX] of integer; i: integer; begin i := 1; repeat {repete at terminar a lista de nomes/idades} write(' ome:  '); read(
 ome[i]); { entrada de um
nome } write('Idade: '); š read(Idade[i]);
š { entrada de uma idade } i := i + 1; until (i>MAX); writeln('
-------------------------------
'); for i := 1 to MAX do begin write(' ome: ', ome[i]); writeln(' - Idade:
',Idade[i]);
– › readkey;
” { Pausa : faz o programa ‹ imprimir um nome por vez} end; end.
ES LTAD ome: Zeca [enter] Idade: [enter]
ome: “‹
Paulo [enter]
Idade:
 [enter]
ome: Maria
  [enter]
Idade: 1 [enter]
 “‹
ome: Paulo - Idade:   [enter]
ome: Maria
Ÿ - Idade: 1
Figura1 . ŽPrograma utilizando vetores. ™ ™
˜ ˜
Tamb m s o tipos de dados ue permitem agrupar emŽuma mesmaestrutura vari veis do mesmo tipo b sico , sendo ue cada elemento possui agora dois índices (bidimensional) ue o
˜

diferencia dos outros elementos. A sintaxe da declara o da matriz da forma:
var ident[,..,ident]: array[1..tam1,1..tam2] of tipo_var;
  Œ
onde ident o identificador
”   da matriz, e tam1 e tam2 correspondem ao n mero de lin as e de colunas˜dela, respectivamente.
programa da Figura 1 apresenta’ um exemplo ¡ do uso de matrizes. Este programa gera uma matriz uadrada onde a diagonal princ ipal vale um, e os valores das diagonais adjacentes
crescem em valores proporcionais‘ dist ncia da diagonal principal.
Ž Ž ’
Programa o - Texto Introdut rio Introdu o Linguagem Pascal

  ™ ˜
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 15 - program ExemploMatriz; const MAX = ; {M xima ordem da matriz uadrada} var
M: array[1..MAX,1..MAX] of integer; i,j,n: integer; begin write('Digite a ordem da matriz: '); read(n); for Œi:=1 to n do forj:=1 to n do
M[i,j]:=
– › abs(i-j)+1;
” writeln('Matriz: '); fori :=
“ 1 to n do begin for j:=1 to n do write(M[i,j]:2); {define taman o do campo em 2} writeln; end; end.
ES LTAD  Digite a ordem da matriz: [enter]
Figura
‹ “ ‹ 1 . Programa utilizando matrizes.
›.1 . . Vetores
 Multidimensionais  ¢ Ž Ž 
m vetor um vetor unidimensional; uma matriz um vetor bidimensional. Vetores de mais dimens es s o possíveis (como ³tensores´), e a sintaxe da decl ara o :
var ident[,..,ident]: array[1..tam1,..,tamn] of tipo_var;
 Ž  Œ ˜ ¢
Quanto a sua utiliza o, semel
‹ ž ante
• ao de vetores e matrizes, alterando apenas a uantidade de dimens es/índices para ter a cesso a cada elemento.
.15. Estruturas
 de
™ Dados Œeterog neas Ž  Œ • ™
Quando necess rio trabal ar Ž com mais de um tipo de dado em uma me sma estrutura, utilizamos o registro. Por esta raz¢o, este tipo de ™ dado considerado
 eterog neo. As vari veis
constituintes de um registro
Ž ‹
› ™ s o denominadas campos. Em Pascal, os tipos registro devem ser declarados  antes das defini es d as vari veis atrav s da instru o type (visto no item .16
Tipos Definidos pelo su rio) em conjunto com a palavra reservada record (registro). A sintaxe :
type identificador_registro = record <declara
Žo dos campos> end; var identificador_variavel: identificador_registro;
Ž ‘ Ž ’
Programa o - Texto Introdut rio Introdu o Linguagem Pascal –
IntroLingPascal
 -ZIM.doc - Ver.
 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 16 - program Exemplo egistro; type cadastro_aluno = record
ome: string; ota1: real; ota2: real; end; var aluno: cadastro_aluno;
write('Informe o nome : '); read(aluno.nome);
— 
begin writeln('
 adastro de Aluno');
‹ writeln; write('Informe a primeira
‹ nota..: '); read(aluno.nota1); write('Informe a segund
š a nota...:
š '); read(aluno.nota2); writeln; writeln(' ome...: ',aluno.nome);
writeln('
– › ota”1.: — ',aluno.nota1: :1); writeln(' ota 2.: ',aluno.nota2: :1); writeln('Tecle [enter] para encerrar...'); readln; { Pausa } end.
ES LTAD adastro de Aluno
Informe o nome : Pedro [enter]
“
Informe a primeira nota..: 6. Ÿ ‹[enter]
Informe a segunda nota...: . [enter]
Tecle [enter] para encerrar
  “ Ÿ‹
ome...: Pedro ota 1.: 6. ota 2.: . Figura 20. Programa utilizando registro.
£ ¤
:.16. Tipos Definidos pelo su rio ¦
¥ § ¨ ¤
¥o item :.15 Estruturas de Dados eterog neas utilizamos¤ a palavra
¤ reservadaªtype para definirmos o tipo registro, para depois ent o definir uma vari vel registro.
©
a verdade, a palavra reservada type define uma sub - rea na rea ¤ de declara es (rever « ¤ ¤
Figura 2) onde novos tipos de dados
©¨
¤ podem ser criados
©¨
pelo¤usu rio. A palavra reservada
¬ type deve aparecer uma nica vez dentro da rea da declara o de dados, e a sub - rea por ela
definida deve estar antes da sub- rea de declara o de vari veis (var). A sintaxe :
type identificador_tipo = defini
©¨o_novo_tipo; onde defini©¨o_novo_tipo ¬ um dos tipos estruturados vetor (multidemensional), registro, ponteiro ou outro tipo de dados simples. Exemplos
©¨ ­ ©¨ ®
Programa o - Texto Introdut rio Introdu o Linguagem Pascal

¯ ° °
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton¨ Vinicius Kozak 16/02/05 - 1 - type intList = array[1..100] of integer ; matrix = array[0.. , 0.. ] of real ; pInt = integer; { ponteiro para inteiro }
£ ©¨ ¬ ± ¤ ©¨o vistas.
£ma fun©¨o um bloco de programa no ual s¤o v lidas todas as regras de programa ±ue ¬ utilizado exatamente no ponto onde a fu n©¨o ¬ c²amada no bloco de origem. ³ valor de retorno pode
ma fun¬ o sempre
­ retorna um valor (ao contr
¬ rio da procedure, vista a seguir),
ser num ªrico, l gico ou literal. Sua sintaxe
©
Declara es begin
´
omandos end;
A Figura 21 mostra um exemplo do uso de uma fun
©¨
¦ o.
Program ExemploFuncao; var a, b: real; function ipotenusa(x:real; y:real):real;
¦Begin ² ¬ ¦ ¤
±
µ ipotenusa
µ := s rt(x*x + y*y); End; begin write('Digite os valores dos catetos: '); read(a,b); writeln('A ipotenusa ', ipotenusa(a,b):5:2); readkey; {espera o usu rio pressionar uma tecla ±
¶Pausa£ } end. ³ ·
ES
² LTAD ¬Digite os valores dos catetos: : [enter]
A ipotenusa 5.0
Figura 21. Programa
©¨
utilizando fun o.
© ¤ ©¨ ¬ ¨ ¬
A diferenªa b sica entre um procedimento e uma fun o o fato do procedimento n o possuir valor de retorno. Sua sintaxe :
©
Declara es begin
´
omandos end;
A Figura 2 ¨mostra um exemplo
©¨
© ­ do uso de©um
¨ ®procedimento fun o.
Programa o - Texto Introdut rio Introdu o Linguagem Pascal ¸
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak
´ 16/02/05
¦ -1 -
Program ExemploProcedimento;
² ¬ ±var a, b: real; procedure alcula ipotenusa(x:real; x:real); ´ ¦ ¤
µBegin writeln('A
µ ipotenusa ',s rt(x*x + y*y):5:2); End; begin write('Digite os valores dos catetos: '); read(a,b); alcula ipotenusa(a,b); readkey; {espera o usu rio pressionar uma tecla ±
¶Pausa£ } end. ³ ·
ES
² LTAD ¬Digite os valores dos catetos: : [enter]
A ipotenusa 5.0
Figura 2. Programa utilizando procedimento. ­ ¤
©ª
Tanto
¯ as fun es como os¹ procedimentos devem ser colocados ap s todas as outras sub reas (como type, var e const) e antes do bloco do programa.
:.1 .:. Passagem de Par metros
¥ ¹ ¥
os programas
¨ ²¤ da Figura 21 e Figura 2 a passagem dos par
¹ metros a e b foi realizada por valor: apenas seus valores foram copi ados paras os argumentos x e y, respectivamente. este
caso, n o possibilidade
¬ de se alterar o valor deste
¹ par metros § ¬
Quando o objetivo alterar o valor de algum par metro, a passagem por refer ncia indicado. ³ §
©¨
Para isto, deve ser colocado na frente dos argumentos da fun § o ou procedimento a palavra
¥ ©¨
¹ reservada var. programa ¤ ± da¨Figura¤ 2: exemplifica a passagem por refer ncia. ele, a fun o
incrementa¨altera o valor do argumento
­ n (k
¨ passado
® por refer ncia) por um valor d (par metro passado por valor, j ue n o ser alterado).
© ©
Programa o - Texto Introdut rio Introdu o Linguagem Pascal

°
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius Kozak 16/02/05 - 1 -
Program
¶ £ PassaParametros;
³ var k: integer; procedure incrementa(var n: integer; d: integer); begin n := n + d; end;
ES LTAD k = 1 k = 5 k = 2 ¹ §
Figura
¸ 2:. Programa¤utilizando procedimento com passagem de par met ro por refer ncia.
:.1 . Escopo de Vari veis ¤ ® ¨ ­
A linguagem
© ©ª ¯
¤ ­ Pascal oferece as facilidades¤ necess rias no tocante modulariza o de programas, por meio de procedimentos e fu n es, como visto no item :.1 . Esses m dulos podem ter
vari veis pr prias, ou¨utilizar as¤vari veis declaradas no programa principal.
É possível a declara
© o de vari veis com o mesmo identificador em m­dulos diferentes de mesmo nível (dois m­dulo distintos no mesmo programa), ou em m­dulos anin²ados (um m­dulo
´ ± ¤ ¤ ¤ ¤ ¤ ­
dentro
¨ do outro). onforme® o contexto ¬ em ¨ ue est inserida,¤uma vari vel pode ser considerada ­ uma vari vel local ou um vari vel global.¤ Por exemplo, as vari veis declaradas¨em um m dulo
A s o consideradas locais ® A, porª m s o consideradas vari veis globais aos sub -m dulos contidos em A. Dessa forma, todas as vari veis declaradas no programa principal s o
consideradas globais s suas fun
© es e procedimentos.
¤ ­ ¨ ¨ ­ ¨
Vari ²veis locais com ¤ o mesmo identificador declaradas ­ em m dulos diferentes e no mesmo nível s o invisíveis­umas para¬o outra ¨ s, ou
¨ seja, n o causam conflito. Quando os¤ m dulos est o
anin ados, as vari veis declaradas ­ em cada m¤ dulo podem ser vistas ¤ e/ou utilizadas
³ pelos respectivos sub -m ¤dulos. Por m, n o ser­ o utilizadas se forem declaradas vari veis com o mesmo
identificador em seus sub-m dulos, onde valer somente as vari veis locais. u seja, se forem declaradas vari veis locais em um m dulo A com o mesmo id entificador
±ue as vari¤veis
® ¨ ¤ ± ¤ ­
globais A, valer o as vari veis locais. Diz-se ue a vari vel global deµmesmo
³ µ nome¤torna-se invisível dentro do ¤ m dulo A. ¬ ¤
±
­discutido ¥ acima define o ue se denominam¤ regras de escopo (onde existe a vari ªvel) e visibilidade¤das vari veis,¨ ou seja , at onde asº¤ vari veis podem ser utilizadas e/ou visíveis a outros
© es feitas nas vari veis locais n o afetam as globais. no caso onde um a vari¤vel global ¬ modificada,
m dulos.
­ o caso de
¨ ± existirem vari veis
¤ locais e globais com o« mesmo nome, ¨altera
a pr xima instru
© o ue a acessar ir encontrar o valor dessa ltima atualiza o.
©
©¨ ­ ©¨ ®
Programa o - Texto Introdut rio Introdu o Linguagem Pascal ¤ ¤
IntroLingPascal -ZIM.doc - Ver. 1.0a Prof. Dalton Vinicius
©¨
Kozak¨16/02/05¤- 20 - program A; { declara o de vari veis } var m, n : real; procedure
©¨
´ © ©¨ ¤ B; { declara o de vari veis } var i, j : integer;
begin { corpo do procedimento B } end; procedure ; {´declara o de vari veis } var i, j : integer; k, l : real; procedure D; { declara o de vari veis } var k, l : integer; begin { corpo do
procedimento
¤ D } end; begin { corpo do procedimento ´ ¨} end; begin { corpo do programa principal
¨ } end.
‡ As vari¤veis i e j, declaradas
¨ ¤ nos procedimentos ´ B e , s o invisíveis entre¨si, e portanto n o causam conflito.
‡ As vari veis k e l s o v lidas como reais em¬ . Apesar de serem globais, s o invisíveis a D, pois foram redeclaradas como tipo inteiro. É como se k e l fossem declaradas com outros
identificadores (internamente ao computador, isto
±ue acontece; o compilador trata disso).
¤ ´ ¨ ¤ ¨
‡ As vari· veis i e j declaradas em s o globais a D,¤ assim como as vari veis m e n s o globais a todos os procedimentos.
Figura 2 . Exemplo
³ ­ de escopo e visibilidade de vari veis.
Pascal ZIM! s trabal
²
a com ar
±uivos texto e acesso se±üencial. ³ uso de ar± uivos texto na linguagem Pascal ¬ feito atrav¬s da defini©¨o de um tipo especial, TEXT, ±ue identifica uma
¤ ± ¤ ©¨ ¤
vari vel do tipo ar uivo, definida na sub- rea para declara o de vari veis.¨
³ ±
s °comandos para tratamento de ar uivos implementados no compilador s o descritos a seguir.
:.1
£ .1. Procedimento Assign
¬ ¤ ¤
± ©ª ±
m ar uivo do tipo texto referenciado dentro de um programa por uma vari vel do tipo TEXT. As opera es de leitura e escrita em ar uivo tomam como argumento essa vari vel. Assim,
para ­
©¨ ©¨ ®
Programa o - Texto Introdut rio Introdu o Linguagem Pascal ² ± ©¨ ¤ ¤ ±
IntroLingPascal -ZIM.doc - Ver. 1.0a ¨Prof. Dalton Vinicius Kozak 16/02/05 - 21 - trabal ar com um ar uivo texto deve-se criar uma associa o entre a vari vel TEXT (vari vel ar uivo) e o
±
ar uivo armazenado. Essa associa
© o ¬ feita atrav¬s do comando assign, cuja sintaxe ¬ assign(variavel_ar±uivo, nome_ar±uivo); onde variavel_ar±uivo ¬ uma vari¤vel do tipo TEXT e
nome_ar
±uivo ¬ uma cadeia de caracteres contendo o nome do ar±uivo associado, ou ainda uma vari¤vel do tipo string. Exemplo:
³ ± ¤ ©¨
nome
° do ar uivo externo
¶ pode ser definido por uma vari vel do tipo string, cujo valor pode ser determinado durante a execu o do programa.
:.1 .2. Procedimento eset
³ ¤ ¬
±
comando reset abre um ar uivo j existente, posicionando o cursor de leitura no seu início. A sintaxe :
reset(variavel_ar
±uivo);
° ¶
:.1 .:. Procedimento
³ ¬ ewrite ¤ ¤ ¬
comando rewrite usado para criar um ar uivo
± ±
± ± ¬ do tipo texto
¤ ou, se ele j existir, para apag -lo e criar um novo ar uivo, posicionando o cursor de leitura no seu início. A sintaxe
rewrite(variavel_ar
°· uivo); onde variavelAr uivo uma vari vel do tipo TEXT.
:.1 . . Procedimento
¤ Append ¬ ¬ ¤
Abre
± ± ±
° um ar uivo j existente
´ para escrita no final. A sintaxe append(variavel_ar uivo); onde variavel_ar uivo uma vari vel definida com o tipo TEXT.
:.1 ².5. Procedimento lose ¬ ¬ ¤
± ©ª ± ±
Fec° a um ar uivo, salvando as altera es. A sintaxe close(variavel_ar uivo); onde variavel_ar uivo uma vari vel definida com o tipo TEXT.
:.1 .6. Procedimentos writeln e readln
³ ¥
±
s procedimentos writeln (write) e readln (read) podem ser utilizados para escrita/leitura em ar uivos texto. a Figura 25 pode-se ver um exemplo do uso de todos os procedimentos acima
citados, mais os procedimentos de leitura e escrita.
»¼ ½ »¼ ¾ Linguagem Pascal
Programa o - Texto Introdut rio Introdu o

IntroLingPascal -ZIM.doc - Ver. 1.0a À Prof.


Á Dalton Vinicius
 Kozak 16/02/05 -2 -
¿ ¿
Program AcessoAr uivo; const pat = ' :\temp\TEXT .TXT'; var ar : Text; texto: string;
À
writeln(texto); {Escreve a lin a lida na tela}
¿ À ¿ Á ¿ ¿ ¿ ¿ ¿ À ¿ »Ã ¿
begin assign(ar ,pat ) ; rewrite(ar ); { ria o ar uivo} reset(ar ); {Abre o ar uivo} writeln(ar À ,'Texto inicial'); close(ar ); {Fecà a o ar uivo, salvando as altera es efetuadas}
À append(ar ¿); {AbreÄ
¿
o ar uivo para
¿ ¿ ¿ » ¿ ¿
À adicionar
Å mais texto no seu final} writeln(ar ,'Mais
¿ ¿ Ä texto!')
À ; close(ar ); {Fec a o ar uivo, salvando as altera es efetuadas} reset(ar ); {Abre o ar uivo} w ile not eof(ar ) do { L
¿ ¿
Ætodas as Æ lin as at o final do ar uivo} begin readln(ar ,texto); {L lin a do ar uivo} end; close(ar ); end.
¿
a tela: o ar uivo:
Figura 25. ÈPrograma
¿
utilizando procedimentos de acesso a ar uivos.
Ç ÁÂÆÁ Â
Ç . Á L SÃ
É
Á .1. oment rio Final Å
omo apresentado no início deste
»¼ »¼
»¼ Æ documento, o objetivo do presente material Å apresentar um ambiente onde o iniciante em prog rama o possa dar seus
¿ ¿ Â primeiros passos na constru o e
implementa o de algoritmos. este aspecto, o uso da¼linguagem Pascal bastante ade uado, uma vezÀ ue foi criada originalmen te com este objetivo. compilador sugerido - Pascal ZIM! -
implementa apenas parte dos recursos do Pascal padr o, ma s suficientes para os objetivos deste trabal o. A
¿uele ¿ue ¿uiser ir mais longe e utilizar um compilador Pascal completo pode
É
Çencontr
Á -lo na Internet Ê (item a seguir).
.2. ompiladores
É ratuitos ¼
Existem v riosË compiladores da Àlinguagem Pascal disponíveis gratuitamente
À na Internet. Alguns deles s o:
‡ Free Pascal ( indows/Linux): ½ ttp://w.freepascal.org/download. tml.
» ¼ »¼ ¾
Programa o - Texto Introdut rio Introdu o Linguagem Pascal
IntroLingPascal Ë-ZIM.doc -ÀVer. 1.0a Prof.À Dalton Vinicius Kozak À 16/02/05 - 2: - Ì Í Â À
‡ Dev-Pascal ( indows): À ttp://w.bloods ed.net/devpascal. Åtml. ‡ Borland¼ Turbo-Pascal
Î .01-F (Francesa - D S): ttp://w.inprise.fr/download/compilateurs/.
‡ Virtual
 Pascal
Ë 2.1:Î ttp://w.vpascal.com/. À Este compilador Ì uma vers o com interface ¾
D S para indowsË bastante semelÀ ante ao Turbo -Pascal .0. É bem documentado. Vale pena.
· Projeto
À Î Lazarus ( indows/Linux): ttp://w.lazarus.freepascal.org. É É a tentativa
Å de fazer um
Delp i usando o Free Pascal. Apesar de ainda estar num est gio beta , no mínimo interessante.
»¼o resumida dos softwares acima (e outros) podem ser encontrada no seguinte site: Àttp://w.tÀefreecountry.com/compil ers/pascal.sÀtml
A descri
Í Í ÆÁ
5. ÊEFE Ê IAS Ê Á
»¼ Ï
1. ottfried, B. S.: Programa o em Pascal. Editora Mc raw- ill de Portugal Ltda, Lisboa, 1
ÐÑÑ »¼
. 2. Fun o Ajuda do ompilador Pascal ZIM!.