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.

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!