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.
|