salve. Il ciclo for è il ciclo più potente fra i 3 e ora proverò a spiegartelo al meglio.
la sintassi è :
for (espressione1 ; espressione2 ; espressione3) istruzioni
facciamo subito un esempio cosi capiamo subito.
Il seguente esempio esegue un conto alla rovescia da 10 a 1.
for ( i = 10; i > 0; i--)
cout << "Conteggio : " << i << '\n';
ora ti spiego l' esempio.
allora per prima cosa il for da valore 10 alla variabile i.
Subito dopo controlla se i è maggiore di 0;
i ha il valore 10 ( prima abbiamo assegnato ad i 10 ) e quindi è maggiore di 0.
L' espressione è pertanto vera e quindi il for passa al cout e da in output
Conteggio : 10
successivamente si ritorna al for che decrementa di 1 il valore di i ( lo fa tramite l' istruzione i--).
ora i ha valore 9. i è ancora maggiore di 0? siiiii , quindi come output da Conteggio : 9 e cosi via fino a quando i vale 1 e i-- riduce i a 0;
una volta a zero chiederà ; i è ancora maggiore di 0 ; nooo e quindi si esce dal ciclo.
eccoti il for.
Calcola che esso è come un while ma molto più efficente.
Prendiamo l' esempio di prima
for ( i = 10; i > 0; i--)
cout << "Conteggio : " << i << '\n';
esso si può anche scrivere come
i = 10;
while( i > 0){
cout << "Conteggio : "<
i--;
}
capisci quindi che il for è molto più veloce.
Tuttavia ci sono alcuni casi dove è meglio usare il for in confronto ad altri casi
essi sono:
Il conteggio da 0 fino a n-1;
Il conteggio da 0 fino ad n;
Il conteggio da n-1 fino a 0;
Il conteggio da n fino ad 1;
Passiamo ad un altra caratteristica del for.
Come abbiamo visto prima , esso è solitamente composto da 3 espressioni.
Ma nulla ci vieta di ometterne 1;
diventerebbe quindi;
i = 10;
for( ; i > 0; i --)
e poi continui con il cout.
Da notare la presenza del ; nonostante manchi l' espressione. Quando ometti delle espressioni dal for , per mantere la sitassi di quest ' ultimo corretta i ; sono obbligatori.
Ancora , Possiamo omettere 2 espressioni? Certo!!! Omettiamo la terza espressione ( i--)
for( i = 10 ; i > 0;)
cout<<"Conteggio " << i--<< '\n';
abbiamo inserito i-- nel cout;
se ometti invece la prima e la 3 diventa for(; i > 0;) che è uguale ad un while( i > 0)
Ancora , Si possono omettere TUTTE le espressioni ? Siiiiii si può fare e diventerebbe for(;;)
ovvero un ciclo infinito perché l' espressione è sempre vera.
Per concludere volevo ancora aggiungere che quando te dichiari delle variabili all' inizio del programma , inseguito le puoi utilizzare in tutto il programma e quindi le puoi richiamare anche all' interno dei cicli.
con il for invece , è possibile dichiarare una variabile ( nel for ) che utilizzerai SOLO nel for , e non sarà possibile utilizzarla in altre parti del programa,
se te la variabile i la vuoi dichiarare nel for ( prima i era dichiarata all' inizio del programma) puoi fare cosi :
for ( int i = 0 ; i > n; i++){
cout<<" Utilizzo dell' i nel for "<
}
cout<<"Utilizzo dell' i fuori dal for <
puoi anche dichiarare più variabili nel for for( int i =0 , J = 1 , x = 3 ; i > n; i++)
beh io ho finito XD scusami per la lunghezza della risposta , ma è per far si che tu capisca bene.
Ciaoooooo!!!!!
PS. Perdonami eventuali errori grammaticali ^^
-----------------
ricordo sempre a colui o colei che pone la domanda di scegliere sempre una migliore risposta tra quelle ricevute che NON è assolutamente detto che sia la mia.