Corso di ASP

Strutture di controllo del linguaggio VBScript III

 

1.3 Strutture di controllo della logica ciclica

1.3.1 Istruzione Do While …. Loop

Quest’istruzione è usata per eseguire una porzione di codice mentre è verificata una certa condizione.
Ecco la sintassi.

1-  Do While (condizione)
2-    (istruzioni)
3-  Loop

Ecco un esempio:

<%
   DIM anni, contatore

   anni = 35
   contatore = 1

   Do While anni < 39
     Response.Write “Ciclo eseguito “ & contatore & “ volta/e <br>”
     contatore = contatore + 1
     anni = anni + 1
   Loop
%>

esempio 1

Nell’esempio 1 creiamo una variabile di nome anni e gli assegniamo il valore 35, ed una variabile contatore che inizializziamo ad 1. Eseguiamo il ciclo, che verrà eseguito 5 volte prima che la condizione risulti falsa.

Un’altra forma di questa struttura è la seguente

Do
 (istruzioni)
Loop While (condizione)

Il funzionamento è il medesimo di prima, ma fate bene attenzione che con questa struttura le istruzioni all’interno del ciclo sono eseguite almeno una volta, prima che la condizione sia controllata.
Potete usare anche la struttura seguente nei vostri script:

While (condizione)
 (istruzioni)
Wend

Il risultato che otterrete è lo stesso ottenibile usando Do While …. Loop.

1.3.2 Do Until…Loop

Quest’istruzione è usata per eseguire una porzione di codice fino a quando è verificata una certa condizione.
Ecco la sintassi.


1-  Do Until (condizione)
2-    (istruzioni)
3-  Loop

Eccovi un esempio:

<%@ Language = VBScript %>
<% Option Explicit %>
<%
   DIM anni, contatore

   anni = 35
   contatore = 1

   Do Until anni < 39
     Response.Write “Ciclo eseguito “ & contatore & “ volta/e <br>”
     contatore = contatore + 1
     anni = anni + 1
   Loop
%>

esempio 2

Nell’esempio 2 creiamo una variabile di nome anni e gli assegniamo il valore 35, ed una variabile contatore che inizializziamo ad 1. Eseguiamo il ciclo, che verrà eseguito 5 volte prima che la condizione risulti falsa.

Un’altra forma di questa struttura è la seguente

Do
 (istruzioni)
Loop Until (condizione)

Il funzionamento è il medesimo di prima, ma fate bene attenzione che con questa struttura le istruzioni all’interno del ciclo sono eseguite almeno una volta, prima che la condizione sia controllata.

 

1.3.3 For…Next

Quest’istruzione è usata per  eseguire una porzione di codice un numero di volte noto a priori.
Ecco la sintassi.

1-  For (contatore = valore) To (valore finale) Step (incremento)
2-    (istruzioni)
3-  Next

Eccovi un esempio:

<%@ Language = VBScript %>
<% Option Explicit %>
<%
   DIM contatore

   For contatore = 1 To 10 Step 1
     Response.Write “valore del contatore : “ & contatore & “<br>”
   Next
%>

esempio 3

Nell’esempio 3 creiamo una variabile di nome contatore che inizializziamo ad 1. Eseguiamo il ciclo fino a quando la variabile contatore non assume valore 11, nel qual caso il ciclo si interrompe.
Il valore che andiamo ad usare per incrementare la variabile può anche essere negativo, nel qual caso il ciclo si arresta quando la nostra variabile raggiunge un valore minore di valore finale; per esempio:


<%@ Language = VBScript %>
<% Option Explicit %>
<%
       DIM contatore

       For contatore = 11 To 10 Step -1
           Response.Write “valore del contatore : “ & contatore & “<br>”
 Next
%>

esempio 4

Il ciclo nell’esempio 4 verrà eseguito solo due volte, dopo di ché verrà interrotto.
Altri casi sono:
Se valore iniziale è maggiore di valore finale ed incremento è positivo, il ciclo non verrà mai eseguito.
Se valore iniziale è minore di valore finale ed incremento è negativo, il ciclo non verrà mai eseguito.

1.3.4 For Each…Next

Quest’istruzione si usa se bisogna ripetere l’esecuzione di ogni elemento di un gruppo. Se per esempio vogliamo visualizzare tutte le stringhe contenute in un array useremo questo costrutto.
Eccovi un esempio:

<%@ Language = VBScript %>
<% Option Explicit %>
<%
       DIM array_nomi(3), nome

       Array_nomi(0) = “Nicola”
       Array_nomi(1) = “Giovanni”
       Array_nomi(2) = “Francesca”
       Array_nomi(3) = “Flavia”

       For Each nome in array_nomi
           Response.Write nome & “<br>”
 Next
%>

esempio 5

Nell’esempio 5 creiamo due variabili, nome e array_nomi, ed inizializziamo l’array con delle stringhe. Poi usiamo questo costrutto per scansionare l’array invece del solito For…Next.

Nella prossima lezione parleremo dei controlli della logica ramificata.

 

 

Torna all'indice Generale del corso di Corso di ASP di Software Planet