In questa lezione propongo un esempio di ciclo indefinito con i diagrammi di flusso.
Esempio di ciclo indefinito
Leggere e sommare una quantità indefinita di numeri finché‚ la loro somma diventa uguale a zero.
Per risolvere questo algoritmo con i diagrammi a blocchi utilizzeremo inizialmente il ciclo while. Poi svilupperemo lo stesso esempio, di ciclo indefinito, utlizzando il do-while, per capire la differenza tra le due strutture iterative.
Prima soluzione con il while
Leggendo il testo notiamo subito che la sequenza di numeri da leggere non è definita. Ci fermeremo dunque quando la condizione somma uguale a 0 è verificata.
In questa prima soluzione con il while, occorre chiedere n subito all’inizio e poi inizializzare la variabile somma ad n.
Dopo, utilizzando il while con la seguente condizione: somma!=0, si chiede nuovamente n e si aggiorna la variabile somma.
Quindi finchè la somma non sarà uguale a 0 il ciclo continuerà.
Ecco l’algoritmo completo. Noterete che il problema non richiede nessun output, quindi non lo inseriamo.
Seconda soluzione con il do-while
In questa seconda soluzione, che utilizza il ciclo do-while, basta semplicemente inizializzare la somma a 0 (in questa versione di Algobuild occorre impostare somma=0.0 oppure dichiarare n intero).
Poi all’interno del ciclo chiediamo n e facciamo la somma.
Dopo queste istruzioni verrà valutata la condizione che imposteremo come prima: somma!=0.
Abbiamo risolto un algoritmo con i diagrammi di flusso con un ciclo indefinito utilizzando sia il while, sia il do-while, nella prossima lezione vedremo un altro esempio di ciclo indefinito.
Alcuni link utili
Indice argomenti diagramma a blocchi
Divisori di un numero con Algobuild
Algoritmi di selezione sugli angoli
Numeri amicabili con Algobuild