Differenze tra le versioni di "DO - LOOP"
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 5: | Riga 5: | ||
genera un ciclo <SPAN Style="text-decoration:underline">infinito</span>. | 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: | 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 | + | 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''== | ==Introduzione della parola-chiave "Until" nel ciclo ''Do...Loop''== | ||
− | Il ciclo "''Do...Loop'' " può contenere anche la presenza della parola-chiave | + | Il ciclo "''Do...Loop'' " può contenere anche la presenza della parola-chiave '''UNTIL''', purché dopo la parola-chiave '''LOOP''': |
Do | Do | ||
...... | ...... | ||
− | Loop <FONT Color= | + | 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. | 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: | ||
+ | Public Sub Main() | ||
+ | |||
+ | Dim i As Integer | ||
+ | |||
+ | <FONT Color=redDo</font> | ||
+ | Print i | ||
+ | Inc i | ||
+ | <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''== | ==Introduzione della parola-chiave "While" nel ciclo ''Do...Loop''== | ||
− | Il ciclo "''Do...Loop'' " può contenere anche la presenza della parola-chiave | + | 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''=== | ===Ciclo con ''Do While...Loop''=== | ||
Se la parola-chiave "''While'' " è posta dopo la parola-chiave "''Do'' ": | Se la parola-chiave "''While'' " è posta dopo la parola-chiave "''Do'' ": | ||
− | Do <FONT Color= | + | Do <FONT Color=red>While</font> ''condizione'' |
...... | ...... | ||
Loop | Loop | ||
Riga 42: | Riga 53: | ||
Mostriamo un esempio: | 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''=== | ===Ciclo con ''Do...Loop While''=== | ||
− | Se la parola-chiave | + | Se la parola-chiave ''While'' è posta dopo la parola-chiave ''Loop'': |
Do | Do | ||
...... | ...... | ||
− | Loop <FONT Color= | + | Loop <FONT Color=red>While</font> ''condizione'' |
− | questo ciclo è equivalente al ciclo " | + | 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=red>Do</font> | |
− | + | Print i | |
− | + | Inc i | |
− | + | <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 " | + | ====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 <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 "''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. | * 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. | 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.