Programmazione degli Elaboratori

Costrutti di controllo

I costrutti di controllo di un linguaggio di programmazione strutturata sono quei dispositivi sintattici che permettono di combinare tra loro istruzioni elementari creando cosi istruzioni complesse o blocchi di istruzioni, controllando il flusso della loro esecuzione. I costrutti di controllo fondamentali si possono classificare in:

Esecuzione in sequenza

Il modo più semplice per combinare istruzioni tra di loro consiste nell'eseguirle una dopo l'altra, in sequenza. In C, C++ e Java è possibile creare una sequenza o blocco di istruzioni semplicemente scrivendo le istruzioni una di seguito all' altra e racchiudendo questa sequenza tra parentesi graffe.

Costrutti iterativi

I costrutti iterativi servono per eseguire dei cicli, cioè per ripetere un determinato blocco di istruzioni in modo controllato. In C, C++ e Java, il tipo più semplice di costrutto iterativo è quello che viene creato mediante la sintassi:

while (condizione)
(istruzione)


La condizione viene controllata all'inizio di ogni iterazione e l' istruzione viene eseguita solo se la condizione è verificata; nel momento in cui la condizione non è verificata, l' esecuzione dell' iterazione si interrompe. Un costrutto simile a questo è il seguente:

do
(istruzione)
while
(condizione)


In questo caso l' istruzione viene eseguita prima del controllo della condizione e quindi sempre almeno una volta. In C, C++ e Java un tale meccanismo è reso ancora più flessibile e generale con il costrutto:

for ((inizializzazione); (condizione);(incremento)
(istruzione)


L' inizializzazione viene eseguita una sola volta prima dell' inizio del ciclo; la condizione viene controllata prima di ogni iterazione e l' istruzione viene eseguita solo se la condizione è verificata.

Costrutti di selezione

Costrutti di selezione in C, C++ e Java sono rappresentativi di quelli generalmente disponibili in qualsiasi linguaggio di programmazione di alto livello. Possiamo distinguere due tipi fondamentali di costrutto di selezione:

La sintassi della selezione binaria è:

if ((condizione)
(istruzione1) else
(istruzione2)


Se la condizione è verificata viene eseguita l'istruzione (istruzione1), altrimenti viene eseguita l'istruzione (istruzione2).
La selezione tra molte alternative è la seguente:

dove l' espressione viene prima di tutto valutata e confrontata con tutte le n costanti; se il suo valore è uguale a quello dell' iesima costante, viene eseguita l' istruzione (istruzione i) altrimenti, viene eseguita, se presente, l' istruzione (istruzione0).



Disponendo dei tre costrutti di controllo illustrati è possibile realizzare qualsiasi algoritmo senza utilizzare alcuna istruzione di salto utilizzate per esempio nei linguaggi assembly. Il fatto che un programma scritto utilizzando istruzioni di salto possa essere riscritto in modo da utilizzare solo i costrutti di controllo della programmazione strutturata non vuol dire necessariamente che le due versioni del programma abbiano la stessa dimensione o la stessa efficienza. Esiste infatti un teorema che afferma che per ogni intero n esiste un programma di n istruzioni che usa i salti, che non può essere convertito in un programma senza salti con meno di 1,3 istruzioni, a meno che tale programma non sia più lento.























































Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.