25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.3 Istruzioni di ripetizione 105<br />

CYCLE [nome]<br />

L’istruzioneCYCLE può essere inserita in un qualsiasi punto all’interno di un cicloDO. Quando<br />

una istruzione CYCLE viene eseguita, tutte le istruzioni che la seguono all’interno del ciclo<br />

vengono ignorate ed il controllo ritorna all’inizio del ciclo. L’indice del ciclo viene quindi<br />

incrementato e l’esecuzione riprende dall’inizio purché l’indice non abbia raggiunto il suo valore<br />

limite.<br />

Si noti che, in presenza di cicli DO innestati, un’istruzione CYCLE senza nome ha effetto<br />

sempre sul ciclo più interno mentre un’istruzione CYCLE con nome ha effetto sul ciclo avente<br />

quel nome, anche se non è quello più interno.<br />

<strong>Il</strong> costrutto che segue mostra un esempio di funzionamento dell’istruzione CYCLE:<br />

DO i = 1,5<br />

PRINT*, i<br />

IF(i>3) CYCLE<br />

PRINT*, i<br />

END DO<br />

PRINT*, "Fatto!"<br />

<strong>Il</strong> suo output è, chiaramente, il seguente:<br />

1<br />

1<br />

2<br />

2<br />

3<br />

3<br />

4<br />

5<br />

Fatto!<br />

Un esempio di utilizzo comparato delle istruzioni EXIT e CYCLE è, infine, fornito dal seguente<br />

frammento di codice:<br />

loop1: DO i = 1,10<br />

loop2: DO j = 1,10<br />

n = n+1<br />

IF (n > nmax) EXIT loop1 ! esce dal ciclo esterno<br />

CYCLE loop2 ! salta la prossima istruzione<br />

n = n*2<br />

END DO loop2<br />

END DO loop1<br />

Si noti come la presenza di cicli con nome aumenti la leggibilità di un costrutto in presenza di<br />

istruzioni EXIT o CYCLE.

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

Saved successfully!

Ooh no, something went wrong!