Beruflich Dokumente
Kultur Dokumente
Assim como a linguagem C, que foi padronizado pela ANSI (ANSI C), o Pascal possui padres pela ISO, como
o Pascal Standard e o Advanced Pascal.
ndice
1 Implementaes
2 Padres/Normas
3 Sintaxe
4 Exemplos de cdigo
4.1 Programa Ol Mundo
4.2 Nmeros perfeitos
4.3 Repetio
4.4 Nmeros pares entre dois valores inteiros
4.5 Teste lgico
5 Compiladores Gratuitos
6 Referncias
7 Ver tambm
8 Ligaes externas
Implementaes
O primeiro compilador Pascal foi desenvolvido em Zurique para a famlia de computadores CDC 6000, sendo
lanado em 1970. Tambm em 1970 foi desenvolvido o primeiro compilador Pascal norte americano, na
Universidade de Illinois por Donald B. Gillies, que gerava cdigo de mquina nativo para o mini-computador
PDP-11.
Pensando-se em propagar rapidamente o uso da linguagem, foi criado, em Zurique, um "kit de converso" que
incluia um compilador que gerava cdigo intermedirio, e um simulador para ele. Esse kit foi batizado de p-
System, e foi utilizado, entre outras coisas, para criar um sistema operacional para mini-computadores chamado
UCSD p-System, desenvolvido pelo Instituto de Sistemas de Informao da Universidade da Califrnia em San
Diego. Segundo o prprio Niklaus Wirth, o p-System e o UCSD foram instrumentais na popularizao do
Pascal. No padro UCSD, as Strings passaram a ser tipos pr definidos (no Pascal padro era utilizados packed-
arrays).[4]
Nos anos 80, Anders Hejlsberg desenvolveu o compilador Blue Label Pascal o Nascom-2. Depois, ele foi
trabalhar na Borland e reescreveu seu compilador transformando-o no Turbo Pascal para a plataforma IBM PC
(e tambm CP/M 80), que era vendido a US$ 49,95, muito mais barato do que o Blue Label. Uma caracterstica
muito importante que o Turbo Pascal uma linguagem compilada, que gera cdigo de mquina real para a
arquitetura Intel 8088, tornando-a muito mais rpida do que as linguagens interpretadas.
Por ser mais barato, o Turbo Pascal passou a ter uma grande influncia na comunidade Pascal, que comeou a
se concentrar na plataforma IBM PC no fim dos anos 80. Muitos usurios de PC da poca migraram para o
Turbo Pascal, em busca de uma linguagem estruturada que no fosse interpretada, para substituir, por exemplo,
o BASIC. Pode se afirmar que o sucesso comercial de Turbo Pascal foi definitivo para a ampla divulgao da
linguagem Pascal.[5]
Outra variante era o Super Pascal, que adicionava labels no numricas, o comando return e expresses como
nomes de tipos.
Durante os anos 90, compiladores que podiam ser modificados para trabalhar com arquiteturas diferentes
tiveram grande destaque, incluindo nessa lista o Pascal.
O prximo grande passo para a linguagem, foi a implementao da orientao a objeto (OO ou OOP em ingls)
na sua estrutura, comeando com a verso 5.5 do Turbo Pascal. Mais tarde, ao projetar o Delphi, querendo
funcionalidades mais elaboradas da orientao a objeto, a Borland utilizou o conceito Object Pascal criado pela
Apple Inc., utilizando-o como base para uma nova linguagem, que nas verses iniciais era chamado de Object
Pascal mas foi rebatizado como Delphi Programming Language nas verses posteriores. As maiores diferenas
em relao s implementaes OO das verses mais antigas foram a adio do conceito de objetos por
referncia, construtores, destrutores e propriedades, entre outros.
Padres/Normas
Em 1983, a linguagem foi padronizada, na norma internacional ISO / IEC 7185, assim como vrios padres
locais especficos de cada pas, incluindo a norma americana ANSI/IEEE770X3.97-1983, e ISO 7185:1983. A
diferena entre as duas normas que a padro ISO possui o nvel 1, extenso do arrays conformantes,
enquanto a ANSI no permitiu esta extenso linguagem original (verso Wirth). Em 1989, foi revista a ISO
7185 (ISO 7185:1990) para corrigir vrios erros e ambiguidades encontradas no documento original
Em 1990, foi criado uma norma ISO / IEC 10206 padronizando o Pascal. Em 1993, o padro ANSI foi
substitudo com um "ponteiro" para a norma ISO 7185:1990, que termina efetivamente o seu estatuto como um
padro diferente.
A norma ISO 7185 foi indicada para ser uma clarificao de Wirth da linguagem como detalhado em 1974 no
Manual do Usurio/Utilizador e Relatrio [Jensen e Wirth], mas tambm foi notvel pela incluso de
"Parmetros de array conformantes" como um nvel 1 da norma, sendo nvel 0 Pascal sem Conformantes
Arrays.
Note que o prprio Niklaus Wirth se refere linguagem 1974 como o padro, por exemplo, para diferenci-la
das caractersticas especficas de implementao em nvel de mquina do compilador CDC 6000. Esta
linguagem foi documentada em "The Pascal Report", a segunda parte do "Pascal users manual and report".
Nas grandes mquinas (mainframes e minicomputadores) eram seguidos padres gerais. Na IBM-PC, no
eram. No IBM-PC, o Turbo Pascal e Delphi, padro Borland, tem o maior nmero de usurios. Assim, de
extrema importncia entender se uma determinada aplicao corresponde linguagem original Pascal, Borland
ou um dialeto do mesmo.
As verses da linguagem do IBM-PC comearam a divergir com a vinda da UCSD Pascal, uma aplicao que
implementou vrias prorrogaes para a linguagem, juntamente com vrias omisses e mudanas. Muitas
caractersticas da linguagem UCSD sobrevivem atualmente, inclusive em linguagens Borlands.
Sintaxe
A linguagem Pascal foi criada para incentivar a programao modular e estruturada, facilitando a criao de
procedimentos com baixo acoplamento e alta coeso. Um programa em Pascal composto de constantes e
variveis globais, procedimentos e funes re-entrantes e um programa principal.[6]
Procedimentos e funes podem conter, dentro de seu escopo, novos procedimentos e funes. Dentro de
qualquer parte do programa tambm podem ser criados blocos com os comandos BEGIN e END, que tambm
possuem seu prprio escopo.[6] Nas verses originais, as variveis s podiam ser declaradas em posies
especficas e no ao decorrer do programa, o que limitava a regra de escopo.
O conjunto de procedimentos e funes pr-definidos fixo e inclui as funes read, readln, write e writeln,
para realizar E/S.[7]
Exemplos de cdigo
Nota importante: Os programas foram desenvolvidos com o Turbo Pascal (Borland). Para funcionarem com
outros compiladores, devem ser feitas as seguintes alteraes:
Programa Ol Mundo
program OlaMundo ;
begin
WriteLn ('Ol, Mundo!' );
end.
Nmeros perfeitos
program numerosPerfeitos ;
uses crt;
var
ate, x, soma, i: integer ;
begin
clrscr ;
x := 0;
writeln ('Numeros perfeitos abaixo de' );
Readln (ate);
repeat
x := x + 1;
soma := 0;
for i := 1 to x - 1 do
begin
if x mod i = 0 then
soma := soma + i;
end;
if soma = x then
begin
writeln (x);
end;
until (x > ate);
writeln ('Pressione qualquer tecla para finalizar' );
readkey ;
end.
Repetio
program Soma_Pares ;
uses crt;
var
superior , soma, num: integer ;
begin
soma:=0;
write ('Entre com o limite superior' );
readln (superior );
num:=2;
repeat
soma:=soma+num;
num:=num+2;
until (num > superior );
writeln ('A soma dos nmeros pares de 2 at ' , superior ,' ', soma);
readln ;
end.
program pares;
var
x, y: integer ;
begin
writeln ('Digite os dois valores' );
readln (x, y);
if (x mod 2)<> 0 then
x := x + 1;
while x<= y do
begin
writeln (x, ' - ');
x := x + 2;
end;
writeln ('Fim da Lista' );
end.
Teste lgico
program Teste;
var
a, b:integer ;
begin
writeln ('Digite um nmero para 7' );
readln (a);
writeln ('Digite o nmero para 6' );
readln (b);
if (a > b) then { Se 7 maior que 6 ento }
writeln ('7 maior que 6' )
else { Seno }
if (a < b) then
writeln ('6 maior que 7' )
else
writeln ('6 igual 7' );
end.
Compiladores Gratuitos
H vrios compiladores Pascal gratuitos, como por exemplo:
Uma extensa lista de compiladores pode ser encontrada na Pascaland (http://pascaland.org). O site escrito em
francs, mas isso no faz muita diferena, j que apenas uma lista de URLs para os compiladores.
Referncias
1. Moore, Lawrie (1980).Foundations of Programming with Pascal(em ingls). Chichester: John Wiley & Sns. p. 84.
238 pginas. ISBN 0-85312-171-0
2. Pacitti, Trcio; Aktinson, Cyril P; Teles, Antonio Anibal de Souza (autor do apndice 4a) (1983).Programao e
Mtodos Computacionais. 1 4 ed. Rio de Janeiro: LTC. p. 293. 431 pginas.ISBN 85-216-0283-9
3. Wirth, Niklaus (1989).Programando em Modula 2. Rio de Janeiro: LTC. 207 pginas. ISBN 85-216-0658-3
4. Collins, William T (1988). Programao Estruturada com Estudos de casos em Pascal. Algoritmos Estruturados. So
Paulo: McGraw-Hill. p. 488-505. 514 pginas. CDD-001.6424
5. OBrien, Stephen (1987).Turbo Pascal 6. Rio de Janeiro: Makron Books, McGraw-Hill. p. XXV . 716 pginas. CDD-
005.369
6. Jensen, Kathleen; Wirth, Niklaus (1974).Pascal User manual and Report(em ingls) 2 ed. New York: Springer-Verlag.
167 pginas. ISBN 0-387-90144-2
7. Keller, Arthur M (1987). A First Course in Computer Programming Using Pascal (em ingls). New York: McGraw-
Hill. p. 10-12;41-44. 306 pginas.ISBN 0-07-033508-7
Eber Assis Schmitz/Antonio Anibal de Souza Teles, Pascal e Tcnicas de Programao, Livros Tcnicos
e Cientficos Editora S/A, IBPI Instituto Brasileiro de Pesquisa em Informtica, Apndice Turbo Pascal,
2a. Edio, ISBN 85-216-0475-0
Ian Mecler/Luiz Paulo Maia, Programao e Lgica com Turbo Pascal, Editora Campus, ISBN 85-7001-
560-7
Ver tambm
Object Pascal - linguagem sucessora de Pascal, com orientao a objetos
Free Pascal - Um compilador Pascal profissional e de cdigo-aberto
Embarcadero Delphi - uma linguagem comercial, influenciada por Pascal, e seu respectivo IDE
Lazarus - um IDE multiplataforma para Free Pascal
WOL - Uma ferramenta multiplataforma de desenho de interface grfica para Free Pascal
Ligaes externas
Free Pascal (http://www.freepascal.org/) (em ingls) - compilador cdigo aberto
The Pascal Programming Language (http://pascal-central.com/ppl/index.html) (em ingls) por Bill
Catambay
Sinuca (https://sites.google.com/site/sinucapascal/sinuca) (em portugus) - jogo feito em Pascal, com
cdigo fonte
Tutorial de Pascal (http://wiki.portugal-a-programar.org/dev_geral:pascal:tutorial_2010:indice) (em
portugus) na Wiki P@P, do Portugal-a-Programar(R)
Obtida de "https://pt.wikipedia.org/w/index.php?title=Pascal_(linguagem_de_programao)&oldid=48122207"
Esta pgina foi modificada pela ltima vez (s) 00h04min de 27 de fevereiro de 2017.
Este texto disponibilizado nos termos da licena Creative Commons - Atribuio - Compartilha Igual
3.0 No Adaptada (CC BY-SA 3.0); pode estar sujeito a condies adicionais. Para mais detalhes,
consulte as condies de uso.