Differenze tra le versioni di "DO - LOOP"
(Creata pagina con "Il ciclo '''Do...Loop''', la cui sintassi è: Do ...... Loop genera un ciclo infinito. Pertanto, per uscire dal ciclo, è necessario porre una istruzione decisionale di co...") |
|||
(11 versioni intermedie di uno stesso utente non sono mostrate) | |||
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 | + | 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 | ||
+ | |||
+ | <FONT Color=red><B>Do</b></font> | ||
+ | Print i | ||
+ | If i == 10 Then <FONT Color=red>Break</font> <FONT Color=gray>' ''Se "i" è uguale a 10, allora si esce dal ciclo''</font> | ||
+ | Inc i | ||
+ | <FONT Color=red><B>Loop</b></font> | ||
+ | |||
+ | 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 <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 <SPAN Style="text-decoration:underline">diventa</span> vera, ossia quando la condizione diventa vera si esce dal ciclo. | ||
Mostriamo un esempio: | Mostriamo un esempio: | ||
− | + | Public Sub Main() | |
− | + | Dim i As Integer | |
− | <FONT Color= | + | <FONT Color=redDo</font> |
Print i | Print i | ||
− | |||
Inc i | Inc i | ||
− | <FONT Color= | + | <FONT Color=red>Loop <B>Until</b></font> i == 10 <FONT Color=gray>' ''Soltanto quando "i" diventerà uguale a 10, si esce dal ciclo''</font> |
− | + | 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 <FONT Color= | + | Do <FONT Color=red>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=red>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=red>Loop</font> | ||
+ | |||
+ | End | ||
+ | |||
+ | ===Ciclo con ''Do...Loop While''=== | ||
+ | Se la parola-chiave ''While'' è posta dopo la parola-chiave ''Loop'': | ||
+ | Do | ||
+ | ...... | ||
+ | Loop <FONT Color=red>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: | ||
− | + | Public Sub Main() | |
− | + | Dim i As Integer | |
− | <FONT Color= | + | <FONT Color=red>Do</font> |
Print i | Print i | ||
Inc i | Inc i | ||
− | <FONT Color= | + | <FONT Color=red>Loop <B>While</b></font> i < 10 <FONT Color=gray>' ''Se "i" è minore di 10, allora si effettua il ciclo''</font> |
− | + | 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 <SPAN Style="text-decoration:underline">è</span> 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 <SPAN Style="text-decoration:underline">diventa</span> vera, ossia quando la condizione diventa vera si esce dal ciclo. | ||
+ | I due tipi di cicli sono in sostanza opposti. |
Versione attuale delle 11:59, 5 lug 2024
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 <FONT Color=redDo</font> 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.