Ciclo while

In quest’articolo parleremo del ciclo while e faremo degli esempi con i diagrammi di flusso. Il ciclo while serve a ripetere delle operazioni un determinato numero di volte.

Ad esempio se vogliamo fare la somma di N numeri è più idoneo utilizzare i cicli ovvero le strutture itarative. Con iterazione intendiamo infatti la ripetizione di determinate operazioni un certo numero di volte.

Quindi sviluppiamo il nostro diagramma di flusso o con carta e penna oppure utilizzando Algobuild, che consente anche di capire meglio eventuali errori commessi.


Uso del ciclo while per la somma di 10 numeri – sviluppo con diagramma di flusso

Per lo sviluppo dell’algoritmo mi serviranno queste forme:

Ellisse per l’inizio e per la fine.

Parallelogramma per inserire l’input, ovvero in questo caso i nostri numeri da sommare.

Rettangolo per assegnare un valore alle variabili e per effettuare il calcolo della somma.

Rombo per il ciclo while.

Per lo sviluppo del ciclo while si usa sempre il rombo, ma attenzione, le frecce non sono più a destra e a sinistra come nel se (if), ma abbiamo una freccia verso il basso e una a destra.

Verrà intrapreso il percorso verso il basso se la condizione espressa all’interno del while (rombo) è vera. Mentre si prenderà il percorso a destra quando la condizione all’interno del while è falsa.


Procedimento

Innanzitutto assegniamo ad N il valore 10, che decrementeremo ad ogni numero inserito. In pratica utilizziamo direttamente N come contatore (faremo altri esempi dove invece utilizzeremo un indice).

Poi inizializziamo la variabile somma a zero: somma=0. Andando avanti vi spiegherò il perchè.

Impostiamo la condizione all’interno del while: N>0, cioè finchè N è positivo eseguiamo queste istruzioni:

Inseriamo in input il numero n;

Sommiamo il numero n: somma=somma+n. Quindi la prima volta che sarà eseguita questa istruzione avremo: somma=0+n, infatti 0 è l’elemento neutro della somma. Non fare l’inizializzazione comporterebbe degli errori, in quanto le variabili non inizializzate contengono dei cosidetti valori “immondizia” cioè contengono l’ultimo dato immagazzinato nella locazione di memoria riservata per quella variabile.

Decrementiamo N di uno.

Tutto ciò verrà ripetuto 10 volte ovvero finchè N non sarà più maggiore di zero. Ecco i decrementi che subirà N: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0. Quando arriva a zero uscirà dal ciclo while, perchè la condizione (N>0) è falsa, dunque stamperemo la somma.

N. B. Ricordiamo che 0 è l’elemento neutro della somma e quindi non comporta variazioni nel risultato.

Se invece avessimo voluto calcololare il prodotto avremmo dovuto inizializzare la variabile prodotto a 1 (elemento neutro).

p=1;

p=p*n;


Ecco dunque il diagramma a blocchi completo dell’algoritmo per la somma di 10 numeri realizzato con l’uso del ciclo while. Per lo sviluppo ho utilizzato il software algobuild.

ciclo while algobuild

Ci sono altri procedimenti per la risoluzione di questo algoritmo, provate pure a trovarne qualcuno.

Questo è solo il primo esempio di utilizzo del ciclo while con algobuild, ne proporrò tanti altri.

Alcuni link utili

Divisori di un numero con Algobuild

Algoritmi di selezione sugli angoli

Algoritmi di selezione

Triangoli con algobuild

Fibonacci con algobuild

Serie buffa con algobuild

Numeri amicabili con algobuild

Numeri perfetti con algobuild

Massimo fra tre numeri

Minore fra tre numeri




Autore dell'articolo: Cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *