REPEAT - UNTIL
Il ciclo Repeat...Until, la cui sintassi è:
Repeat ...... Until condizione
viene ripetuto fintanto che condizione risulta falsa: se condizione è falsa, allora il ciclo viene ripetuto.
Poiché condizione è posta in fondo al ciclo, la sua prima verifica avviene soltanto al compimento del primo ciclo. Ciò determina che il ciclo viene compiuto almeno una volta a prescindere dal risultato di condizione.
Mostriamo un esempio pratico:
Public Sub Main() Dim i As Integer Repeat Print i Inc i Until i = 10 ' Se "i" è uguale a 10, allora si esce dal ciclo; altrimenti il ciclo è ripetuto Print i End
In sostanza la logica di questo ciclo è considerando l'esempio di sopra: ripete il ciclo fino a che il valore della variabile "i" non diventa uguale a 10.
Equivalenza tra il ciclo Repeat...Unitil ed il ciclo Do...Loop Until
Al posto del ciclo Repeat...Until è possibile utilizzare il ciclo Do...Loop Until, il quale si comporta esattamente come il ciclo Repeat...Until.
Mostriamo un esempio pratico:
Public Sub Main() Dim i As Integer Do Print i Inc i Loop Until i = 10 ' Se "i" è uguale a 10, allora si esce dal ciclo; altrimenti il ciclo è ripetuto Print i End
Pertanto il ciclo composto dalle parole-chiave Repeat...Unitil è equivalente al ciclo composto dalle parole-chiave Do...Loop Until.
Uscire da un ciclo Repeat...Until quando una funzione restituisce un valore identico a quello precedentemente restituito
Se si deve prescrivere che la condizione del ciclo "Repeat...Until " si verifichi soltanto quando una funzione restituisce un valore identico a quello precedentemente da essa restituito, bisognerà servirsi di una idonea variabile di appoggio.
Esempio astratto:
Repeat valore = funzione( ) ' Valore restituito dalla funzione Wait 0.01 ' Il valore, precedentemente restituito, viene confrontato con quello restituito attualmente dalla medesima funzione: Until valore == funzione( )