Differenze tra le versioni di "REPEAT - UNTIL"

Da Gambas-it.org - Wikipedia.
Riga 5: Riga 5:
 
viene ripetuto fino a quando ''condizione'' risulta <SPAN Style="text-decoration:underline">falsa</span>: se ''condizione'' è falsa, allora il ciclo viene ripetuto.
 
viene ripetuto fino a quando ''condizione'' risulta <SPAN Style="text-decoration:underline">falsa</span>: se ''condizione'' è falsa, allora il ciclo viene ripetuto.
  
Poiché la verifica di ''condizione'' è posta e dunque avviene in fondo al ciclo, esso viene compiuto <SPAN Style="text-decoration:underline">almeno una volta</span> a prescindere dal risultato di ''condizione''.
+
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 <SPAN Style="text-decoration:underline">almeno una volta</span> a prescindere dal risultato di ''condizione''.
  
  

Versione delle 09:09, 5 mar 2017

Il ciclo Repeat...Until, la cui sintassi è:

Repeat
  ......
Until condizione

viene ripetuto fino a quando 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.