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.

228 Unità di Programma<br />

5.5 Moduli<br />

Un modulo è un’unità di programma compilato separatamente che contiene le definizioni e i<br />

valori iniziali dei dati che devono essere condivisi fra varie unità di programma. Se il nome del<br />

modulo è incluso, all’interno di un’unità di programma, in un’istruzione USE, i dati dichiarati<br />

nel modulo potranno essere liberamente usati all’interno di quella unità di programma. In altre<br />

parole, ogni unità di programma che usa un modulo avrà accesso agli stessi dati.<br />

Un modulo inizia con un’istruzione MODULE, che gli assegna un nome, e termina con l’istruzione<br />

END MODULE che, facoltativamente, può essere seguita dal nome del modulo. Fra queste<br />

due istruzioni vanno inserite le dichiarazioni dei dati da condividere.<br />

<strong>Il</strong> formato di un generico modulo è il seguente:<br />

MODULE nome_modulo<br />

[istruzioni di definizione di tipo]<br />

[istruzioni di dichiarazione di tipo]<br />

[CONTAINS<br />

procedure interne]<br />

END [MODULE [nome_modulo]]<br />

Un esempio di modulo è il seguente:<br />

MODULE mio_modulo<br />

IMPLICIT NONE<br />

SAVE<br />

REAL, PARAMETER :: pi=3.14<br />

INTEGER :: m=5, n=5<br />

REAL, DIMENSION(n) :: vettore<br />

END MODULE mio_modulo<br />

L’uso dell’istruzione SAVE assicura che tutti i dati dichiarati nel modulo restino inalterati fra<br />

due chiamate di procedura differenti: questa istruzione dovrebbe essere inclusa in qualsiasi<br />

modulo che dichiara dati da condividere. Per utilizzare i valori di un modulo, un’unità di<br />

programma deve dichiarare il nome del modulo in un’istruzione USE. La forma dell’istruzione<br />

USE è la seguente:<br />

USE nome_modulo<br />

In un’unità di programma le istruzioni USE devono essere poste prima di tutte le altre (fatta<br />

eccezione, ovviamente, per le istruzioni PROGRAM, SUBROUTINE, FUNCTION e dei commenti i quali<br />

ultimi possono essere inseriti ovunque). <strong>Il</strong> processo per accedere alle informazioni in un modulo<br />

con un’istruzione USE è chiamato associazione di USE.<br />

Le righe seguenti mostrano un esempio di utilizzo del modulo mio_modulo allo scopo di<br />

creare una condivisione di dati tra un programma principale ed una subroutine:<br />

PROGRAM test_mio_modulo<br />

USE mio_modulo

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

Saved successfully!

Ooh no, something went wrong!