Sie sind auf Seite 1von 6

Pascal (linguagem de programao)

Origem: Wikipdia, a enciclopdia livre.

Pascal uma linguagem de programao estruturada, que


recebeu este nome em homenagem ao matemtico e fsico Blaise Pascal
Pascal. Foi criada em 1970 pelo suo Niklaus Wirth,[2] tendo em
mente encorajar o uso de cdigo estruturado. Paradigma Abstrao de dados,
Programao estruturada,
Programao procedural
O prprio Niklaus Wirth diz que a linguagem Pascal foi criada
simultaneamente para ensinar programao estruturada e para ser Surgido em 1970, ltima reviso em 2002
utilizada na sua fbrica de software. Simultaneamente, a Criado por Niklaus Wirth[1]
linguagem reflete a libertao pessoal de Wirth das restries Estilo de forte
impostas aps seu envolvimento com a especificao de ALGOL tipagem:
68, e sua sugesto para essa especificao, o ALGOL W. Compiladores Delphi, Free Pascal, GNU
Pascal, MIDletPascal, Palm &
Pascal originou uma enorme gama de dialetos, podendo tambm Pascal, Turbo Pascal
ser considerada uma famlia de linguagens de programao. Dialetos: Macintosh Pascal, Turbo
Grande parte de seu sucesso se deve a criao, na dcada de Pascal, UCSD
1980, da linguagem Turbo Pascal, inicialmente disponvel para Influenciada ALGOL
computadores baseados na arquitetura 8086 (com verses para por
8080 no seu incio). Influenciou Ada, Component Pascal, Icon,
Java, Modula-2, Oberon,
Pascal normalmente uma das linguagens de escolha para Oberon-2, Object Pascal,
ensinar programao, junto com Scheme, C e Fortran. Oxygene
Comercialmente, a linguagem foi sucedida pela criao da
linguagem Object Pascal, atualmente utilizada nos IDEs Embarcadero Delphi (Object Pascal), Kylix e Lazarus.
Academicamente, seus sucessores so as linguagens subsequentes de Niklaus Wirth: Modula-2[3] e Oberon. A
partir da verso 2005, o Delphi passou a se referir a sua linguagem de programao como Delphi Language.

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 no retornam valores, funes sim.[6] Tanto em procedimentos quanto em funes os


parmetros podem ser passados por referncia ou por valor.[6] possvel passar vetores e matrizes com o
tamanho, mas no a quantidade de dimenses, especificado no tempo de execuo.

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:

Linha inicial passa de program name; para program name (input,output);


A instruo readkey desaparece
A directiva uses desaparece porque prpria do Turbo Pascal, bem como a biblioteca crt
A instruo clrscr desaparece porque faz parte da biblioteca crt
A declarao string passa para array [1..255] of char (supondo que iriam ser usados at 255 caracteres)
j que o Pascal no suporta strings nativamente.
As instrues readln para ler cadeias de caracteres, tm de estar todas dentro de ciclos, para ler um
caracter de cada vez.

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

Soma dos nmeros pares.

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.

Nmeros pares entre dois valores inteiros

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:

Chrome (http://www.chromesville.com) a prxima gerao do Object Pascal para as plataformas .NET


e Mono, desenvolvida pela RemObjects Software (http://www.remobjects.com)
Free Pascal (http://www.freepascal.org) um poderoso compilador escrito em Pascal, distribuido sob a
licena de uso GNU GPL. Pode ser utilizado em conjunto com cdigo escrito em Turbo Pascal ou
Delphi, e pode ser usado em vrias plataformas e sistemas operacionais
GNU Pascal Compiler (GPC) (http://www.gnu-pascal.de/) o compilador padro da GNU Compiler
Collection (GCC). O compilador foi escrito em C, mas a maior parte da biblioteca de funes da
linguagem escrita em Pascal. Ele segue os padres ANSI/ISO e grande parte dos padres
Borland/Turbo Pascal. O suporte ao Delphi ainda limitado
Kylix (http://www.borland.com/kylix/) uma verso do Delphi para o sistema operacional Linux, sendo
que seu compilador e sua interface de desenvolvimento so gratuitas para uso no comercial, mas sua
biblioteca de componentes no. Espera-se que o cdigo-fonte do compilador seja aberto em breve
P4 compiler (http://homepages.cwi.nl/~steven/pascal/) , utilizado para o desenvolvimento de vrios
compiladores Pascal escritos em Pascal, incluindo o UCSD p-System
O Pascalzim um compilador gratuito que foi desenvolvido na Universidade de Braslia e utilizado em
vrias disciplinas de introduo a programao na UnB e outras universidades.
Turbo Pascal era o principal compilador Pascal para PCs durante os anos 80 e incio dos anos 90,
devendo sua popularidade ao seu grande poder e pequeno tempo de compilao. Hoje em dia, suas
verses mais antigas (at a verso 5.5) podem ser baixadas gratuitamente no site da Borland (exige
registro)
Virtual Pascal (http://www.vpascal.com/) foi criado por Vitaly Miryanov em 1995 como um compilador
nativo para OS/2, compatvel com a sintaxe do Pascal da Borland. Mais tarde foi comercialmente lanado
pela fPrint, adicionando a ele suporte para Win32, tornando-se um freeware em 2000. Atualmente, ele
pode ser compilado para as plataformas Win32, OS/2 e Linux, sendo compatvel em grande parte com o
Pascal da Borland e o Delphi

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"

Categorias: Pascal (linguagem de programao) Linguagens de programao procedurais


1970 na informtica Linguagens de programao criadas na dcada de 1970
Linguagens de programao educacionais

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.

Das könnte Ihnen auch gefallen