On Amazon.it: https://www.amazon.it/Complete-Concordances-James-Bible-Azzur/dp/B0F1V2T1GJ/


Pascal (llenguatge de programació) - Viquipèdia

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:

  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.


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


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...
Static Wikipedia March 2008 on valeriodistefano.com

aa   ab   af   ak   als   am   an   ang   ar   arc   as   ast   av   ay   az   ba   bar   bat_smg   bcl   be   be_x_old   bg   bh   bi   bm   bn   bo   bpy   br   bs   bug   bxr   ca   cbk_zam   cdo   ce   ceb   ch   cho   chr   chy   co   cr   crh   cs   csb   cv   cy   da   en   eo   es   et   eu   fa   ff   fi   fiu_vro   fj   fo   fr   frp   fur   fy   ga   gd   gl   glk   gn   got   gu   gv   ha   hak   haw   he   hi   ho   hr   hsb   ht   hu   hy   hz   ia   id   ie   ig   ii   ik   ilo   io   is   it   iu   ja   jbo   jv   ka   kab   kg   ki   kj   kk   kl   km   kn   ko   kr   ks   ksh   ku   kv   kw   ky   la   lad   lb   lbe   lg   li   lij   lmo   ln   lo   lt   lv   map_bms   mg   mh   mi   mk   ml   mn   mo   mr   ms   mt   mus   my   mzn   na   nah   nap   nds   nds_nl   ne   new   ng   nl   nn   nov  

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu