Cicli iterativi

L’iterazione è un algoritmo che ripete una sequenza di istruzioni fin quando cessa il verificarsi di una determinata condizione. Nella sua forma generale esso può essere così schematizzato:

while

Figura 1 – Ciclo WHILE

Fin tanto che la condizione specificata nel rombo è vera, viene eseguita la sequenza presente nel ramo SI, in genere l’ultima istruzione contenuta nella sequenza è un incremento di una variabile che determinerà poi il controllo successivo. Nel momento in cui la condizione risulta falsa, l’esecuzione segue il ramo NO e procede con l’istruzione che viene dopo lo schema.

Uno schema del genere si chiama anche “ciclo iterativo”. La sequenza presente nel ramo SI si chiama “contenuto del ciclo”. La condizione che determina la ripetizione o meno del ciclo si chiama “controllo del ciclo”.

Esistono fondamentalmente tre tipi di cicli iterativi, Il ciclo while, il ciclo do while, e il ciclo for.

CICLO WHILE

E’ chiamato anche ciclo con controllo in testa, perché il controllo del ciclo è posto prima del contenuto del ciclo. Lo schema che lo descrive è quello sopra riportato.

while(condizione){

//istruzioni del ciclo

}

CICLO DO WHILE

A differenza del ciclo while, in questo tipo di iterazione viene eseguita prima l’istruzione (o il gruppo di istruzioni) e soltanto dopo si verifica la condizione che determina o meno la ripetizione del ciclo. In questo modo le istruzioni del ciclo vengono eseguite almeno una volta. A causa della sua struttura questo ciclo è chiamato ciclo con controllo in coda. Può essere così schematizzato:

dowhile

Figura 2 – Ciclo DO-WHILE

 

do{

//istruzioni del ciclo

}while(condizione);

 

CICLO FOR

Sostanzialmente il ciclo for, dal punto di vista sintattico è identico al ciclo while. È stato introdotto, perché fornisce una maggior compattezza sintattica, e quindi il suo uso risulta più appropriato quando il ciclo iterativo svolge la funzione di eseguire un conteggio. La sua implementazione è:

for(int indice;condizione;incremento indice)

{

//istruzioni del ciclo

 

ESEMPIO