Pascal (llenguatge de programació)

De Viquipèdia
Dreceres ràpides: navegació, cerca

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. Tanmateix, amb el temps la seva utilització es va estendre 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:

  1. 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.
  2. 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.


Característiques úniques[modifica | modifica el codi]

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.

Implementacions[modifica | modifica el codi]

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 substituir 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 construir compiladors que poguessin escriure codi per a diferents arquitectures de maquinari. 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.

Tanmateix, Borland va decidir millorar aquesta extensió del llenguatge introduint 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.

Exemple de codi utilitzant l'estructura lineal[modifica | modifica el codi]

 program arrel;
 
(*Programa que obté l'arrel quadrada d'un nombre real x donat.*)
 
 uses
  crt;
 
 var 
   x, y: real;
 
 begin
  writeln('Calcular l''arrel quadrada de x');
   writeln;
   writeln('Entrar x: '); 
   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,' es el nombre complex ',y,'i')
    else
      writeln('L''arrel quadrada de ',x,' es ',y);
   writeln; 
   writeln('Fi');
   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                                                                         
     x:=1;                                                                    
     s:=0;                                                                    
     repeat                                                                   
           s:=s+x;                                                            
           x:=x+1;                                                            
     until x=50;                                                              
     writeln('la suma es  ',s);                                               
     readln;                                                                       
 end.

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Pascal (llenguatge de programació) Modifica l'enllaç a Wikidata