DO...LOOP: differenze tra le versioni
(Creata pagina con "Il ciclo '''DO...LOOP''', la cui sintassi è: Do ...... Loop genera un ciclo <SPAN Style="text-decoration:underline">infinito</span>. Pertanto, per uscire dal ciclo, è ne...") |
Nessun oggetto della modifica |
||
| Riga 3: | Riga 3: | ||
...... | ...... | ||
Loop | Loop | ||
genera un ciclo < | genera un ciclo <U>infinito</u>. | ||
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 27: | Riga 27: | ||
...... | ...... | ||
Loop <FONT Color=red>Until</font> ''condizione'' | Loop <FONT Color=red>Until</font> ''condizione'' | ||
il comportamento del ciclo è equivalente a quello della struttura "''[[REPEAT_-_UNTIL|Repeat...Until]]'' ", il ciclo si ripete sino a quando la condizione prevista < | il comportamento del ciclo è equivalente a quello della struttura "''[[REPEAT_-_UNTIL|Repeat...Until]]'' ", il ciclo si ripete sino a quando la condizione prevista <U>diventa</u> vera, ossia quando la condizione diventa vera si esce dal ciclo. | ||
Mostriamo un esempio: | Mostriamo un esempio: | ||
| Riga 34: | Riga 34: | ||
Dim i As Integer | Dim i As Integer | ||
<FONT Color= | <FONT Color=red>Do</font> | ||
Print i | Print i | ||
Inc i | Inc i | ||
| Riga 85: | Riga 85: | ||
====Differenza fra il ciclo "Do...Loop While" e il ciclo "Repeat...Until"==== | ====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: | 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 < | * in "''Do...Loop While'' " il ciclo si ripete fino a quando la condizione <U>è</u> 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 < | * in "''Repeat...Until'' " il ciclo si ripete sino a quando la condizione prevista <U>diventa</u> vera, ossia quando la condizione diventa vera si esce dal ciclo. | ||
I due tipi di cicli sono in sostanza opposti. | I due tipi di cicli sono in sostanza opposti. | ||
Versione attuale delle 17:00, 3 set 2025
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.
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.