L'istruzionedi salto assume vari nomi nei linguaggi di programmazione quali goto, branch, jump ecc.
La principale osservazione da fare è che l'istruzione di salto non è esecutiva (come
ad esempio multiply, add e move) ma è una istruzione di controllo
cioè comanda lo svolgimento delle istruzioni esecutive (che ad esempio
moltiplicano, sommano, muovono i dati).
C'è un netto distacco tra le due tipologie perché le istruzioni di
controllo modificano l'esecuzione delle seconde, si può dire
che ne dirigono il lavoro.
In particolare le
istruzioni esecutive vengono svolte una dietro l'altra, e jump comanda che invece di andare in sequenza si vada ad eseguire
un'altra istruzione opportunamente contrassegnata. Nel
seguente caso, l'istruzione di salto fa lavorare 'calcola x' invece
di 'move' posta subito sotto
Questo è un esempio di salto incondizionato.
Più complesso è il salto condizionato
il quale si abbina all'istruzione di
confronto che è la seconda istruzione di controllo. L'istruzione di confronto
-
chiamata anche analyze o compare
-
confronta due dati fra loro e fornisce il risultato del confronto. Il salto condizionato
è dunque formato da un compare e da un goto; produce l'esecuzione di una istruzione
esecutiva a seconda del risultato del confronto.
I
salti condizioniati ed incondizionati servono per capire le proprietà di base
della programmazione ma
non sono consigliati nella pratica. In loro vece si usano le macro-istruzioni o strutture di controllo. Mediante queste potenti istruzioni i programmatori organizzano il lavoro che
si dovrà compiere.
1)
La più nota macro è:
IF (a)
THEN (b1)
ELSE (b2)
END-IF
Comanda l'esecuzione del blocco di
istruzioni (b1) se la condizione (a) è vera, altrimenti vengono eseguite
le istruzioni (b2).
2) La seguente struttura governa non due ma n
alternative ciascuna delle quali viene controllata da una apposita condizione cioè se è vera
la
condizione ak allora scatta l'esecuzione bk abbinata
IF (a1)
THEN (b1)
IF (a2)
THEN (b2)
IF (a3)
THEN (b3)
....
....
IF (an)
THEN (bn)
END-IF
3) L'ultima struttura di controllo comanda la ripetizione del
blocco di istruzioni (b) finché resta vera la condizione (a)
DO WHEN (a)
(b)
END-DO
In circolazione ci sono diverse
versioni di queste tre macro fondamentali che non dettagliamo perché riguardano
i singoli linguaggi di programmazione.
Resta valido il contenuto generale cioè il ruolo di
'governo' che hanno le istruzioni
sopra commentate. Il loro significato è completamente diverso da tutte
le altre che eseguono calcoli, movimenti, ecc. e l'insegnante non mancherà di
evidenziare
questa basilare caratteristica.
anno 2010 |