Differenze tra le versioni di "CONTINUE"

Da Gambas-it.org - Wikipedia.
 
(17 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
L'istruzione '''Continue''' è sempre posta all'interno di un ciclo ed è conseguenza verificatasi di un'istruzione condizionale:
+
L'istruzione '''Continue''' è sempre posta all'interno di un ciclo e come conseguenza del verificarsi di un'istruzione condizionale:
 
  '''If''' ''condizione'' Then <FONT Color=#B22222>'''Continue'''</font>
 
  '''If''' ''condizione'' Then <FONT Color=#B22222>'''Continue'''</font>
'''Continue''' impedisce che la procedura per il giro corrente del ciclo continui oltre tale istruzione, riportando semplicemente il controllo alla testa del ciclo.
+
'''Continue''' serve per saltare alla fine del ciclo interrompendo quindi l’iterazione corrente.  <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
<BR>Il ciclo pertanto ''continua'' dalla sua riga di comando iniziale appunto, ma ogni eventuale incremento, già avvenuto, della variabile oggetto della condizione di ciclo non viene modificato.
+
<BR>L’esecuzione salta quindi immediatamente alla valutazione della condizione di terminazione del ciclo medesimo, per procedere poi eventualmente ad una nuova iterazione.
  <FONT Color=darkgreen><B>For</b></font> i = 0 To 10 ← ← ← ← ← ↖
+
<BR>Il valore corrente della variabile oggetto della condizione di ciclo non viene azzerato da '''Continue'''.
                            ↑
+
<BR>Rispetto all'istruzione "[[BREAK-EXIT|Break]]" l'istruzione "'''Continue'''", dunque, <SPAN Style="text-decoration:underline">non</span> determina l'uscita immediata dal ciclo.
  <FONT Color=blue><B>If</b></font> i == 5 Then <FONT Color=#B22222>'''Continue'''</font> →
+
  <FONT Color=darkgreen><B>For</b></font> i = 0 To 10
 +
 +
  <FONT Color=blue><B>If</b></font> i == 5 Then <FONT Color=#B22222>'''Continue'''</font> →
 +
                              ↓
 +
  Print i                    ↓
 +
                              ↙
 +
<FONT Color=darkgreen><B>Next</b></font> ← ← ← ← ← ← ← ← ← ← ← ← ←
 +
Nell'esempio precedente <SPAN Style="text-decoration:underline">se</span> il valore della variabile "i" è uguale a 5, allora il controllo del ciclo torna alla sua riga iniziale, saltando così la riga di comando contenente l'istruzione "Print". Da lì quindi il ciclo "For...Next" procederà regolarmente ovviamente con il naturale incremento della variabile "i" al valore 6 e così via sino a 10.
 +
 
 +
 
 +
 
 +
=Note=
 +
[1] L'effetto dell'istruzione ''Continue'' può essere paragonata all'effetto dell'istruzione [[GOTO|GOTO]] all'interno di un ciclo:
 +
Public Sub Main()
 
    
 
    
   Print i
+
   For i As Byte = 1 To 10
 +
    If i = 5 Then <FONT Color=#B222222><B>Goto</b></font> <FONT Color=green>PROSEGUI</font> 
 +
    Print i
 +
    <FONT Color=green>PROSEGUI:</font> 
 +
  Next
 
    
 
    
  <FONT Color=darkgreen><B>Next</b></font>
+
  End
Nell'esempio precedente se il valore della variabile "i" è uguale a 5, allora il controllo del ciclo torna alla sua riga iniziale, saltando così la riga di comando contenente l'istruzione "Print". Da lì quindi il ciclo "For...Next" procederà regolarmente ovviamente con il naturale incremento della variabile "i" al valore 6 e così via.
 

Versione attuale delle 07:25, 23 mag 2023

L'istruzione Continue è sempre posta all'interno di un ciclo e come conseguenza del verificarsi di un'istruzione condizionale:

If condizione Then Continue

Continue serve per saltare alla fine del ciclo interrompendo quindi l’iterazione corrente. [Nota 1]
L’esecuzione salta quindi immediatamente alla valutazione della condizione di terminazione del ciclo medesimo, per procedere poi eventualmente ad una nuova iterazione.
Il valore corrente della variabile oggetto della condizione di ciclo non viene azzerato da Continue.
Rispetto all'istruzione "Break" l'istruzione "Continue", dunque, non determina l'uscita immediata dal ciclo.

For i = 0 To 10

  If i == 5 Then Continue → ↘
                              ↓
  Print i                     ↓
                              ↙
Next ← ← ← ← ← ← ← ← ← ← ← ← ←

Nell'esempio precedente se il valore della variabile "i" è uguale a 5, allora il controllo del ciclo torna alla sua riga iniziale, saltando così la riga di comando contenente l'istruzione "Print". Da lì quindi il ciclo "For...Next" procederà regolarmente ovviamente con il naturale incremento della variabile "i" al valore 6 e così via sino a 10.


Note

[1] L'effetto dell'istruzione Continue può essere paragonata all'effetto dell'istruzione GOTO all'interno di un ciclo:

Public Sub Main()
 
 For i As Byte = 1 To 10
   If i = 5 Then Goto PROSEGUI  
   Print i  
   PROSEGUI:  
 Next
 
End