introducao Pascal

Propaganda
Representação de Algoritmos - Linguagens de Programação
A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil
principalmente quando o problema a ser tratado envolve um grande número de passos. No entanto, para
que esses passos possam ser entendidos pelo computador é necessário representar tal algoritmo em uma
linguagem de programação.
•
•
•
•
Pascal
Fortran
C
C++
As linguagens de programação obrigam o uso de formas rígidas na especificação de seus passos, ou seja,
obrigam as pessoas a detalharem as operações que deverão ser executadas. Uma dica aqui é refinar a
solução do problema de um nível mais abstrato até chegar ao nível de detalhamento que deve ser
representado em uma linguagem de programação. Essa prática, além de prover um tipo de documentação,
também ajuda muito no tratamento dos erros que eventualmente possam surgir.
Convencionamos aqui que um algoritmo representado em uma linguagem de programação é um
programa.
Ex.: programa em Pascal para somar dois números.
program somadoisnum;
{ esse programa soma dois números e exibe o resultado na tela }
var n1, n2, result : integer;
begin
readln(n1);
readln(n2);
result := n1 + n2;
writeln(result);
end.
Os algoritmos descritos em pseudo-linguagem não podem ser executados (entendidos) por computadores.
É necessário ainda uma fase de tradução da linguagem de programação para a linguagem que a máquina
entenda. Essa fase é conhecida por compilação, e é relizada pelo Compilador.
Comandos
Conjunto de palavras-chave de uma linguagem de programação que tem por finalidade
dizer ao computador como ele deve executar uma tarefa. No exemplo de algoritmo
descrito acima (receita de bolo), os comandos eram palavras-chaves representados por
verbos da língua portuguesa, em computadores os comandos são usualmente palavras
originária da língua inglesa. Exemplo: write, read, do, ...
Compiladores
Para que o computador execute o programa escrito em Pascal, é necessário traduzi-lo
para a linguagem de máquina. Compiladores são estes tradutores, que além disso, ainda
testam o código mostrando os erros.
Compilador
•
•
•
•
traduz o programa escrito em uma linguagem de programação para linguagem de máquina.
verifica se as formas rígidas na espeficicação dos passos foi seguida corretamente.
compiladores são relacionados diretamente com a máquina para a qual será feita a tradução.
gera um arquivo executável do programa descrito.
Principais compiladores usados:
•
•
Turbo Pascal 7 - Clássico compilador de Pascal, Utiliza interface DOS;
Pascalzim - Desenvolvido no Departamento de Ciências da Computação da
Universidade de Brasília,
Utiliza interface Windows, e tem como principal recurso a procura e substituição de
palavras.
•
Free Pascal - Compilador gratuito, compatível com Pascal e Object Pascal
(linguagem usada no Delphi). É muito compatível com a linguagem usada no
Turbo Pascal 7, e possui versões para sistemas Windows, GNU/Linux, Mac,
DOS, OS/2, Haiku, e GNU/BSD. É um projeto de código livre (open source).
Bibliotecas
Bibliotecas são um conjunto de funções e procedimentos chamadas por comandos nos
programas. Por exemplo a biblioteca CRT responde ao comando clrscr (limpar a tela).
No caso do compilador Turbo Pascal acessamos a biblioteca da seguinte forma:
program teste;
uses crt;
var
Observação: o compilador Pascalzim já acessa a biblioteca CRT, não sendo necessário
acessá-la.
História do Pascal
Ano de 1971. O professor Niklaus Wirth projeta uma linguagem como trabalho escolar
para estudantes de programação da Universidade Técnica de Zurique, Suíça. Essa
linguagem vem a se chamar Pascal, homenageando o filósofo e matemático do século
XVII, Blaise Pascal.
A partir dessa época, diversas versões de Pascal foram implementadas, com destaque
especial a Borland / Inprise, que construiu os melhores e mais populares compiladores
Pascal.
Turbo Pascal 1: Desde a sua primeira versão, o compilador pascal da Borland (chamado
de Turbo Pascal) já possuía ambiente para digitação e depuração do código fonte, e
fazia a compilação e linkedição do código em um único processo. Outra característica
dos compiladores Turbo Pascal: são extremamente rápidos e geram executáveis enxutos,
e com código nativo.
Turbo Pascal 2 e 3: Foram acrescentadas algumas funcionalidades nessas versões, como
o acesso a diretórios através do ambiente de programação, para a localização de
arquivos. Foi incluído novos procedimentos e funções.
Turbo Pascal 4: Foram introduzidas rotinas do DOS para leitura de diretórios, leitura e
escrita de atributos de arquivos; ferramentas para acesso à memória e portas de
hardware; facilidades para a construção de rotinas gráficas, com estilo de contornos e
preenchimentos; foi implementado na versão 4 o conceito de unidade (Unit), fazendo
com que um mesmo código fosse compartilhado entre vários programas fonte, e sem a
necessidade da recompilação; esta versão ainda foi responsável pela implementação de
novos tipos de dados e finalmente, a possibilidade de deixar o programa residente.
Turbo Pascal 5: Ocorreu uma importante evolução no compilador - a depuração. O
programa agora pode ser executado passo a passo, inclusive com o acompanhamento do
conteúdo das variáveis.
Turbo Pascal 5.5: Esta versão foi a responsável pela estréia do Pascal Orientado a
Objetos, dando origem a primeira implementação do Object Pascal.
Programação Pascal
Abordaremos aqui, a utilização dos conceitos de programação pascal por meio de exemplos.
1. Estrutura principal
A estrutura principal de um programa em pascal se apresenta da seguinte forma:
program cabeçalho;
declarações
begin
comandos
end.
As palavras em negrito são palavras reservadas ou palavras chave da linguagem, que não podem
ser declaradas como identificadores. Elas definem o tipo de dados ou estrutura que se deseja
utilizar.
2. Palavras Chaves (reservadas):
and, array, begin, case, const, div, do, downto, else, end, file, for, function, goto, if, in, label,
mod, nil, not, of, or, packed, procedure, program, record, repeat, set, then, to, type, until, var,
while, with
3. Identificador
•
•
Um identificador é formado por uma única letra, ou então por uma letra seguida de
letras ou dígitos, em qualquer número.
Considera-se dois identificadores como distintos quando considerados seus oito
primeiros caracteres.
4. Comentários
Os comentários são identificados por estarem delimitados pelos caracteres { e }, ou pelo
caracteres (* e *). Comentários são ignorados pelo compilador na fase de tradução do programa.
Comentários são úteis no sentido de destacar ou documentar o programa, para torná-lo mais
legível e fácil de entender o seu objetivo, quando retomado para correção ou alteração após
determinado tempo.
Declarações
A parte de declarações em um programa está relacionada a alocação de memória para os dados que serão
utilizados no decorrer do programa. O montante do memória alocada está relacionada ao tipo de dado a
ser utilizado. Podem ser declarados aqui regiões de memória que podem ter seu conteúdo alterado
(variáveis), regiões de memória que não são permitidos a alteração de seu conteúdo, e também outros
tipos além dos pré-definidos pela linguagem.
1. Tipos pré-definidos da linguagem Pascal:
•
•
•
•
integer
char
boolean (TRUE, FALSE)
string
2. Variáveis
•
Variáveis são entidades que são representadas por identificadores.
Sintaxe:
var
lista-de-identificadores : tipo;
lista-de-identificadores : tipo;
Exemplo:
var
nota, A12 : real;
i, codigo : integer;
flag, Sim : boolean;
letra1, letra2: char;
3. Constantes
Define identificadores que não se alteram durante a execução do algoritmo.
Exemplo:
const
pi = 3,1415
4. Declaração de outros Tipos
Além dos tipos pré-definidos pela linguagem Pascal, há a possibilidade de se definir outros tipos.
Exemplo:
type
LETRASMA = ´A´ .. ´Z´;
INDICES = 0 .. 100;
DIAS = (dom, seg, ter, qua, qui, sex, sab);
var
diasemana : DIAS;
Construção do programa em Pascal
O programa se constitui num texto, que pode ser editado em qualquer editor de texto ou
diretamente no compilador, sendo necessário ser salvo com a terminação .pas de pascal,
em seguida compilado (traduzido para linguagem de máquina), para depois ser
executado. Nos compiladores de hoje já é possível executar direto pulando todas estas
etapas.
O programa em Pascal se constitui basicamente de:
{comentários entre chaves não são lidos pelo compilador}
program Nome_do_programa; {identificação do programa}
uses CRT; {acessar uma biblioteca,necessário no Turbo Pascal}
var
{declaramos as variáveis}
a,b,c:real; {variáveis:tipo}
begin {início do corpo do programa}
read(a); {comandos dentro do corpo}
c:=a; {comandos terminam com ponto e vírgula}
end.
{fim do corpo do programa com ponto}
Exemplo de programa em Pascal:
program nomey;
uses crt;
var
nome:string;
begin
clrscr;
write('Escreva um nome ');
read(nome);
writeln('O nome que voce escreveu foi: ',nome);
readkey;
end.
Exemplo 2.
Este programa lê o número de um aluno e suas três notas, calcula a média das notas, ponderada
pelos pesos 2,3,4 respectivamente, e imprime o número do aluno, suas três notas e a média.
program Notas ;
var
numal : integer ;
n1, n2, n3, media : real ;
begin
writeln
('Digite o numero do aluno seguido das tres notas') ;
readln ( numal, n1, n2, n3 ) ;
media := ( 2*n1 + 3*n2 + 4*n3 ) / 9 ;
writeln ('Aluno: ', numal:4) ;
writeln ('Notas: ', n1:6:2, n2:6:2, n3:6:2) ;
writeln ('Media: ', media:6:2 ) ;
end.
Exemplo 3.
O programa abaixo lê três números representando os lados de um triângulo, verifica se o mesmo
é possível e classifica-o quanto ao tipo: equilátero, isóceles ou escaleno. Conforme o caso, a
mensagem adequada é impressa.
program classifica ;
var
a, b, c : real;
begin
write ('Digite os valores dos lados do triangulo:');
readln (a, b, c);
if ( a >= b+c )
or ( b >= a+c )
or ( c >= a+b )
then writeln ('O triangulo é impossivel')
else if ( a = b ) and ( a = c )
then writeln ('O triangulo é equilatero')
else if
( a = b ) or ( a = c ) or ( b = c )
then writeln ('O triangulo é isoceles')
else writeln ('O triangulo é escaleno')
end. (* classifica *)
Download