25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

108 Istruzioni di controllo<br />

<strong>Il</strong> seguente frammento di programma illustra in maniera estremamente semplice sia la possibilità<br />

di interrompere il ciclo con un’istruzione EXIT, sia la possibilità di ”saltare” anche solo<br />

una parte del blocco DO mediante una o più istruzioni CYCLE:<br />

i = 0; j = 0<br />

DO<br />

i = i+1<br />

j = j+1<br />

PRINT*, i<br />

IF (i > 4) EXIT<br />

IF (j > 3) CYCLE<br />

i = i+2<br />

END DO<br />

L’output prodotto dal precedente costrutto è, chiaramente:<br />

1<br />

4<br />

7<br />

Ciclo a condizione iniziale<br />

<strong>Il</strong> ciclo a condizione iniziale (anche detto ciclo while) si caratterizza per la presenza del test<br />

sulla condizione_logica in testa al blocco di istruzioni, subito dopo l’istruzione DO, allo scopo<br />

di determinare se le istruzioni del corpo del ciclo debbano essere o meno eseguite almeno una<br />

volta. La forma generale di tale ciclo è la seguente:<br />

[nome:] DO<br />

IF (espressione_logica) EXIT<br />

blocco_di_istruzioni<br />

END DO [nome]<br />

Un esempio di ciclo a condizione iniziale è il seguente:<br />

REAL :: diff, old_val, new_val<br />

...<br />

diff = ... ! assegna a diff un valore di partenza<br />

DO<br />

IF (diff < 0.001) EXIT<br />

...<br />

new_val = ... !calcola il nuovo valore<br />

diff = old_val-new_val<br />

old_val = new_val<br />

END DO

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!