Euforia - La dichiarazione for

UN for loop è una struttura di controllo della ripetizione che consente di scrivere in modo efficiente un ciclo che deve essere eseguito un numero specifico di volte.

Un'istruzione for imposta un ciclo speciale che ha la propria variabile di ciclo. La variabile del ciclo inizia con il valore iniziale specificato e lo incrementa o decrementa fino al valore finale specificato.

Un ciclo for è utile quando si conosce il numero esatto di volte in cui un'attività deve essere ripetuta.

Sintassi

La sintassi di un ciclo for è la seguente:

for "initial value" to "last value" by "inremental value" do
   -- Statements to be executed.
end for

Qui si inizializza il valore di una variabile e quindi viene eseguito il corpo del ciclo. Dopo ogni iterazione, il valore della variabile viene aumentato del valore incrementale specificato. L'ultimo valore della variabile viene verificato e se viene raggiunto, il ciclo viene terminato.

Il valore iniziale, l'ultimo valore e l'incremento devono essere tutti atomi. Se non viene specificato alcun incremento, viene assunto +1.

Il ciclo for non supporta l' istruzione di ingresso .

Esempio

#!/home/euphoria-4.0b2/bin/eui

for a = 1 to 6 do
   printf(1, "value of a %d\n", a)
end for

Questo produce il seguente risultato:

value of a 1
value of a 2
value of a 3
value of a 4
value of a 5
value of a 6

La variabile loop viene dichiarata automaticamente. Esiste fino alla fine del ciclo. La variabile non ha valore al di fuori del ciclo e non è nemmeno dichiarata. Se hai bisogno del suo valore finale, devi copiarlo in un'altra variabile prima di lasciare il ciclo.

Ecco un altro esempio con valore incrementale:

#!/home/euphoria-4.0b2/bin/eui

for a = 1.0 to 6.0  by 0.5 do
   printf(1, "value of a %f\n", a)
end for

Questo produce il seguente risultato:

value of a 1.000000
value of a 1.500000
value of a 2.000000
value of a 2.500000
value of a 3.000000
value of a 3.500000
value of a 4.000000
value of a 4.500000
value of a 5.000000
value of a 5.500000
value of a 6.000000