Pascal (llenguatge de programaci??)
De Viquip??dia
Pascal ??s un llenguatge de programaci?? desenvolupat pel professor Niklaus Wirth a finals dels anys 60. El seu objectiu era crear un llenguatge que facilit??s l'aprenentatge de la programaci?? als seus alumnes. No obstant, amb el temps la seva utilitzaci?? es va extendre m??s enll?? de l'??mbit acad??mic per a convertir-se en una eina per la creaci?? d'aplicacions de tot tipus.
Pascal es caracteritza per ser un llenguatge de programaci?? estructurat fortament tipificat. Per tant:
- El codi est?? dividit en fragments f??cils de llegir, denominats funcions o procediments. D'aquesta forma Pascal facilita la utilitzaci?? de la programaci?? estructurada, en oposici?? a l'antic estil de programaci?? monol??tica.
- El tipus de dada de totes las variables ha de ser declarat pr??viament per tal que s'habiliti el seu ??s.
El nom de Pascal va ser escollit en honor al matem??tic Blaise Pascal.
Taula de continguts |
[edita] Caracter??stiques ??niques
A difer??ncia dels llenguatges de programaci?? derivats del C, Pascal utilitza el s??mbol := per a l'assignaci?? en comptes de =. Encara que el segon ??s m??s conc??s, la pr??ctica ha demostrat que molts usuaris utilitzen el s??mbol d'igualtat per a comparar valors, en comptes del que pertoca en C (==). Aquesta sintaxis porta a molts errors o bugs, dif??cils de localitzar en un codi C. Donat que Pascal no permet assignacions dins de les expressions, i utilitza una sintaxis diferent per a les assignacions i les comparacions, evita aquest tipus d'errors.
A m??s, els seus programes tenen definides dues parts: la declaraci?? i l'execuci??. A la primera part ha d'apar??ixer tot el que s'utilitzar?? en la segona, ja que si no ??s aix??, es detecta el codi com a desconegut i s'eviten certes incomprensions. A la part declarativa s'enuncien Unit existents, procedimients, funcions, variables, constants i nous tipus de dades estructurades.
Una altra difer??ncia important ??s que en Pascal, el tipus d'una variable es fixa en la definici??; l'assignaci?? a variables de valors de tipus incompatible no estan autoritzades, a difer??ncia del C, on el compilador intenta trobar una interpretaci?? a quasi qualsevol tipus d'assignaci??. Aix?? evita errors comuns on les variables s??n utilitzades incorrectament, degut a que el seu tipus ??s desconegut. Tamb?? s'evita la necessitat de la notaci?? hongaresa, que afegeix prefixos als noms de les variables indicant el seu tipus.
[edita] Implementacions
Les primeres versions del compilador de Pascal (la m??s distribu??da fou UCSD Pascal) tradu??en el llenguatge en codi per a una m??quina virtual anomenada m??quina-P. Com a conseq????ncia, tan sols una petita part de l'int??rpret havia de ser reescrita cap a moltes arquitectures.
Als anys 80, Anders Hejlsberg va escriure el compilador Blue Label Pascal per a la Nascom-2. M??s tard va anar a treballar per a Borland i va reescriure el seu compilador que es va convertir en Turbo Pascal per a la IBM PC. Aquest nou compilador es va vendre per 49$, un preu orientat a la distribuci?? massiva.
El compilador econ??mic de Borland va tenir una llarga influ??ncia en la comunitat de Pascal, que va comen??ar a utilitzar principalment el IBM Pc. Tot buscant un llenguatge estructurat, molts aficionats al PC van substitu??r el BASIC per aquest producte. Donat que Turbo Pascal nom??s estava disponible per a una arquitectura, tradu??a directament a codi m??quina de l'Intel 8088, aconseguint aix?? programes que s'executaven molt m??s r??pidament que els que es produ??en en esquemes interpretats.
Durant els anys 1990 va passar a estar disponible la tecnologia necess??ria per a constru??r compiladors que poguessin escriure codi per a diferents arquitectures de hardware. Aix?? va permetre que els compiladors de Pascal tradu??ssin directament al codi de l'arquitectura en qu?? s'executessin.
Amb Turbo Pascal versi?? 5, Borland, es va agregar la programaci?? orientada a objectes a Pascal.
No obstant, Borland va decidir millorar aquesta extensi?? del llenguatge introdu??nt el seu producte Delphi, dissenyat a partir de l'est??ndar Object Pascal, proposat per Apple com a base. Borland tamb?? el va anomenar Object Pascal en les primeres versions, pero va canviar el nom a llenguatge de programaci?? Delphi en les seves ??ltimes versions.
[edita] Exemple de codi utilitzant l'estructura lineal
program arrel(input, output);
(*
Obt?? l'arrel quadrada d'un nombre real x qualsevol.
*)
var x, y: real;
begin
writeln('** Calcular l'arrel quadrada de x **');
writeln;
writeln('Entrar x (> 0): '); readln(x);
y := sqrt(abs(x)); (* Arrel quadrada del valor absolut de x per evitar arrels complexes *)
writeln;
if (x<0) then (* Si x ??s negatiu, el resultat s'escriu com a complex *)
writeln('L'arrel quadrada de ', x, ' ??s el nombre complex ', y,'i')
else
writeln('L'arrel quadrada de ', x, ' ??s ', y);
writeln; writeln('** Fin **');
readln; (* Espera que l'usuari premi enter per a sortir del programa *)
end.
Un altre exemple:
program suma; uses crt;
var x,s:integer;
begin
clrscr;
x:=1;
s:=0;
repeat
s:=s+x;
x:=x+1;
until x=50;
writeln('la suma es ',s);
readln;
end.
[edita] Enlla??os externs
- Desenvolupament de Software en Pascal Comunitat virtual per a l'intercanvi d'informaci?? en castell?? sobre el desenvolupament de software en Pascal per a professionals, docents i estudiants.
- Museu de Borland, permet la desc??rrega gratu??ta de software antic
- Essential Pascal
- Turbo-Pascal.com
Llenguatges de programaci?? |
---|
Ada | ALGOL | Assemblador | Awk | Basic| BCPL | C | C++ | C# | Cobol | D | Delphi | Eiffel | Forth | Fortran | Haskell | Java | Lisp | Logo | MAGIC | Mercury | Miranda | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | Prolog | Python | Rexx | Ruby | Scala | Smalltalk | Altres llenguatges... |