Iterazione

Da Wikipedia, l'enciclopedia libera.

Nella programmazione informatica, l'iterazione, chiamata anche ciclo o con il termine inglese loop, è una struttura di controllo, all'interno di un algoritmo risolutivo di un problema dato, che ordina all'elaboratore di eseguire ripetutamente una sequenza di istruzioni, solitamente fino al verificarsi di particolari condizioni logiche specificate.

Assieme alla sequenza o blocco e alla selezione è una delle tre strutture fondamentali per la risoluzione algoritmica di un dato problema secondo il Teorema di Böhm-Jacopini. Esistono varie forme di iterazione; le più conosciute sono il MENTRE (in inglese: while..do), il RIPETI (in inglese: repeat..until o do..while), ed il PER (comunemente detto ciclo for).

Il cosiddetto "ciclo infinito", o "loop infinito", è un caso di iterazione dovuto solitamente ad un errore di programmazione che manda in stallo l'esecuzione del programma, mentre in alcune tecniche di programmazione soprattutto con microcontrollori è utilizzato in maniera voluta per iterare infinitamente all'interno del programma.

Sintassi[modifica | modifica wikitesto]

MENTRE ( condizione )
    blocco di istruzioni
FINE-MENTRE

L'iterazione MENTRE controlla la condizione e successivamente, se la condizione lo permette, esegue il blocco di istruzioni che contiene, che può anche non essere eseguito nemmeno una volta (ciò avviene nel caso in cui la condizione sia subito falsa).

Esempio in C:

while ( condizione ) {
    ...;
    ...;
    }


RIPETI
    blocco di istruzioni
FINCHÉ condizione

L'iterazione RIPETI termina quando la condizione è falsa, e, siccome la condizione viene controllata dopo aver eseguito il blocco di istruzioni, esegue sempre almeno una volta il ciclo.

Esempio in C:

do {
    ...;
    ...;
    }
while ( condizione );


PER N volte
    blocco di istruzioni
FINE-PER

L'iterazione PER è paragonabile al MENTRE ma contiene una condizione implicita che deriva dal fatto che in questo tipo di ciclo il numero di volte che si dovrà eseguire il blocco di istruzioni è noto sin dall'inizio; moltissimi linguaggi di programmazione obbligano il programmatore ad utilizzare una variabile contatore, il cui compito è contare il numero di iterazioni compiute, che contiene ad ogni ciclo un numero (solitamente intero).

Tale numero assume tutti i valori intermedi via via che i cicli proseguono, partendo da un valore iniziale fino ad arrivare al valore finale (entrambi dichiarati esplicitamente dal programmatore).

La forma sopra diventa quindi:

PER variabile = inizio A fine PASSO = passo
    blocco di istruzioni
FINE-PER

Esempi[modifica | modifica wikitesto]

Per scrivere 10 volte la parola Ciao[modifica | modifica wikitesto]

PER variabile = 1  A 10 PASSO = 1
    SCRIVI "Ciao"
FINE-PER

Esempio in C:

for ( v=1; v<=10; v++ ) {
    printf("Ciao");
    }

Tabellina del 2[modifica | modifica wikitesto]

PER variabile = 2 A 20 PASSO = 2
    SCRIVI variabile
FINE-PER

Esempio in C:

for ( v=2; v<=20; v+=2 ) {
    printf("%d\n",v);
    }

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]