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.1 Introduzione<br />

Capitolo 2<br />

Istruzioni di controllo<br />

La più semplice forma di programma è quella sequenziale, in cui una serie di istruzioni devono<br />

essere eseguite nell’ordine in cui appaiono nel listato sorgente. Tipicamente un programma<br />

sequenziale legge dei dati di input, li elabora, fornisce i risultati e si interrompe. Un esempio<br />

molto semplice di programma sequenziale è il seguente che valuta la caduta di tensione ai capi<br />

di un elemento di circuito elettrico nota la resistenza e la corrente che lo percorre:<br />

PROGRAM Legge_di_Ohm<br />

IMPLICIT NONE<br />

REAL :: Voltaggio, Corrente, Resistenza<br />

! start<br />

WRITE(*,*) " Inserisci la corrente [ampere] e la resistenza [ohm]: "<br />

READ(*, *) Corrente, Resistenza<br />

Voltaggio = Corrente * Resistenza<br />

WRITE(*,*) " <strong>Il</strong> voltaggio e’: ", Voltaggio, " volt"<br />

WRITE(*,*) " OK. "<br />

STOP<br />

END PROGRAM Legge_di_Ohm<br />

Tuttavia, spesso un programma deve essere in grado di scegliere un’azione appropriata a seconda<br />

delle ”circostanze”, ossia in funzione dello stato di alcuni parametri di controllo. Ciò può avvenire<br />

a mezzo di particolari istruzioni che consentono al programmatore di controllare l’ordine in cui<br />

le operazioni devono essere eseguite all’interno di un programma. Queste istruzioni di controllo<br />

possono essere di due tipi:<br />

• istruzioni di diramazione<br />

• istruzioni di ripetizione<br />

Al primo gruppo appartengono le istruzioni di selezione IF e SELECT CASE, al secondo gruppo<br />

appartengono le istruzioni cicliche a conteggio o condizionali DO.<br />

89

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

Saved successfully!

Ooh no, something went wrong!