edutecnica
 


Ciclo for (ripetizione con contatore)

Il ciclo for è un costrutto presente in tutti i linguaggi di programmazione procedurale. La sua forma generale è la seguente:

for(inizializzazione;condizione;incremento){
    istruzioni;
}

l'inizializzazione è, nella sua forma più semplice un istruzione di assegnamento con la quale il compilatore posiziona il valore iniziale della variabile di controllo del ciclo.
La condizione è una espressione relazionale usata per valutare la variabile di controllo al fine di determinare il momento di uscita dal ciclo; l'esecuzione prosegue fintanto che la condizione è vera, mentre quando diviene falsa l'esecuzione del programma continua dall'istruzione successiva al for.
L'incremento definisce il modo in cui la variabile di controllo cambia il suo valore ad ogni ripetizione del ciclo. Queste tre parti devono essere separate da un punto e virgola. le istruzioni da eseguire in modo iterativo possono anche essere più di una.
In presenza di più istruzioni è necessario racchiuderle tra una coppia di parentesi graffe.
Nell'esempio illustrato in figura i è la variabile di controllo (sempre di tipo int).

l'esempio seguente scrive i numeri dall' 1 al 10 sullo schermo:

int i;
for(i=1;i<=10;i++) cout<<i;


il programma pone la variabile i a 1 chiama l'istruzione cout fino a quando i rimane minore o uguale a 10; questa operazione si ripete sino a quando i non diventa maggiore di 10, momento in cui il ciclo ha fine.In questo caso le parentesi graffe non sono indispensabili in quanto il corpo del ciclo è costituito da un unica istruzione.

int x;
for(int i=0;i<10;i++) {
cout<<"inserisci un numero:";
cin>>x;
}

Uscita prematura da un ciclo for

Le considerazioni precedenti non implicano che un dato ciclo debba eseguire necessariamente le sue n iterazioni previste, questo perchè l'istruzione break ne provoca la terminazione forzata.

char ch;
for(int i=0;i<10;i++) {
cout<<"inserisci una lettera:";
cin>>ch;
if(ch=='Z') break;
}


il programma accetterà l'inserimento di 10 lettere da tastiera, ma non ci saranno necessariamente 10 iterazioni, infatti, se venisse inserita la lettera 'Z' il ciclo terminerebbe istantaneamente senza necessariamente eseguire 10 acquisizioni.



edutecnica