Le strutture di controllo nei programmi
Cos'è una struttura di controllo
Nella programmazione le strutture di controllo sono istruzioni che permettono di modificare l'ordine sequenziale di esecuzione del codice di un programma informatico.
Un esempio pratico. In questo diagramma ho inserito una struttura di controllo. Il blocco di istruzioni viene eseguito soltanto se la condizione di controllo si verifica ( Y ). Se non si verifica ( N ) il blocco non viene eseguito.
Le tipologie di strutture di controllo
Esistono due tipi di strutture di controllo:
- Le istruzioni condizionali. Sono istruzioni che vincolano l'esecuzione di una parte del codice del programma al presentarsi di un particolare evento. Ad esempio, "se piove" allora "prendi l'ombrello".
- Le istruzioni iterative. Sono istruzioni che generano un ciclo ( iterazione ). Un blocco di istruzioni viene eseguito più volte. Ad esempio, "conta da 1 a 10".
La struttura condizionale
La struttura di controllo condizionale è una delle più frequenti nella programmazione.
Consiste nel processo "if then else" ossia "se allora altrimenti".
Come funziona?
Se una condizione si verifica (if), il programma esegue il blocco di istruzioni (then) altrimenti ne esegue un altro (else).
Un esempio pratico
In questo diagramma ho rappresentato la decisione di accendere o meno le luci in un giardino.
Se il sensore rileva l'assenza di luce ( notte=Y ) accende le luci ( luci=1 ).
Viceversa, se non la rileva ( notte=N ) spegne le luci ( luci=0 ).
E' molto semplice.
La struttura iterativa
La struttura di controllo iterativa ( o ciclica ) ripete l'esecuzione di un blocco di istruzioni del codice sorgente del programma.
Esistono due tipi di strutture iterative:
- Ciclo determinato. Il numero di cicli è predeterminato dal programmatore. Ad esempio, l'algoritmo "conta da 1 a 10" genera dieci cicli ( iterazioni ). In molti linguaggi di programmazione è la struttura FOR.
- Ciclo indeterminato ( condizionato ). Il numero dei cicli non è predeterminato, bensì dipende dal verificarsi o meno di un evento durante l'esecuzione del programma. Ad esempio, "ferma la macchina finché il semaforo è rosso". In questo caso non si sa per quanto tempo il semaforo sarà rosso. Si tratta della strutture DO WHILE e UNTIL WHILE.
Un esempio pratico
In questo diagramma visualizzo il contenuto della variabile C tramite una struttura FOR.
Nel primo blocco il programma assegna alla variabile C il valore uno ( C=1 ).
Nel secondo blocco stampa a video il contenuto della variabile C.
Nel terzo blocco controlla se il valore della variabile C è maggiore di 10.
- Se C è minore di 10. La struttura di controllo aumenta di uno il valore della variabile ( C=C+1 ) e torna indietro con un feed-back per cominciare una nuova iterazione.
- Se C non è minore di 10. La struttura di controllo esce dal ciclo e termina l'esecuzione del programma.
L'output del programma sullo schermo del computer è il seguente:
1
2
3
4
5
6
7
8
9
10
Con questo esempio dovrei aver chiarito a cosa serve una struttura iterativa in un programma informatico.
Grazie ai cicli posso ottenere risultati che altrimenti richiederebbero molte righe di codice.