I cicli nel Fortran


FORTRANNel linguaggio Fortran 90 un ciclo, che esegue un blocco di istruzioni un numero determinato di volte, èdetto ciclo iterativo. I cicli DO possono avere una delle due forme:

[nome:] DO indice=inizio,fine,incremento
istruzione1
istruzione2
………
istruzionen
END DO nome

oppure:

[nome:] DO indice=inizio,fine
istruzione1
istruzione2
………
istruzionen
END DO nome

Nel secondo caso l’incremento sarà unitario. Anche in questo caso l’etichetta nome è facoltativa. Nelle strutture di programma precedenti la variabile indice è una variabile intera utilizzata come contatore del ciclo iterativo, mentre le quantità intere inizio, fine e incremento sono i parametri del ciclo; hanno il compito di controllare i valori della variabile indice durante l’esecuzione del ciclo. Il parametro incremento è facoltativo; se è omesso, viene impostato a 1.

Le istruzioni comprese fra DO e END DO formano il corpo del ciclo iterativo; vengono eseguite ad ogni ripetizione del ciclo. Il meccanismo di funzionamento di un ciclo iterativo viene spiegato per passi nel prospetto seguente:

1) Ciascuno dei tre parametri inizio, fine e incremento può essere una costante, una variabile o un’espressione. Se si tratta di variabili o espressioni, i loro valori vengono preventivamente calcolati prima dell’inizio del ciclo.

2) All’inizio dell’esecuzione del ciclo DO, il programma assegna il valore inizio alla variabile di controllo indice. Se indice * incremento <= fine * incremento, il programma esegue le istruzioni all’interno del corpo del ciclo.

3) Dopo che le istruzioni del corpo del ciclo sono state eseguite, la variabile di controllo viene aggiornata nel modo seguente:

indice = indice + incremento

Se indice * incremento risulta ancora inferiore a fine * incremento, il programma ripete le istruzioni contenute nel corpo del ciclo.

4) Il passaggio 2 viene ripetuto fino a quando indice * incremento <= fine * incremento. Nel momento in cui questa condizione non risulta più vera, il controllo passa alla prima istruzione che si trova dopo la fine del ciclo (END DO).

L’esempio che segue ci permetterà di comprendere meglio il meccanismo esaminato nei passi precedenti. Allora analizziamo l’esempio seguente:

DO i = 1, 100
istruzione 1
……
……
10
istruzione n
END DO

In questo caso, le istruzioni da 1 a n saranno eseguite 100 volte. L’indice del ciclo avrà il valore 100 durante l’ultimo passaggio del ciclo. Quando il controllo passa all’istruzione DO dopo il centesimo passaggio, l’indice del ciclo assumerà il valore 101. Poichè 101 *1 > 100 *1, il controllo sarà trasferito alla prima istruzione che segue END DO.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Leave a Reply

Your email address will not be published. Required fields are marked *