LA TUA PASSWORD...'s profileIL RUBATORE DI PASSWORD!PhotosBlogListsMore ![]() | Help |
|
September 20 PascalIn informatica, il Pascal è un linguaggio di programmazione creato da Niklaus Wirth.
Il Pascal si basa sul linguaggio ALGOL e fu così chiamato in onore del matematico e filosofo francese Blaise Pascal, inventore della prima macchina calcolatrice automatica.
Wirth era un docente di programmazione e sentiva la mancanza di un vero linguaggio di programmazione adatto alla didattica e che fosse dotato di strutture dati avanzate. Il BASIC, creato nel 1964, era facile da imparare ma non aveva strutture dati avanzate e soprattutto non incoraggiava affatto ad analizzare il problema da risolvere prima di scrivere il codice. Perciò, Wirth creò da zero il Pascal, inserendo nel linguaggio il concetto di programmazione strutturata.
La prima implementazione del linguaggio divenne operativa nel 1970, ma raggiunse una discreta diffusione nel campo industriale nel 1973 con la pubblicazione del testo: "Pascal user manual and Report". Questo è il testo di riferimento standard per il linguaggio.
TeX e buona parte delle prime versioni del sistema operativo del Macintosh furono scritte in Pascal.
Le caratteristiche principali del Pascal sono una sintassi molto chiara e molto rigida, l'obbligo di dividere il programma in sezioni ben definite (uses, declaration, implementation) e di dichiarare in anticipo tutte le variabili usate nel programma; permette l'uso di tipi di dati complessi e definibili dal programmatore (i record); permette (con alcune limitazioni) l'uso dei puntatori e l'allocazione dinamica della memoria (new e dispose). Al posto delle subroutine di uso comune nei linguaggi di allora, il Pascal introduce le procedure e le funzioni, che estendono il concetto di subroutine incapsulando al loro interno le variabili e i dati locali, ed esponendo solo i valori in ingresso ed in uscita. Inoltre, nella sua formulazione originale, era privo dell'istruzione GOTO, aggiunta poi in seguito con riluttanza.
Essendo un linguaggio pensato per degli utenti inesperti, spesso i compilatori Pascal hanno un atteggiamento materno nei confronti del programmatore, partendo dal presupposto che qualunque irregolarità del codice scritto sia un errore, che infastidisce un po' gli esperti. In cambio è un linguaggio completo e potente, e soprattutto educa fin dall'inizio ad adottare un buono stile di programmazione e ad analizzare a fondo il problema prima di cominciare a scrivere il codice, cosa che rende i programmi Pascal più chiari e più facili da leggere.
Data la diffusione negli ambienti scolastici, ne sono state create versioni ad oggetti, come il Turbo Pascal e l'Object Pascal (utilizzato nell'ambiente di sviluppo Delphi di Borland).
Programma di esempio
Il seguente esempio stampa il testo "Hello world". program hello(input, output);
begin writeln('Hello World'); readln; end. Nel linguaggio pascal, e come in tutti gli altri linguaggi di programmazione si usa una sintassi per produrre un sofware.
Program Parola che identifica l'inizio di tutti i programmi. Type Dichiarazioni di tipo: il programmatore definisce un tipe di variabile non esistente. Var Da questo punto in poi vengono dichiarate le variabili. Begin Dopo aver dichiarato eventuali varibili,tipi,procedure,funzioni e tutto il resto,da questo punto si inizi a programmare. end. l'end. chiude tutte le applicazioni in pascal Il Pascal mette a disposizione molti tipi di variabili:
Tipi interi, utilizzati per memorizzare valori interi, possono consentire di memorizzare o meno numeri negativi. In Pascal sono:
Tipi reali:
Tipi strutturati:
L'input di variabili da tastiera, viene effettuato tramite l'utilizzo del comando readln(nome_variabile).
L'output invece usa il comando writeln(nome_variabile); la stampa a video usa lo stesso il comando writeln, però il testo è tra apici ' ' (writeln('ciao mondo');) I/O di interi: program input_output(input, output); var n1,n2,ris:integer; {Dichiarazione tipo intero} begin writeln('Inserisci n1'); {viene visualizzato il testo tra ' '} readln(n1); {comando di input, la variabile introdotta viene messa in n1} writeln('Inserisci n2'); readln(n2); ris:=n1+n2; {fa la somma di n1 e n2 e il risultato vine messo in ris} writeln('La somma e uguale a ',ris); {stampa il messaggio tra ' ' e la variabile ris} end. I/O reali: per l'input di numeri reali il metodo resta sempre lo stesso( readln(varibile)),
invece per l'output, per vedere numeri comprensibili bisogna usare una sintassi diversa nel writeln program input_output(input, output); var n1,n2,ris:real; {Dichiarazione tipo reale} begin writeln('Inserisci n1'); {viene visualizzato il testo tra ' '} readln(n1); {comando di input, la variabile introdotta viene messa in n1} writeln('Inserisci n2'); readln(n2); ris:=n1+n2; {fa la somma di n1 e n2 e il risultato vine messo in ris} writeln('La somma e uguale a ',ris:3:2); {stampa il messaggio tra ' ' e la variabile ris, con 3 numeri prima della , e 2 dopo} end. Nella stampa a video abbiamo usata una 'modifica' del comando writeln: la modifica sta nell'aggiungere var:n:m dove var è il nome
della variabile da visualizzare, n è il numero di cifra prima della virgola da visualizzare e m è quella dopo la virgola. Se ci sono più cifre da visualizzare di quelle indicate, esse non vengono fatte vedere. I/O caratteri: l'input e l'output di caratteri(numeri, lettere, simboli), è molto semplice da effettuare, per il semplice motivo che è lo stesso metodo di i/o dei numeri interi program input_output(input, output); var ch:char; {Dichiarazione tipo carattere} begin writeln('Inserisci il carattere'); {viene visualizzato il testo tra ' '} readln(ch); {comando di input, la variabile introdotta viene messa in ch} writeln('Il carattere inserito è ,ch); {stampa il messaggio tra ' ' e la variabile ch} end. I/O stringhe: le variabili stringhe in effetti non sono altro che array di char (vettori di caratteri). Questo esempio è veramente semplice in confronto alle potenzialità del Pascal, difatti con questo linguaggio si possono creare vere e proprie applicazioni. Comments (1)
TrackbacksThe trackback URL for this entry is: http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!169.trak Weblogs that reference this entry
|
|
|