sei sul sito di Giovanni Fraterno
Le iterazioni,
chiamate più comunemente cicli, servono ad eseguire la stessa istruzione un certo numero di volte,
tale numero può essere predefinito a priori
oppure vincolato al verificarsi di un determinato
evento.
Le iterazioni vengono gestite mediante l’impiego del FOR, del DO e del
WHILE, ovvero più precisamente mediante i 6 successivi
cicli:
For………Next
Do While………Loop
Do Until………Loop
Do………Loop While
Do………Loop Until
While………Wend
Il ciclo
For………Next lo usiamo quando conosciamo a priori
il numero delle ripetizioni da eseguire.
Servendoci anche di HEX(i), ovvero di una
funzione che converte un numero decimale in esadecimale, nel successivo esempio viene dinamicamente
creata una tabella con 256 righe ed un'unica colonna, e dove il colore
delle singole celle segue via via tutte le sfumature di grigio:
<html>
<head><title>La
prima pagina</title></head>
<body>
<table>
<%for i=0 to 255 step 1%>
<tr>
<td bgcolor="#<%response.write Hex(i)& Hex(i)& Hex(i)%>">ciao</td>
</tr>
<%next%>
</table>
</body>
</html>
Si noti nel precedente esempio
l’apertura e la chiusura di ben 3 procedure ASP.
E’ possibile, aggiungendo l’istruzione
EXIT FOR in un’eventuale condizione contenuta
all’interno del ciclo, forzare l’uscita anche prima del numero massimo di
ripetizioni definito, con ciò bloccando il ciclo stesso anticipatamente.
Con
DO e con WHILE la condizione di fine
ciclo non è di tipo numerico come per FOR, ma
di tipo booleano, e cioè
vero e falso.
Il ciclo
infatti si ripete fino a che la
condizione risulta vera, ed esce nel momento
in cui la condizione diventa falsa.
Di seguito è proposto il
formalismo dei rimanenti 5 cicli, ed ottenuti appunto impiegando DO e WHILE.
<%DO WHILE
contatore <= 10…inizia e
ripeti fino a che il contatore E’ infer. o uguale a 10
contatore = contatore + 1………..corpo della procedura
LOOP%>
<%DO UNTIL
contatore > 10….inizia e
ripeti fino a che il contatore NON E’ maggiore di 10
contatore = contatore + 1……...corpo della procedura
LOOP%>
<%DO
contatore = contatore + 1….……..corpo della procedura
LOOP UNTIL
contatore > 10%>...riparti
daccapo fino a che il cont. NON E’ maggiore. di 10
<%DO
contatore = contatore + 1………........corpo della procedura
LOOP WHILE
contatore <= 10%>…..riparti daccapo fino a che il contat. E’
infer. o ug. a 10
<%WHILE contatore
<= 10….inizia e ripeti
fino a che il contatore E’ inferiore o uguale a 10
contatore = contatore + 1.......corpo della procedura
WEND%>