Ciclo definito vs Ciclo indefinito
Un ciclo è un blocco di codice che si ripete per un determinato numero di volte o finché alcune condizioni non sono soddisfatte. Un ciclo definito è un ciclo in cui il numero di volte che verrà eseguito è noto in anticipo prima di entrare nel ciclo. In un ciclo indefinito, il numero di volte in cui verrà eseguito non è noto in anticipo e verrà eseguito fino a quando alcune condizioni non saranno soddisfatte.
Cos'è un Definite Loop?
Un ciclo definito è un ciclo in cui il numero di volte che verrà eseguito è noto in anticipo prima di entrare nel ciclo. Il numero di iterazioni che verrà ripetuto verrà generalmente fornito tramite una variabile intera. In generale, i cicli for sono considerati cicli definiti. Di seguito è riportato un esempio di un ciclo definito implementato utilizzando un ciclo for (nel linguaggio di programmazione Java).
for (int i=0; i < num; i++)
{
//corpo del ciclo for
}
Il ciclo sopra eseguirà il suo corpo un numero di volte fornito dalla variabile num. Questo può essere determinato dal valore iniziale della variabile i e dalla condizione del ciclo.
Mentre i loop possono essere utilizzati anche per implementare loop definiti come mostrato di seguito (in Java).
int i=0;
mentre(i<num)
{
//corpo del ciclo
i++;
}
Anche se utilizza un ciclo while, anche questo è un ciclo definito, poiché è noto in anticipo che il ciclo verrà eseguito il numero di volte fornito dalla variabile num.
Cos'è un ciclo indefinito?
In un ciclo indefinito, il numero di volte che verrà eseguito non è noto in anticipo. In genere, viene eseguito un ciclo indefinito finché non vengono soddisfatte alcune condizioni. Mentre i loop e i loop do-while sono comunemente usati per implementare loop indefiniti. Anche se non esiste una ragione specifica per non utilizzare i cicli for per la costruzione di cicli indefiniti, i cicli indefiniti possono essere organizzati in modo ordinato utilizzando i cicli while. Alcuni degli esempi comuni di cui avresti bisogno per implementare cicli indefiniti sono la richiesta di leggere un input fino a quando l'utente non inserisce un numero intero positivo, la lettura di una password fino a quando l'utente non inserisce la stessa password due volte di seguito, ecc.
Qual è la differenza tra Definite Loop e Indefinite Loop?
Un ciclo definito è un ciclo in cui il numero di volte che verrà eseguito è noto in anticipo prima di entrare nel ciclo, mentre un ciclo indefinito viene eseguito fino a quando alcune condizioni non sono soddisfatte e il numero di volte in cui viene eseguito eseguire non è noto in anticipo. Spesso, i loop definiti vengono implementati utilizzando i loop for e i loop indefiniti vengono implementati utilizzando i loop while e i loop do-while. Ma non c'è alcuna ragione teorica per non usare i cicli for per i cicli indefiniti e i cicli while per i cicli definiti. Ma i loop indefiniti potrebbero essere organizzati ordinatamente con i loop while, mentre i loop definiti potrebbero essere organizzati ordinatamente con i loop for.