Differenze tra le versioni di "DO - LOOP"
Riga 3: | Riga 3: | ||
...... | ...... | ||
Loop | Loop | ||
− | genera un ciclo infinito. | + | genera un ciclo <SPAN Style="text-decoration:underline">infinito</span>. |
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. | 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. | ||
Riga 13: | Riga 13: | ||
Dim i As Integer | 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 25: | Riga 23: | ||
− | == | + | ==Introduzione della parola-chiave "While" nel ciclo ''Do...Loop''== |
− | Il ciclo | + | 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 <FONT Color=#B22222>While</font> ''condizione'' | Do <FONT Color=#B22222>While</font> ''condizione'' | ||
...... | ...... | ||
Loop | 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 | ||
+ | |||
+ | <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''' | ||
+ | |||
+ | ===Ciclo con ''Do...Loop While''=== | ||
+ | Se la parola-chiave "''While'' " è posta dopo la parola-chiave ''Loop'': | ||
+ | Do | ||
+ | ...... | ||
+ | Loop <FONT Color=#B22222>While</font> ''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: | Mostriamo un esempio: | ||
Riga 38: | Riga 57: | ||
Dim i As Integer | 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''' | ||
+ | |||
+ | ====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, mentre in "''Do...Loop While'' " il ciclo si ripete fino a quando la condizione <SPAN Style="text-decoration:underline">è</span> vera, ossia perdura quella condizione prevista, nel secondo tipo invece il ciclo si ripete sino a quando la condizione prevista <SPAN Style="text-decoration:underline">diventa</span> vera. |
Versione delle 09:19, 17 set 2020
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 solo - come già detto - qualora si intenda, al verificarsi di una determinata condizione, interrompere il ciclo uscendone.
Indice
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, mentre in "Do...Loop While " il ciclo si ripete fino a quando la condizione è vera, ossia perdura quella condizione prevista, nel secondo tipo invece il ciclo si ripete sino a quando la condizione prevista diventa vera.