Ciclo indeterminato e determinato
I due esempi riportati sono chiaramente equivalenti; infatti, in ambedue i casi si richiede all'esecutore di esaminare un libro alla volta e di trascriverne il titolo. Schematicamente le due situazioni sono così:
Confronto tra i due cicli
In entrambi i casi l'esecuzione delle operazioni è ripetuta se la condizione è vera e il ciclo si arresta se la condizione è falsa. Nel secondo caso, la condizione di terminazione viene valutata almeno una volta alla fine delle istruzioni del ciclo: questo fatto comporta che le stesse sono eseguite almeno una volta. Al contrario, nel primo caso la condizione è valutata prima delle istruzioni del ciclo, pertanto se questa risulta immediatamente falsa l'intero ciclo non viene eseguito nemmeno una volta.
Tipi di ciclo
Entrambi i tipi di ciclo utilizzati per la risoluzione sono indeterminati, nel senso che l'esecutore non è in grado di stabilire a priori quante volte dovrà iterare il ciclo, in quanto esso deve essere ripetuto fintantoché vi sono libri da esaminare. Disponendo come ulteriore dato di ingresso del numero preciso dei libri da esaminare – per esempio 100 – il problema potrebbe essere risolto come segue:
Ciclo determinato
In questo caso, in cui l'esecutore conosce a priori il numero di volte che dovrà ripetere le operazioni del ciclo, si tratta di un ciclo determinato. Nel caso di un ciclo determinato si conosce precisamente il momento in cui la ripetizione avrà termine, mentre nel caso di un ciclo indeterminato questo momento non è noto, poiché la terminazione dipende dal verificarsi o meno della condizione che ne controlla l'arresto; come caso limite, se una condizione di fine ciclo non si verifica mai, esso viene ripetuto infinite volte senza terminare.
Costruzione di un ciclo indeterminato
Perché un ciclo indeterminato sia ben costruito è necessario che le istruzioni eseguite all'interno del ciclo stesso garantiscano che la condizione di controllo divenga falsa causandone la terminazione. Nel caso di un ciclo determinato la terminazione è garantita dalla stessa struttura del ciclo.
n, numero e somma
Uso delle variabili
- n: indica quanti numeri dovranno essere elaborati e viene utilizzata per controllare l'esecuzione del ciclo; viene pertanto utilizzata come contatore (in questo caso "a scalare").
- Numero: è la variabile utilizzata per la lettura dei singoli numeri da sommare (uno alla volta).
- Somma: è la variabile che alla fine del procedimento conterrà il risultato; è posta inizialmente uguale a 0 e successivamente somma numero.