Differenze tra le versioni di "DO - LOOP"
Riga 11: | Riga 11: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | Dim i As Integer | |
− | + | <FONT Color=#B22222>Do</font> | |
− | + | Print i | |
− | + | If i == 10 Then <FONT Color=#B22222>Break</font> <FONT Color=gray>' ''Se "i" è uguale a 10, allora si esce dal ciclo''</font> | |
− | + | Inc i | |
− | + | <FONT Color=#B22222>Loop</font> | |
'''End''' | '''End''' | ||
Riga 33: | Riga 33: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | Dim i As Integer | |
− | + | <FONT Color=#B22222>Do</font> | |
− | + | Print i | |
− | + | Inc i | |
− | + | <FONT Color=#B22222>Loop <B>Until</b></font> i == 10 <FONT Color=gray>' ''Soltanto quando "i" diventerà uguale a 10, si esce dal ciclo''</font> | |
'''End''' | '''End''' | ||
Riga 56: | Riga 56: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | Dim i As Integer | |
− | + | <FONT Color=#B22222>Do <B>While</b></font> i < 10 <FONT Color=gray>' ''Se "i" è minore di 10, allora si effettua il ciclo''</font> | |
− | + | Print i | |
− | + | Inc i | |
− | + | <FONT Color=#B22222>Loop</font> | |
'''End''' | '''End''' | ||
Riga 75: | Riga 75: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | Dim i As Integer | |
− | + | <FONT Color=#B22222>Do</font> | |
− | + | Print i | |
− | + | Inc i | |
− | + | <FONT Color=#B22222>Loop <B>While</b></font> i < 10 <FONT Color=gray>' ''Se "i" è minore di 10, allora si effettua il ciclo''</font> | |
'''End''' | '''End''' |
Versione delle 18:35, 22 mag 2023
Il ciclo Do...Loop, la cui sintassi è:
Do ...... Loop
genera un ciclo infinito.
Pertanto, per uscire dal ciclo, è necessario porre una istruzione decisionale di controllo, come ad esempio "IF", unitamente al comando "Break ". Al verificarsi di una data condizione, viene richiamata l'istruzione "Break " che consente così l'uscita in quella riga dal ciclo.
Mostriamo un esempio:
Public Sub Main() Dim i As Integer Do Print i If i == 10 Then Break ' Se "i" è uguale a 10, allora si esce dal ciclo Inc i Loop End
E' ovvio che ai fini del funzionamento in sé del ciclo generato da "Do...Loop " non è necessaria la riga di controllo con "IF" ed il comando "Break ", essendo utili questi - come già detto - solo qualora si intenda, al verificarsi di una determinata condizione, interrompere il ciclo uscendone.
Indice
Introduzione della parola-chiave "Until" nel ciclo Do...Loop
Il ciclo "Do...Loop " può contenere anche la presenza della parola-chiave "Until ", purché dopo la parola-chiave "Loop ":
Do ...... Loop Until condizione
il comportamento del ciclo è equivalente a quello della struttura "Repeat...Until ", il ciclo si ripete sino a quando la condizione prevista diventa vera, ossia quando la condizione diventa vera si esce dal ciclo.
Mostriamo un esempio:
Public Sub Main() Dim i As Integer Do Print i Inc i Loop Until i == 10 ' Soltanto quando "i" diventerà uguale a 10, si esce dal ciclo End
Introduzione della parola-chiave "While" nel ciclo Do...Loop
Il ciclo "Do...Loop " può contenere anche la presenza della parola-chiave "While ". La parola-chiave "While " è sempre seguita da una condizione che deve essere verificata ad ogni ripetizione del ciclo.
Ciclo con Do While...Loop
Se la parola-chiave "While " è posta dopo la parola-chiave "Do ":
Do While condizione ...... Loop
il comportamento del ciclo è equivalente a quello della struttura While...Wend, ossia finché la condizione è vera il ciclo viene compiuto.
Mostriamo un esempio:
Public Sub Main() Dim i As Integer Do While i < 10 ' Se "i" è minore di 10, allora si effettua il ciclo Print i Inc i Loop End
Ciclo con Do...Loop While
Se la parola-chiave "While " è posta dopo la parola-chiave Loop:
Do ...... Loop While condizione
questo ciclo è equivalente al ciclo "Do...While( ) " del linguaggio C, e anche in questo caso finché la condizione è vera il ciclo viene compiuto.
Mostriamo un esempio:
Public Sub Main() Dim i As Integer Do Print i Inc i Loop While i < 10 ' Se "i" è minore di 10, allora si effettua il ciclo End
Differenza fra il ciclo "Do...Loop While " e il ciclo "Repeat...Until "
Come si può notare la differenza fra il ciclo "Do...Loop While " e il ciclo "Repeat...Until " consiste nella circostanza che:
- in "Do...Loop While " il ciclo si ripete fino a quando la condizione è vera, ossia fino a quando perdura quella condizione prevista, e pertanto quando la condizione non è più vera, si esce dal ciclo;
- in "Repeat...Until " il ciclo si ripete sino a quando la condizione prevista diventa vera, ossia quando la condizione diventa vera si esce dal ciclo.
I due tipi di cicli sono in sostanza opposti.