DO
DO [
WHILE Condizione ]
.
.
.
[
BREAK |
CONTINUE ]
.
.
.
LOOP [
UNTIL Condizione ]
Ripete un numero di dichiarazioni fino a che la condizione iniziale rimane vera o fino a che la condizione finale diventa vera. Se ne
WHILE ne
UNTIL sono usati, allora il ciclo diventa infinito, e l'unico modo per poter uscire è quello di utilizzare la parola chiave
BREAK. Se break non è gestita dal programma, o non si avvera mai la condizione per poterlo utilizzare, il programma girerà all'infinito. Una situazione veramente indesiderabile.
Parte
|
Descrizione
|
DO
|
Sempre la prima istruzione del ciclo.
|
WHILE
|
Se utilizzata, Condizione deve essere vera per eseguire il ciclo.
|
UNTIL
|
Se utilizzata Condizione deve essere vera per fermare l'esecuzione del ciclo.
|
Condizione
|
Un'espressione booleana.
|
BREAK
|
salta subito fuori dal ciclo e continua l'esecuzione del programma con la riga successiva al ciclo.
|
CONTINUE
|
lascia subito tutte le seguenti dichiarazioni nel ciclo e passa alla fine facendolo ricominciare da capo.
|
LOOP
|
Deve essere l'ultima parola della struttura.
|
Se
Condizione su
WHILE è falsa all'inizio, allora il ciclo non viene eseguito affatto. In caso contrario, il ciclo sarà eseguito almeno una volta, anche se
Condizione su
UNTIL è vera per cominciare.
Esempi
' Un loop veramente semplice.
a = 1
DO WHILE a <= 5
PRINT "Ciao a tutti"; a
INC a
LOOP
Hello World 1
Ciao a tutti 2
Ciao a tutti 3
Ciao a tutti 4
Ciao a tutti 5
' Lo stesso effetto ma utilizzando UNTIL.
DO
PRINT "Ciao a tutti"; a
INC a
LOOP UNTIL a = 6
Fate attenzione a non inserire il ciclo
UNTIL con "a" maggiore di 5. "a" verrà incrementato a un valore maggiore di 6 e l'unico modo per arrestare il ciclo viene perso. Potrebbe essere preferibile utilizzare "
LOOP a > 5" per ridurre al minimo il rischio di loop infiniti.
Esempi
' Questo ciclo non raggiungerà mai il suo valore finale
Dim a As Integer = 1
DO WHILE a <= 5
PRINT "Hello World "; a
INC a
IF a = 4 THEN BREAK
LOOP
Hello World 1
Hello World 2
Hello World 3
Vedi anche