Do while JavaScript

Il ciclo do while in JavaScript, così come negli altri linguaggi dove questo costrutto esiste, consente di eseguire le istruzioni almeno una volta. Se la condizione è vera allora si ripete nuovamente il ciclo, altrimenti si passa all’istruzione successiva.

Il ciclo do-while è difatti un costrutto post-condizionale.

Sintassi do while JavaScript

La sintassi del do while è dunque questa:

do {

istruzioni;

} while (condizione);

Si può chiaramente avere anche una singola istruzione da eseguire.

La semantica del costrutto do-while è dunque questa:

1. Si esegue l’istruzione (o più di una);

2. Dopo si valuta la condizione, la quale può essere vera o falsa.

3. Quindi se la condizione è vera si ritorna al punto 1; altrimenti si passa all’istruzione successiva.

Esempio 1 – do while JavaScript

Come primo esempio ripropongo un esercizio già sviluppato con il ciclo while nella precedente lezione.

Visualizziamo i numeri da 0 a 9 in ordine crescente.

Per questo esempio inizializziamo sempre una variabile contatore: c = 0.

Poi, con il ciclo do while, stampiamo la prima istruzione, incrementiamo c di 1 e solo dopo valutiamo la condizione. Se la condizione è vera allora il ciclo ripartirà nuovamente eseguendo le stesse istruzioni.

Da notare che se avessi erroneamente inserito la condizione c >10, comunque le istruzioni all’interno del do-while sarebbero state eseguite almeno una volta.

Ecco di seguito il codice completo:


var c = 0;
do {
   document.write(c + '
'); c++; } while (c < 10);

Esempio 2 - do while JavaScript

In questo secondo esempio utilizzeremo il ciclo do while per effettuare un controllo dell'input. Questo infatti è uno dei maggiori casi in cui il ciclo do while viene utilizzato.

Controllare che un numero preso in input sia positivo e richiederlo in caso contrario.

All'interno del ciclo inseriamo l'istruzione che serve a prendere un dato in input. Solo dopo controlliamo se tale valore è negativo. Se questa condizione è vera il ciclo verrà ripetuto.

Ecco dunque il codice completo.


do {
  var a = prompt("Inserisci un numero:");
} while (a<0);        
document.write(a);

Esempio 3 - controllo dell'input su due dati in input

In questo terzo esempio sul ciclo do while in JavaScript prendiamo in input due numeri e controlliamo se entrambi sono positivi, altrimenti li richiediamo.

La risoluzione dell'esercizio è simile al precedente, ma occorre prestare attenzione alla condizione. Infatti, occorre testare se a oppure b sono minori di zero. Si può indurre, erroneamente, ad utilizzare l'operatore logico and ( && ), ma in questo caso il programma non riesegue il ciclo se uno dei due numeri è negativo.

Provate a riflettere proprio su questo!

Di seguito il codice completo:


do {
   var a = prompt("Inserisci il numero a:");
   var b = prompt("Inserisci il numero b:");
} while ((a<0) || (b<0));
	   
document.write(a + '
'); document.write(b);

In questa lezione abbiamo introdotto il ciclo do while in JavaScript, nelle prossime lezioni proporrò tanti altri esempi.

Alcuni link utili

Indice tutorial JavaScript

Introduzione a JavaScript

Il linguaggio JavaScript

Come utilizzare JavaScript alert

Come utilizzare JavaScript confirm

Utilizzare JavaScript prompt

Variabili in JavaScript

Leave a Reply