![]() ![]() |
|
Spesso un algoritmo per la risoluzione di un problema
richiede di eseguire piu' volte una sequenza di passi elementari (si pensi
ad esempio al calcolo del fattoriale di un numero fornito in input dall'utente).
Le istruzioni iterative (ripetizioni) consentono di ripetere una sequenza di istruzioni in base a certe condizioni o per un numero definito di volte. In particolare Java, fornisce le seguenti istruzioni composte:
L'istruzione for viene usata, di norma, quando uno o piu' comandi devono essere ripetuti un numero prefissato di volte. L'istruzione do-while viene usata al posto del while quando i comandi devono essere eseguiti almeno una volta. |
![]() ![]() |
|
dove:
|
![]() ![]() |
|
L'istruzione while valuta inizialmente l'espressione booleana <condizione>.
Normalmente, la guardia del while controlla il valore di una o piu' variabili, chiamate variabili di controllo del ciclo. Le variabili di controllo vanno inizializzate opportunamete prima del while, e devono essere aggiornate nel corpo per garantire la terminazione del ciclo. Le istruzioni while possono essere annidate.
|
![]() ![]() |
|
Il seguente programma calcola quanti anni ci vogliono
per raddoppiare un certo capitale C applicando gli interessi
composti ad un tasso T. Sia C che T
sono forniti dall'utente.
|
![]() ![]() |
|
dove:
|
![]() ![]() |
|
|
![]() ![]() |
|
|
![]() ![]() |
|
|
![]() ![]() |
|
Una istruzione for puo' essere
vista come una istruzione while generalizzata:
Esempio: InteressiF.java: Programma equivalente a Interessi.java con ciclo while sostituito da ciclo for:
|
![]() ![]() |
|
Simmetricamente, un comando for può sempre
essere sostituito con un
while: il comando
è equivalente a
|
![]() ![]() |
|
Poiché for e while sono
equivalenti, la scelta tra i due è essenzialmente una questione
di stile di programmazione. E' buona prassi scegliere
|
![]() ![]() |
|
dove:
|
![]() ![]() |
|
|
![]() ![]() |
|
![]() ![]() |
Analogamente ai cicli for, un ciclo do
si può sempre sostituire con un ciclo while. Il seguente
è equivalente all'ultimo esempio.
|