Linguaggio Pascal

 

per collaborazioni, commenti, critiche, e altro contattateci alla e-mail: clubinfo@libero.it risponderemo al più presto!

di Silvio Sorace


Seconda lezione

4    Dichiarazioni

5    Istruzioni

6    Esempio di programma


Pagina principale | Lezione precedente | Prossima lezione

4 Dichiarazioni

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;

torna sopra

5 Istruzioni

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:

5.1 Sequenza

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

5.2 Selezione

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

5.3 Iterazione

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.

torna sopra

6 Esempio di programma

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.

torna sopra


Bibliografia

Questo articolo è stato scaricato dal Club di informatica
Pagina curata da:
Silvio Sorace