|
Aula 4: Introdução ao PASCAL
|
|
PASCAL
Pascal é a sigla utilizada para "Program Appliqué
à
la Selection et la Compilation Automatique de la Literature", é
uma linguagem de programação de alto nível. Criada
por Niklaus Wirth no ano de 1960 com o objectivo de auxiliar o
ensino
de programação computacional. Ainda hoje continua a ser
utilizada
em universidades e não só, sendo esta uma linguagem
bastante apropriada para ensinar. Muitos dos programadores
profissionais,
utilizam hoje em dia linguagens tais como C ou C++.
Pascal era o nome dum importante matemático francês do
século XVII - Blaise Pascal.
|
Blaise Pascal (1623-1662)
Filósofo e matemático Françês.
Contribuiu
para o desenvolvimento na área de hidráulica,
cálculo
e teoria matemática de probabilidade. A sua maior
invenção
foi provavelmente o "Triângulo de Pascal":
Cada número é a soma dos dois números
imediatamte
em cima de si, esquerda e direita tal como ilustra a figura:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
|
Início
Um programa é uma sequência de instruções,
que informam o computador sobre uma tarefa específica que se
quer
concretizar. A maioria das linguagens de programação
modernas
apresentam um formato bastante legivel de fácil
percepção,
assemelhando-se ao Inglês corrente, facilitanto aos humanos a
leitura
dos programas assim como a sua escrita, contrastando com as primeiras
linguagens
de programação, que se apresentavam como um tipo de
linguagem
próxima da linguagem máquina, tal como ilustra o
exemplo
em linguagem assembler (aula 2). PASCAL
é
a linguagem que mais se assemelha com a linguagem natural humana o que
a torna uma linguagem de eleição no ensino da arte de
programação.
Todos os programas em PASCAL têm o mesmo formato, tal como
é
mostrado em seguida:
PROGRAM Title;
begin
program_statement_1;
program_statement_2;
|
program_statement_n;
end.
Vamos dar uma vista de olhos neste programa.
-
Todos os porgramas são iniciados com a palavra PROGRAM seguida
pelo título do programa
-
begin define o ponto de iníciuo do programa
-
end. define o fim dum ficheiro e por sua vez o fim do
programa.É
de notar o ponto final "." no fim.O mesmo só é utilizado
para o comando "end" do final do programa.Todos os outros comandos
são
finalizados com ponto e vírgula ";".
-
Entre os comandos "begin" e "end" serão colocadas as
intruções
que formam um bloco.Todas as intruções entre estes dois
comandos
são tratados posteriormente pelo compilador como uma
instrução
só.
-
Entre "begin " e "end " podemos colocar as nossas próprias
instruções. Estas intruções podem ser
intruções
que o PASCAL já conhece, ou intruções que
nós
iremos definir (chamam-se procedimentos e funções, o que
será discutido mais tarde).
-
PASCAL não é um caso sensitivo: "Program",
"PROGRAM",
"program", etc, são interpretadas da mesma forma , ou seja o
PASCAL
não diferencia letras maiúsculas e minúsculas.
Identificadores
Identificadores, tal como o nome indica, servem para identificar
algo. Podem ser o nome de programas, nome de procedimentos
,
funções e nomes de variáveis e constantes.
Mais
tarde será visto nas aulas.Tal como na maioria das linguagens,
nomes
de identificadores têm algumas restrições:
-
Deverão começar por uma letra. "PROGRAM 20hours;"
não
é permitido
-
Seguido por qualquer combinação de letras, dígitos
ou caractér underscore "_".
-
Espaços não são permitidos, tal como caracteres
como
"(", "{", "[", "%", "#", "?", etc, excepto "_", isto porque estes
caractéres
são utilizados em PASCAL para outro tipo de coisas. São
chamados
caracteres reservados.
{ } [ ] ( ) - = + / ? < > . , ; : ' " ! @ # $ % ^
& * ~
` \ | |
-
Identificadores não podem ser igual ás palavras
reservadas
do PASCAL, tal como "program", "begin", "end". Notar que
identificadores
tais como "program1", ou "program_" são permitidos, sendo que o
seu uso é desaconselhado para prevenir confusão que
possa
vir a ser gerada nos nomes. Nota: em muitos ambientes de
programação
(tal como Turbo Pascal 7), o uso de palavras reservadas é
anunciado
porque estas mesma palavras, quando são escritas aparecem
com cor diferente.
-
Escolha bem os seus identificadores. Quando um programa serve para
calcular
taxas, chame-o por exemplo"PROGRAM Taxas;" e não "PROGRAM
program1;". Apesar de não ser errado usar este nome a sua
escolha
não é muito inteligente, pois desta forma não
é
identificado aquilo que o programa faz. Usando identificadores
indicados
ajuda outras pessoas a entederem o seu programa, ou voçê
mesmo
quando passou muito tempo sem mexer nesse programa.
-
O comprimento minimo do identificador é 1, o máximo
comprimento
é 255. Faça uso da possibilidade de
utilização
de nomes extensos, mas lembre-se também que nomes muito grande
poderão
tornar o programa pouco perceptível. Tal como o provérbio
diz nem 8 nem 80, logo tente ser claro e sucinto nos nomes escolhidos.
Qual dos seguintes nomes voçê acha mais adequado:
r := r + a;
money := money + interest;
themoneyintheaccountofpersonwithnameJohnson
:= themoneyintheaccountofpersonwithnameJohnson +
thecurrentinterestrateatthetimeofthiswriting;
- They are not case sensitive, "i" is equal to "I", etc. To make
programs
more readable, follow a convention all through your program(s). The
most
often used convention is lowercase for variables and UPPERCASE for
CONSTANTS.
Programação estruturada
|
A coisa mais importante na
programação é escrever
duma forma clara, lógica e programas estruturados. Aqui
vêem
alguns avisos:
- Utilize nomes significativos para as variáveis,
procedimentos e
funções
- Utilize identação. Compare os programas
a seguir ilustrados:
|
PROGRAM
Myprogram;begin writeln("Hello world!");end. |
e
PROGRAM MyProgram;
begin
writeln("Hello
world!");
end.
|
Ambos os programas fazem exactamente o mesmo, mas o segundo
é
muito mais legível. A diferença é:
-
Apenas utiliza uma instrução por linha
-
Usa identação: Coloca 2 espaços extras no
início
da linha todas as vezes que estamos num nível abaixo na
estructura.
-
Separação de blocos de texto (funções e
procedimentos)
com linhas em branco.
-
Evitar o uso de intruções "goto label". Com estas
instruções,
o programa rapidamente começará a parecer-se com
esparguete.
Comentário: Sendo o PASCAL muito próximo da
língua
inglesa, o programa por si só deverá auto- explicar-se.
Em
zonas onde a ideia do programa não é muito clara para o
programador,
deverá recorrer á utilização de
comentários.
Em PASCAL os comentários são colocados entre chavetas "{
}". O compilador não interpreta a informação
contida
a seguir à primeira chaveta "{" até à chaveta
seguinte
"}".Logo qualquer texto poderá ser inserido entre estas
chavetas.Em
algums compiladores tais como o "Turbo Pascal" os comentários
são
inseridos entre "(*"e"*)".
Utilize procedimentos e funções de forma a fazer com
que
o texto se torne mais organizado. Se em vários sitios do
programa
terá de ser repetida a mesma acção (por exemplo a
leitura duma linha de texto de um ficheiro),considere a hipótese
de criar um procedimento ou função para a
execução
desta mesma tarefa (por exemplo PROCEDURE le_linh_fich). Isto
tornará
o programa mais claro, mais eficiente e mais pequeno.
Palavras reservadas em Turbo Pascal
As palavras seguinte não podem ser utilizadas para
identificadores.
A maioria destas palavras chave são explicadas nas aulas
nos
capítulos descritos na segunda coluna.
keyword
|
subject
|
and |
boolean algebra |
asm |
|
array |
arrays |
begin |
introduction |
case |
if .. then |
const |
variables and constants |
constructor |
|
destructor |
|
div |
algebra |
do |
loops |
downto |
loops |
else |
if .. then |
end |
introduction |
exports |
|
file |
|
for |
loops |
function |
procedures and functions |
|
keyword
|
subject
|
goto |
|
if |
if .. then |
implementation |
|
in |
|
inherited |
|
inline |
|
interface |
|
label |
|
library |
|
mod |
algebra |
nil |
pointers |
not |
boolean algebra |
object |
|
of |
if .. then |
or |
boolean algebra |
packed |
|
procedure |
procedures and fucntions |
|
keyword
|
subject
|
program |
introduction |
record |
records |
repeat |
loops |
set |
|
shl |
|
shr |
|
string |
variables |
then |
if .. then |
to |
loops |
type |
variables |
unit |
|
until |
loops |
uses |
|
var |
variables |
while |
loops |
with |
records |
xor |
boolean algebra |
|
As palavras seguinte estão relacionadas com variáveis
e constantes. A utilização destas palavras em
identificadores
é desaconselhável.
boolean |
byte |
char |
double |
integer |
real |
string |
text |
word |
|
|
Teste rápido:
Para testar o conhecimento que tem adquiriu nesta
lição
click
aqui para fazer um teste on-line. Note
que este não tem a mesma forma que a frequência final.
Peter Stallinga. Universidade do Algarve, 17 fevereiro 2002