UD 3.2b: Programmazione in Pascal (1)
Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione tra i più semplici, il Pascal. Questo linguaggio presenta tutte le caratteristiche dei linguaggi più complessi, anche se non è molto utilizzato dai programmatori professionisti (se non nella versione chiamata Delphi).
Tutti programmatori? No Programmare un calcolatore significa prima di tutto fornire algoritmi di soluzione al problema da risolvere. In sé la programmazione sembrerebbe un attività non particolarmente complessa, e questo è, per certi versi, anche vero. Ma basta dare uno sguardo a problemi anche in apparenza semplici per verificare che, invece, la programmazione di un computer (anche relativamente alla semplice costruzione di siti Internet) presenta notevoli insidie Necessario un robusto background teorico sia matematico che informatico.
Il Linguaggio di Programmazione Pascal Un compilatore Pascal (Dev-Pascal 1.9.2 + Free Pascal compiler) lo si può scaricare, gratuitamente, su rete (fai la ricerca con google per accedere ad uno dei siti da cui è possibile fare il download) http://www.bloodshed.net/dev/devpas192.exe
Il Linguaggio di Programmazione Pascal Può risultare utile (non è però richiesto) consultare un manuale sulla programmazione in Pascal. Un manuale lo si può trovare in rete agli indirizzi http://it.wikibooks.org/wiki/programmare_in_pascal (Wikipedia); in particolare è possibile scaricare il seguente manuale: http://upload.wikimedia.org/wikibooks/it/1/10/pascal.pdf http://www.marcocantu.it/epascal/default.htm (Pascal nella versione Delphi)
Il Linguaggio di Programmazione Pascal Un programma nel linguaggio di programmazione Pascal è suddiviso in due blocchi (DATI) Blocco delle dichiarazioni degli oggetti di lavoro (principalmente variabili, costanti e tipi di dato). (ISTRUZIONI) Blocco delle istruzioni racchiuse tra le parole chiave begin. end; Ogni programma comincia con la parola program seguita dal nome che noi attribuiamo al programma Ogni istruzione termina con un punto e virgola ;
Variabili e costanti Una costante è un identificatore a cui è associato un valore che resterà fisso per tutta la durata dell'esecuzione del programma Una variabile è invece un identificatore il cui valore può variare più volte durante l'esecuzione del programma Una costante, a differenza di una variabile, assumerà sempre lo stesso valore. Esempio: nel caso in cui volessimo calcolare l'area di un cerchio, potremmo dichiarare come costante quel numero chiamato pi greco, il quale è valorizzato sempre a 3,14.
Definizione di variabili e costanti Le variabili e le costanti vanno dichiarate all inizio del programma. Per definire una variabile o una costante bisogna specificare anche il tipo di dato che essa assumerà nel corso dell elaborazione. Un qualsiasi linguaggio di programmazione presenta diversi tipi di dato elementari (predefiniti) e altri che possono essere costruiti a partire dai tipi di dato elementari
Tipi di Dato Predefiniti Tipi di dato elementari: Integer (numero intero) Real (numero reale) Char (singolo carattere) Boolean (può valere VERO o FALSO) Tipi di dato composti String (sequenza di caratteri) Array (Vettore o matrice) Record (gruppo di dati eterogenei) Text (File contenente testi)
Esempi di dichiarazioni Const Mio_Nome = Luigi ; Mia_Età = 35; Var Numero_Brano : integer; Titolo_Brano : string; Costo_CD : real;
Istruzioni principali Principali istruzioni Lettura/scrittura Assegnazione (corrisponde alla Sequenza) Decisione (corrisponde alla decisione binaria) Ciclo Per facilitare la lettura del codice, è opportuno che le istruzioni vengano scritte indentate, in base alla profondità dell istruzione
Istruzioni di Lettura e scrittura Servono per leggere e scrivere il valore di una variabile dall input o sull output (ad es. lettura da tastiera e scrittura su video) Write (Variabile): corrisponde ad inviare il valore corrente della Variabile alla periferica di output (tipicamente il monitor); Read (Variabile): corrisponde a inserire nella Variabile il valore che viene immesso dalla periferica di input (tipicamente la tastiera)
Istruzioni di I/O: Esempio Visualizza il messaggio Ciao a tutti program Ciao; begin end. writeln('ciao a tutti'); Readln; (*) Readln viene richiesta dal dev-pas per mantenere aperta la finestra di output, che altrimenti scomparirebbe subito
Istruzioni di I/O: Esempio Legge un carattere da input e lo replica in output program Leggi; var car: char; begin readln(car); writeln(car); Readln; end. b car b read(car); b write(car);
Istruzione di Assegnazione (Sequenza) Assegnazione: Istruzione che assegna il valore attuale di un espressione ad una variabile Sintassi: Nome della Variabile := Espressione;
Istruzione di Assegnazione: Esempio Legge due numeri e manda in output la loro somma program Somma; var x,y,totale: integer; begin readln(x); readln(y); totale :=x+y; writeln (totale); Readln; Readln; end.
Istruzione di Assegnazione: Esempio Legge due numeri e manda in output la loro somma (con prompt) program Somma2; var x,y,totale: integer; begin Write ('Inserisci il primo numero: '); Read (x); Write ('Inserisci il secondo numero: '); Read (y); totale := x+y; Writeln ('La somma vale: ',totale); Write ('Premi INVIO per terminare'); Readln; Readln; end.