Você está na página 1de 11

LINGUAGEM PASCAL

Prefcio

Este curso destina-se a todos aqueles que desejam aprender a linguagem


Pascal, atravs do seu mais famoso compilador para a linha IBM/PC, o
Turbo Pascal. O Turbo Pascal muito mais que um compilador, pois ele
uma associao
entre um compilador, um editor de textos e um
linkeditor. Desta forma, o Turbo Pascal facilita sobre-maneira o ato de
programar. Alm de tudo isto, o Turbo permite muitas facilidades e
atividades que, com certeza, no estavam planejadas por Niklaus Wirth,
o criador da linguagem Pascal. Levando-se em conta todas
essas
consideraes, podemos at mesmo dizer que o Turbo Pascal seria uma
nova linguagem, mais poderosa que a Pascal.
Gostaria de salientar que a melhor forma de aprender uma linguagem
programando, assim como a melhor forma de aprender a dirigir entrar
num automvel e sair com ele por a, ou seja, o simples fato de ler
este pequeno e simples curso de linguagem Pascal, no basta para
aprender a programar em Pascal.
Por fim, estou a disposio de todos, que se aventurem a acompanhar
este curso, para tirar dvidas, assim como para receber crticas.

I - Introduo

I.1 - A linguagem Pascal


-----------------Considero que a programao deve ser entendida como uma arte ou tcnica
de se construir algoritmos, sendo que estes so mtodos ou "receitas"
para se resolver problemas. Existem diversas linguagens para se
programar, umas mais adequadas a certos tipos de algoritmos, outras a
outros tipos. No entanto, uma linguagem de programao no deve ser um
fim em si mesma, mas um meio, uma ferramenta para se traduzir os
algoritmos em programas a serem executados por computadores. Desta
forma, importante que os cursos de programao no tenham como
objetivo
primordial, a perfeio
do conhecimento de uma linguagem
especfica. A linguagem deve to somente, refletir de maneira clara e
facilmente compreensvel os aspectos principais dos algoritmos.
Por tudo isso, devemos ter a preocupao de ensinarmos aos estudantes a
formulao sistemtica e metdica de algoritmos, atravs de tcnicas
que so caractersticas da programao.
Como j disse, existem diversas linguagens de programao, podemos
aprender e utilizar quantas desejarmos. Dizer qual a melhor muito
relativo. H os que defendem o Basic, o Cobol, a C, o Pascal e tantas
outras. Bom, mas a pergunta crucial que fao aqui : Qual a primeira
linguagem a ser aprendida? Neste ponto, defendo a linguagem Pascal.

De acordo com observaes feitas por diversos professores, inclusive


por mim, a maior parte das pessoas ficam ligadas para sempre primeira
linguagem que aprenderam, e quando aprendem uma nova linguagem, tm uma
certa tendncia em desenvolver os algoritmos segundo o vocabulrio e
regras sintticas da primeira linguagem, s que escritas na nova.
Por este
motivo, acho
que a escolha da primeira linguagem a ser
ensinada deve ser feita de forma judiciosa.
A primeira linguagem deve, desta forma, ser tal que fornea ao aprendiz
a possibilidade
de desenvolver
algoritmos lgicos, sistemticos,
facilmente compreensveis segundo os mtodos modernos de programao
e deve at possibilit-lo a "dar asas sua imaginao".
I.2 - Por que Turbo Pascal?
--------------------Um computador no pode entender nem to pouco executar instrues em
linguagens de alto nvel. Ele s entende linguagem de mquina. Desta
forma, os programas em linguagens de alto nvel devem ser traduzidos
antes de serem executados pelo computador. Quem faz essa traduo so
os programas tradutores.
Existem basicamente 2 tipos de programa tradutor: o interpretador; e o
compilador;. Os dois aceitam como entrada um programa em linguagem de
alto nvel (fonte) e produzem como sada um programa em linguagem de
mquina (objeto). A diferena entre eles est na forma de executar a
tarefa de traduo. O interpretador traduz para a linguagem de mquina
e roda uma linha por vez, at que todo programa seja executado. J o
compilador traduz para a linguagem de mquina todo o programa fonte e
s ento ele executado.
Existem linguagens de programao interpretadas e compiladas. O cobol
compilado, o basic pode ser tanto compilado como interpredado e assim
por diante. A linguagem Pascal tradiconalmente compilada.
Por outro lado, o processo de compilao
deve seguir as seguintes etapas:
1-) Devemos utilizar um editor de
disco o nosso programa fonte.

textos

de certa forma moroso, pois


para escrever e armazenar em

2-) Utilizar um compilador


para traduzir
programa em linguagem de mquina.
3-) Finalmente,
devemos
rotinas
necessrias
biblioteca.

o programa fonte para um

juntar
ao programa compilado as diversas
que, normalmente, ficam armazenadas numa

Aps todo esse processo, suponha que voc chegue concluso de que o
programa tenha que sofrer modicaes, pois bem, voc ter que repetir
os trs passos descritos, e assim sucessivamente at que o programa
fique ao seu gosto.
O compilador Turbo Pascal facilita todo esse processo, pois ele possui
numa forma integrada, um editor de textos compatvel com o Wordstar,
um compilador e um linkeditor. O processo de compilao pode ser feito

tanto em disco como em memria, o que faz com que ele seja muito
rpido. Alm disso, o Turbo Pascal atende aos padres da linguagem
Pascal definidos por Niklaus Wirth, "o pai da linguagem".
Na realidade, o Turbo Pascal vai muito alm, pois ele possui inmeras
procedures e funes a mais do que as existentes no padro da linguagem
Pascal.
I.3 - Equipamento necessrio.
---------------------Todos os exemplos e programas contidos neste curso, foram escritos num
compatvel 486DX 50 com dois acionadores de discos de dupla face e
alta densidade, um winchester de 340 megabytes,um monitor monocromtico
e 640 Kbytes de memria RAM. No entanto, a configurao mnima poderia
ser um IBM/PC-XT com um winchester de 40M.

II - Um programa em Pascal

II.1 - O primeiro programa


------------------Bom, acho que aqueles que nunca tiveram a oportunidade de fazer um
programa em Pascal, devem estar muito curiosos para saber como deve ser
o seu aspecto.
Por isso, antes de prosseguir com os meandros da
linguagem
Pascal, eu mostrarei um pequeno programa
devidamente
comentado.
{********************************************************
PROGRAMA EXEMPLO.PAS -> Pequeno exemplo de um programa
em Pascal. Tem a
finalidade
nica e exclusiva de
mostrar
os diversos componentes de um
programa em Pascal.
********************************************************}
{ Tudo que estiver entre chaves so comentrios e no so
levados em conta pelo compilador.}
Program Primeiro_Exemplo; { este e o cabecalho do
programa }
USES Crt; { Aqui estou utilizando uma UNIT, chamada CRT,
existem vrias, e inclusive vc pode criar
as suas. Nestas units temos procedures e
functions previamente compiladas. }
Label
fim;

{ a partir deste instante posso


utilizar o label fim }

Const

Type

Meu_Nome = 'Thelmo'; { nesta rea podemos definir todas


as constantes que quisermos
utilizar no programa }

n = (BRASILEIRA,PORTUGUESA,INGLESA,FRANCESA,ALEMA,AMERICANA);
{ o Turbo Pascal possui diversos tipos de
definidas, mas tambm permite definir
subrea type }
Var idade
altura
nome
sexo
nacionalidade

:
:
:
:
:

variveis prenovos tipos na

integer;
real;
string[30];
char;
n;

{ todas as variveis que forem utilizadas no corpo do programa


devero ser declaradas na subrea Var }
Procedure Linha;

{ a procedure equivale ao conceito de sub-rotina.


Sua estrutura pode se tornar to complexa como
de um programa. Esta procedure,traa uma linha
na posio atual do cursor }

Var i:integer;
Begin
For i:=1 to 80 do Write('-');
end;

Function Soma(x,y:integer):integer;
{ o Turbo Pascal possui diversas funes pr-definidas, mas o
programador tambm pode definir as suas proprias }
Begin
Soma:=x+y;
end;
{ Podemos definir quantas procedures e functions quisermos }
{ Aqui comea o programa propriamente dito }
Begin
ClrScr; { apaga a tela }
Linha; { Executa a procedure linha }
Writeln('Meu nome e -------> ',Meu_Nome);
Linha;
Write('Qual o seu nome ----> ');
Readln(Nome);
Linha;
Write('Qual a sua idade ---> ');
Readln(idade);
Linha;
Writeln('nossas idades somam --> ',Soma(34,idade));
Linha;
goto fim;
{ estas linhas sero puladas }
nacionalidade:=BRASILEIRA;
Write('Minha nacionalidade e brasileira');
fim:
Write('Prazer em conhece-lo');

End.
II.2 - Estrutura de um programa em Pascal
---------------------------------Todo programa em Pascal subdividido em 3 reas:
- cabealho do programa
- rea de declaraes
- corpo do programa
Na definio padro da linguagem Pascal, o Cabealho do
programa
obrigatrio, no entanto, no Turbo Pascal ele opcional. A rea de
declaraes subdividida em seis sub-reas, a saber:
-

Label
Const
Type
Var
Procedures
Functions

Darei
agora, uma breve
explicao de cada subrea, pois mais para
frente estudaremos cada uma delas com profundidade. Na subrea Label,
devemos declarar todos os labels que forem utilizados no corpo do
programa. Os labels so utilizados em conjunto com a instruo goto.
Todas as constantes que formos utilizar no nosso programa, podem se
assim desejarmos, ser definidas na subrea Const.
O Turbo Pascal tem basicamente 6 tipos de variveis pr-definidas a
saber: Integer, Real, Byte, Boolean, Char e String. No entanto, podemos
definir novos tipos de variveis na subrea Type.
Todas
as variveis utilizadas no programa devem ser declaradas na
subrea Var, pois a alocao de espao de memria para as variveis
feita durante a compilao. Na subrea Procedures, podemos definir
quantas sub-rotinas quisermos. Elas so chamadas durante o programa
pelos seus respectivos nomes.
Finalmente, na subrea Functions podemos definir novas funes que
depois poderemos utilizar no programa embora o Turbo Pascal possua
inmeras funes pr-definidas. Estas subreas s so obrigatrias caso
ns estejamos precisando. Exemplo: se no vamos utilizar variveis no
nosso programa (coisa rara)
ento no precisamos utilizar a subrea
Var. De acordo com a definio padro da Linguagem Pascal, estas
subreas devem aparecer na sequncia que foi dada anteriormente, ou
seja, Label - Const - Type - Var - Procedures - Functions. Mas no Turbo
Pascal isto livre.
Por fim, como dito no programa exemplo, existe a possibilidade de se
usar a declarao USES, que nos permite utilizar UNITS que nada mais
so do que bibliotecas de funes e procedures previamente declaradas.

III - Noes Bsicas preliminares.

III.1 - Elementos bsicos do Turbo Pascal


--------------------------------III.1.1 - Caracteres utilizados
Os
caracteres que podem ser utilizados no Turbo Pascal so
em :
Letras

: 'A' at 'Z', 'a' at 'z'

Nmeros

: 0,1,2,3,4,5,6,7,8 e 9

divididos

Especiais: + - * / = ^ < > ( ) [ ] { } . , : ; ' # $


Observaes:
1-) O Turbo
Pascal no faz distino
entre letras maisculas e
minsculas, de tal forma que no desenvolvimento deste curso eu
utilizarei os dois tipos da forma que achar mais conveniente.
2-) Embora na maioria das linguagens o sinal de atribuio de valores a
variveis
seja
o =, em Pascal, o smbolo de atribuio :=,
exemplos:
A = 100
A := 100

em Basic
em Pascal

3-) Dois pontos em seguida (..) indica um delimitador de faixa,exemplo:


1..30 --> todos inteiros entre 1 e 30 inclusive.
III.1.2 - Palavras reservadas
As palavras reservadas do Turbo Pascal so palavras que fazem parte da
sua estrutura e tm significados pr-determinados. Elas no podem ser
redefinidas e no podem ser utilizadas como identificadores
de
variveis, procedures, functions etc. Algumas das palavras reservadas
so:
absolute(*)
case
downto
file
goto
label
of
program
shl(*)
to
while

and
const
else
for
if
mod
or
record
shr(*)
type
with

array
div
end
forward
in
nil
packed
repeat
string(*)
until
xor(*)

(*) --> no definidos no Pascal Standard


III.1.3 - Identificadores pr-definidos

begin
do
external(*)
function
inline(*)
not
procedure
set
then
var

O Turbo Pascal possui inmeros identificadores pr-definidos, que no


fazem parte
da
definio
padro
da
linguagem Pascal. Esses
identificadores consistem
em Procedures e Functions, que podem ser
utilizados normalmente na construo de programas. Exemplos:
ClrScr
DelLine

: limpa a tela de vdeo


: deleta a linha em que est o cursor e assim por diante.

Constantemente, novas procedures e functions esto sendo criadas pela


Borland International (criadora do Turbo Pascal),
aumentando desta
forma o nmero de identificadores. So UNITS que tornam o Turbo Pascal
mais poderoso do que ele j .
Regras para formao de identificadores:
O usurio tambm pode
ns somos obrigados a
functions, constantes
pelo programador. Mas
ser seguidas:

definir seus prprios identificadores, na verdade


isso. Nomes de variveis,de labels,de procedures,
etc. so
identificadores que devem ser formados
para isso existem determinadas regras que devem

1-) O primeiro caractere do identificador dever ser obrigatoriamente


uma letra ou um underscore (_).
2-) Os demais caracteres podem ser letras, dgitos ou underscores.
3-) Um identificador pode ter no mximo 127 caracteres.
4-) Como j dissemos anteriormente, no pode ser palavra reservada.
Exemplos de identificadores vlidos:
Meu_Nome
MEU_NOME
__Linha
EXemplo23

igual ao anterior

Exemplos de identificadores no vlidos:


2teste comea com nmero
Exemplo 23 tem um espao
III.1.4 - Comentrios
Comentrios so textos que introduzimos no meio do programa fonte com a
inteno de torn-lo mais claro. uma boa prtica em programao
inserir comentrios no meio dos nossos programas. No Turbo Pascal, tudo
que estiver entre os smbolos (* e *) ou { e } ser considerado como
comentrio.
III.1.5 - Nmeros
No Turbo Pascal, podemos trabalhar com nmeros inteiros e reais, sendo
que os nmeros inteiros podem ser representados na forma hexadecimal,
para tanto, basta preced-los do smbolo $. Os nmeros reais tambm
podem ser representados na forma exponencial.

Isso tudo varia de verso para verso do turbo Pascal, citarei aqui
faixas de valores vlidas para a verso 7.0:

as

Tipo

faixa

Formato

Shortint -128..127
Signed 8-bit

Integer -32768..32767
Signed 16-bit

Longint -2147483648..2147483647 Signed 32-bit

Byte
0..255
Unsigned 8-bit

Word
0..65535
Unsigned 16-bit

Tipo

faixa
Digitos Bytes

real
2.9e-39..1.7e38
11-12 6

single
1.5e-45..3.4e38
7-8
4

double
5.0e-324..1.7e308
15-16 8

extended 3.4e-4932..1.1e4932 19-20 10

comp
-9.2e18..9.2e18
19-20 8

III.1.6 - Strings
Strings so conjunto de caracteres entre aspas simples, exemplos:
'isto uma string'
'123456'

etc.

III.1.7 - Caracteres de controle


Existem
alguns caracteres que
caracteres de controle. Exemplos:
Control G
Contorl L
etc.

tm

significados especiais. So

os

-> Bell ou beep


-> Form Feed

Em Turbo Pascal, tambm podemos utilizar estes caracteres. Para tanto,


eles devem ser escritos pelo
seus valores
ASCII correspondentes,
precedidos do smbolo #, ou ento a letra correspondente precedida do
smbolo ^, exemplo:
Control G

--> #7 ou ^G

III.2 - Definio de variveis


Como j dissemos, todas as variveis que forem utilizadas no corpo
programa, devem ser declaradas numa subrea especfica chamada Var.

do

Para estudarmos essa subrea devemos primeiro ver os tipos de variveis


pr-definidos em Turbo Pascal.
III.2.1 - Tipos de dados pr-definidos

Os tipos de dados pr-definidos em Turbo Pascal


categorias:

so

divididos em duas

Escalares Simples:
-

Char
Boolean
todos os tipos de inteiros citados acima
todos os tipos de reais citados acima

Escalares estruturados:
-

String
Array
Record
File
Set
Text

Inicialmente, iremos estudar os escalares simples e o tipo String pela


sua utilizao prtica inicial. Os demais tipos estruturados sero
vistos mais para a frente.
CHAR:
O tipo char corresponde a todos os caracteres que podem ser gerados
pelo teclado tais como dgitos, letras e smbolos tais como &, #,* etc.
Os caracteres devem vir entre aspas simples.
BOOLEAN:
O tipo boolean s pode assumir os valores FALSE e TRUE.
STRING:
Este tipo chamado de estruturado ou composto pois constitudo a
partir de um tipo simples que o char. O tipo string composto por um
conjunto de caracteres entre aspas simples.
SHORTINT - INTEGER - LONGINT - BYTE - WORD:
Ver tabela acima.
REAL - SINGLE - DOUBLE - EXTENDED - COMP:
Ver tabela acima.
III.2.2 - A declarao Var
Esta a subrea onde devemos declarar todas as variveis que iremos
utilizar em nosso programa. Exemplo:
Program Exemplo;

(* cabealho do programa *)

Var
idade,nmero_de_filhos
altura
sexo
nome

:
:
:
:

byte;
real;
char;
string[30];

sim_ou_nao
quantidade

: boolean;
: integer;

(* aqui comea o programa *)


Begin

End.

idade:=34;
nmero_de_filhos:=2;
sexo:='M';
nome:='Jos';
sim_ou_nao:=TRUE;
quantidade:=3245;

Observaes importantes:
1-) A palavra reservada Var aparece uma nica vez num programa
2-) A sintaxe geral para declarao de variveis :
varivel_1,varivel_2,...,varivel_n : tipo;
3-) Os espaos e comentrios separam os elementos
pode colocar quantos espaos quiser. Observe:

da

linguagem.

Varidade:integer;

o compilador no reconhece a palavra Var

Var idade:integer;

agora sim, ou se preferir

Var

integer;

idade

Voce

d na mesma.

4-) As instrues so separadas entre si por ponto e vrgula ';'. Se


voc quiser, pode colocar mais de uma instruo numa nica linha.
Lembre-se que o limite de caracteres numa linha de 127
5-) O tipo string deve ser procedido da quantidade mxima de caracteres
que a varivel pode assumir. Lembre-se que a alocao de espao de
memria para as variveis feita durante a compilao, portanto o
compilador precisa saber desse dado. Por outro lado, o fato de
termos, por exemplo, atribudo o valor mximo de 30 no significa
que tenhamos que utilizar os 30 caracteres e sim no mximo 30.
6-) Como ltima observao, acho muito mais claro e elegante declarar
variveis e ao
mesmo tempo informar com linhas comentrios os
devidos motivos. Exemplo:
Var

idade,
i,j

(* idade de determinada pessoa *)


(* utilizadas em loops
*)
: integer;

nome1,
nome2

(* nome genrico de pessoas


(* nome genrico de pessoas
: string[50];

*)
*)


Aguarde a aula No. 2

[]s lCa

Você também pode gostar

  • Semilog 3.pdfpropio
    Semilog 3.pdfpropio
    Documento1 página
    Semilog 3.pdfpropio
    Juan Sebastian Ortega Muñoz
    Ainda não há avaliações
  • Pas 03
    Pas 03
    Documento14 páginas
    Pas 03
    jemmyjimenez
    Ainda não há avaliações
  • Pas 01
    Pas 01
    Documento11 páginas
    Pas 01
    jemmyjimenez
    Ainda não há avaliações
  • Pas 04
    Pas 04
    Documento14 páginas
    Pas 04
    jemmyjimenez
    Ainda não há avaliações
  • Pas 04
    Pas 04
    Documento14 páginas
    Pas 04
    jemmyjimenez
    Ainda não há avaliações
  • Pas 05
    Pas 05
    Documento10 páginas
    Pas 05
    jemmyjimenez
    Ainda não há avaliações
  • Pas 02
    Pas 02
    Documento16 páginas
    Pas 02
    jemmyjimenez
    Ainda não há avaliações
  • Pascal
    Pascal
    Documento25 páginas
    Pascal
    V. Aquino
    Ainda não há avaliações
  • Pas 07
    Pas 07
    Documento6 páginas
    Pas 07
    jemmyjimenez
    Ainda não há avaliações
  • Cap Tulo 11 - Cinem Tica Rotacional
    Cap Tulo 11 - Cinem Tica Rotacional
    Documento3 páginas
    Cap Tulo 11 - Cinem Tica Rotacional
    jemmyjimenez
    Ainda não há avaliações