| Home / Indice sezione | www.icosaedro.it | ![]() |
|
| |||
| Frontespizio Introduzione Caratteristiche Un semplice esempio Moduli Sezione IMPORT Sezione CONST Sezione TYPE Tipo FORWARD Sezione VAR Sezione FUNCTION Sezione BEGIN Stringhe letterali Sottostringhe Commenti Costanti predefinite Variabili predefinite Funzioni predefinite Istruzione di assegnamento Istruzione per la chiamata di funzione Ordine di valutazione degli argomenti attuali Istruzione IF Istruzione SWITCH Istruzione FOR Istruzione WHILE Istruzione REPEAT Istruzione LOOP Istruzione TRY Istruzione RAISE ERROR Istruzione RETURN Espressioni logiche Espressioni intere Espressioni reali Espressioni stringa Espressioni tra tipi strutturati Regole di scope M2 per programmatori C M2 per programmatori Java Rappresentazione dei dati in memoria Keywords Messaggi di errore a runtime Sintassi | Istruzione FORPermette l'esecuzione ciclica di un gruppo di istruzioni mentre una variabile intera assume tutti i valori all'interno di un intervallo dato. La forma generale della istruzione è
All'ingresso nel ciclo le espressioni del valore iniziale e finale vengono calcolate, quindi il valore iniziale viene assegnato all'indice. Il valore del passo viene invece determinato in fase di compilazione, e deve perciò essere una espressione costante. Terminata questa fase di inizializzazione, il gruppo di istruzioni contenute nel FOR viene ripetuto ciclicamente. All'inizio di ogni ciclo viene controllato il valore dell'indice: se il passo è positivo allora si esce dalla istruzione FOR quando l'indice è maggiore del valore finale, mentre se il passo è negativo si esce dalla istruzione FOR quando l'indice diventa minore del valore finale. Superato questo test, il gruppo di istruzioni viene eseguito, e quindi la variabile indice viene incrementata del passo prima di ripetere il ciclo da capo. Siccome il test sull'indice viene eseguito all'inizio di ogni ciclo, è possibile che il gruppo di istruzioni non venga mai eseguito. Il valore dell'indice all'uscita dal ciclo è quello che ha fatto fallire il test eseguito all'inizio del ciclo.
La variabile indice, qui indicata con I valori iniziale e finale dell'indice vengono calcolati una sola volta prima di entare nel ciclo, e quindi non si possono cambiare all'interno del ciclo stesso. E' tuttavia possibile modificare il valore dell'indice all'interno del ciclo stesso. Ad esempio, se il passo è positivo è possibile uscire anticipatamente dal ciclo assegnando alla variabile indice il valore finale.
Il valore del passo deve essere una espressione intera calcolabile in
fase di compilazione. La sezione "
L'istruzione
La funzione Siccome il valore iniziale e finale dell'indice sono calcolati una sola volta all'ingresso nella istruzione FOR, si possono usare espressioni arbitrariamente complesse per calcolare questi valori senza incidere sulla efficienza. Quando il numero di iterazioni non è determinabile a priori ma viene determinato durante l'esecuzione del ciclo stesso, allora occorre utilizzare le istruzioni WHILE, REPEAT...UNTIL e LOOP. | |||
| ||||
| Umberto Salsi | Contatto | Mappa | Home / Indice sezione |