I cicli condizionati nel linguaggio ASP
Un ciclo condizionato è un struttura di controllo ciclica condizionata a un evento.
Cosa significa ciclo condizionato?
Quando si parla di ciclo o struttura condizionata si intende l'esecuzione di un blocco di istruzioni ( ciclo ) reiterata finché non si verifica un particolare evento di controllo ( condizione ).
Non è possibile conoscere in anticipo il numero dei cicli del loop perché l'iterazione si conclude soltanto quando si verifica un evento.
Pertanto, il loop potrebbe anche essere infinito. E' un'ipotesi sempre da considerare ed evitare perché un loop infinito può provocare conseguenze serie sul computer server.
La sintassi dell'istruzione DO While / Loop
Nel linguaggio ASP i cicli condizionati possono essere realizzati tramite l'istruzione Do While Loop.
DO WHILE ( condizione ) istruzioni LOOP
L'istruzione ripete l'esecuzione del blocco di istruzioni fin quando è vera la condizione di controllo indicata tra parentesi tonde dopo la clausola While.
Il loop termina quando la condizione di controllo diventa falsa.
Un esempio pratico
Nel seguente script visualizzo i primi dieci numeri naturali.
indice=0
DO WHILE (indice<10)
response.write(indice)
indice=indice+1
LOOP
Nella prima istruzione assegno alla variabile indice il valore zero (0).
Il blocco di istruzioni è composto soltanto da due righe. La prima stampa a video il contenuto della variabile indice. La seconda incrementa di uno il valore numerico della variabile.
L'istruzione DO WHILE / LOOP reitera dieci volte. Il risultato a video è il seguente:
0123456789
Al decimo passaggio la variabile var assume il valore dieci (10). Pertanto la condizione di controllo (indice<10) non è più soddisfatta e il loop si conclude.
La sintassi While / Wend
Posso ottenere lo stesso risultato precedente utilizzando l'istruzione WHILE / WEND.
indice=0
WHILE (indice<10)
response.write(indice)
indice=indice+1
WEND
La sintassi dello script è diversa ma il risultato a video è sempre lo stesso.
La sintassi Do Until / Loop
Un altro modo per realizzare un ciclo condizionato in ASP è l'istruzione Do Until / Loop.
indice=0
DO UNTIL (indice=10)
response.write(indice)
indice=indice+1
LOOP
In questo caso seguo una logica diversa. Il loop esegue il blocco di istruzioni comprese tra UNTIL e LOOP finché la condizione di controllo è falsa.
Il loop termina quando la condizione diventa vera. E' una logica inversa rispetto alle precedenti istruzioni ma il risultato finale è sempre lo stesso.