Linguaggio Pascal |
||
per collaborazioni, commenti, critiche, e altro contattateci alla e-mail: clubinfo@libero.it risponderemo al più presto! |
Seconda lezione
Pagina principale | Lezione precedente | Prossima lezione
Le variabili, e di conseguenza il loro tipo, che verranno utilizzate all'interno del programma, devono essere dichiarate in questa sezione con la seguente notazione:
var < nome variabile > : < tipo della variabile >;
esempio:
var totale : integer;
Tra l'inizio (begin) e la fine (end) vi è la sezione istruzioni che rappresenta il corpo del programma.
Tra le istruzioni, quella di assegnazione (:=)assume un ruolo fondamentale:
< nome della variabile > := < espressione > ;
Con questa notazione si vuole indicare che il risultato dell'espressione "espressione" viene posto come contenuto della variabile a sinistra del segno := distruggendo il contenuto precedente. A tal proposito può essere interessante osservare il seguente codice:
x := 1;
x := x+1;
Alla prima istruzione, la variabile x (precedentemente dichiarata di tipo integer) assume il valore 1. Nella seconda istruzione, prima viene valutata l'espressione
x+1
che in questo caso darà 2, e poi il risultato verrà assegnato alla variabile x, che finalmente varrà 2 e non più 1.
Un altro tipo di assegnazione, è quello che permette di assegnare ad una variabile un dato proveniente "dall'esterno" dell'ambiente di esecuzione. Si sta parlando dell'istruzione "read".
read(y);
Assegna alla variabile y il dato passato dall'esterno.
L'operazione opposta è quella tramite la quale viene inviato all'esterno il contenuto di una variabile, e viene eseguita tramite l'istruzione "write":
write(z);
Oltre all'istruzione di assegnazione, rivestono un ruolo importante anche le istruzioni strutturate o strutture di controllo. Queste si dividono in tre tipi:
Nella sequenza le istruzioni vengono eseguite una dopo l'altra nell'ordine indicato. Una rappresentazione formale può essere del tipo:
...
istruz 1
istruz 2
istruz 3
...
istruz n
...
In conseguenza del verificarsi o meno di una condizione, la selezione permette di eseguire una porzione di codice piuttosto di un'altra:
if < condizione > then istruzione 1
else istruzione 2
Tramite l'iterazione è possibile ripetere più volte l'esecuzione di una porzione di codice sotto il controllo di una condizione logica. Il Pascal mette a disposizione tre costrutti per l'implementazione dell'iterazione:
Ognuno di questi costrutti sarà analizzato in dettaglio nelle prossime lezioni.
Questo primo esempio è volutamente banale, per iniziare a mettere in evidenza l'uso di alcuni operatori e costrutti. Si tratta di effettuare la divisione tra due numeri interi, effettuando preliminarmente un controllo sul divisore. Per un migliore commento sono stati inseriti (nel listato del codice) dei numeri di riga, che non fanno parte del Pascal, ma di altri linguaggi (ad esempio Basic).
1 program divisione;
2 uses crt;
3 var risultato, dividendo, divisore : integer;
4 begin
5 write('Dividendo ');
6 readln(dividendo);
7 write('Divisore ');
8 readln(divisore);
9 if divisore =
0
10
then write ('Divisione impossibile')
11 else
12
begin
13
risultato = dividendo div divisore;
14 write('Il risultato è ', risultato);
15 end
16 repeat until keypressed;
17 end.
Per il momento non ci soffermeremo sul significato del rigo 2.
Come vedremo più avanti, esso è stato introdotto per poter utilizzare il
comando keypressed del rigo 16. Basti sapere che il risultato che si
ottiene con il rigo 16, è quello di non far sparire la finestra di
"output" del programma finché non viene premuto un tasto.
Nella riga 3 vediamo come è possibile dichiarare più variabili
di tipo intero, semplicemente elencandole, separate da una virgola, prima di
specificare il tipo.
Attraverso le righe 5 e 7, l'utente che esegue il programma ha
idea di cosa deve inserire. Mentre le righe 6 e 8 effettuano l'assegnazione dei
valori inseriti dall'utente alle variabili "dividendo" e
"divisore".
Degno di nota è l'utilizzo del costrutto begin ... end che
raggruppa le istruzioni 13 e 14, facendole eseguire entrambe nel caso in cui il
divisore sia diverso da zero. Si lascia allo studente la verifica di cosa
succede se non si utilizza questo costrutto.
Anche se in questo caso può sembrare superfluo, è buona norma fare precedere l'inizializzazione delle variabili prima del loro uso all'interno del programma. Così facendo, prima del rigo 5 avremmo dovuto scrivere la seguente porzione di codice:
dividendo = 0;
divisore = 0;
risultato = 0;
Attenzione ai ";"(punto
e virgola) che seguono ogni istruzione e al "."
(punto) che segue l'ultimo end. Essi sono molto importanti. Sostanzialmente ogni
punto e virgola "avvisa" il compilatore che una istruzione è finita e
che ne segue un'altra, mentre il punto finale avvisa della fine del codice.
Il fatto che il codice sia scritto prevedendo una istruzione per rigo, non è
una necessità dettata dal compilatore, bensì un modo di scrivere che risulta
auspicabile perché rende più agevole la lettura e quindi la correzione nonché
la manutenzione del codice stesso. Infatti, a livello teorico, è possibile
scrivere il codice su un unico rigo.
Questo articolo è stato scaricato dal Club di informatica |