CICLO WHILE

Un altro statement iterativo estremamente utile nella scrittura di codice è il while, il quale, per l’appunto, ci consente di ciclare determinate istruzioni fintanto che la condizione booleana dichiarata fra parentesi tonde risulta essere true.

Ecco un esempio pratico di come appare a livello di codice:

Come prima cosa, nell’esempio, possiamo notare la dichiarazione di una variabile n di tipo int, alla quale viene assegnato il valore 0. Questa variabile è essenziale e ci fungerà da contatore, ovvero ad ogni ciclo il suo valore sarà incrementato in modo da assicurarci di ripetere l’iterazione un numero specifico di volte. Difatti, il while tra parentesi esprime la condizione n < 5, quindi fintanto che il nostro contatore n è minore di 5 eseguiremo il corpo del ciclo contenuto all’interno delle parentesi graffe.

Il comportamento del ciclo sarà quindi il seguente:

  • la prima volta n è uguale a 0, per cui la condizione del while è vera, facendo così stampare a schermo il valore 0 ed incrementando n di uno;
  • Una volta fatto questo, il ciclo torna a valutare la condizione iniziale n < 5, la quale è ancora vera perché il valore di n è ora uguale a 1, ripetendo così la stampa e l’incremento;
  • Questo viene ripetuto finché n non assume il valore di 5, valore che non va bene per la condizione del while e che quindi non farà eseguire il corpo del ciclo, facendo così continuare il normale flusso del codice.

É importante prestare una particolare attenzione nella scrittura di statement iterativi come il while o il for, assicurandosi che all’interno del ciclo ci siano delle istruzioni che vanno a modificare le variabili utilizzate dalla condizione del while. Se il codice venisse scritto in modo che la condizione non fosse mai falsa, quello che accadrebbe è che il ciclo entrerebbe in un loop infinito di reiterazione, non riuscendo così a continuare con il flusso del programma.

CICLO DO-WHILE

Il ciclo do-while è molto simile al while, con una leggera differenza, ovvero che il codice presente all’interno delle graffe viene eseguito almeno una volta.

Per cui, nell’esempio qui sopra riportato, le due righe all’interno del corpo del ciclo vengono sicuramente eseguite almeno per una volta, indipendentemente dal risultato dell’espressione booleana n < 5. Quindi, visto che abbiamo già il while, a cosa ci serve il do-while? La differenza, come si può intuire, sta semplicemente nel momento in cui andiamo a verificare la veridicità della condizione del ciclo: nel while viene testata all’inizio e se l’espressione risulta falsa il codice dentro le graffe non viene eseguito; nel do-while invece viene eseguito il corpo dentro le graffe almeno una volta e solamente in seguito viene testata la veridicità della condizione booleana fra parentesi, veridicità che nel caso in cui sia vera reitererà le istruzioni presenti all’interno del ciclo.