Le variabili globali in Fortran
La gestione delle variabili globali in Fortran cambia a seconda della versione del linguaggio (F77 e F90).
Cos'è una variabile globale? E' una variabile condivisa tra il programma principale e le varie subroutine.
Nel fortran 77 si usa l'istruzione COMMON mentre nel fortran 90 tramite MODULE.
Common ( Fortran 77 )
Nel vecchio Fortran 77 l'istruzione COMMON mi consente di passare informazioni tra una subroutine e il programma principiale.
COMMON lista variabili
L'istruzione COMMON crea un'area di memoria condivisa e la usa per una lista di variabili.
Esempio
In questo programma richiamo la subroutine somma senza usare i parametri.
La dichiarazione dell'area comune va fatta sia sul programma principale e sia sulla subroutine.
In questo modo il programma principale e il sottoprogramma possono accedere sia in lettura che in scrittura alle variabili a, b e c.
Il risultato in output è
3
Module ( Fortran 90 )
A partire dal Fortran 90 e successive versioni le variabili globali sono definite tramite i moduli.
Un modulo è compreso tra le istruzioni MODULE e END MODULE.
MODULE nome
lista variabili
END MODULE
Il modulo va dichiarato all'inizio del programma.
Per condividere l'accesso alle variabili globali del modulo, inserisco l'istruzione USE nel programma principale e in tutti i sottoprogrammi.
USE nome
Un esempio pratico
Questo programma scritto in Fortran 90 utilizza un'area di memoria comune creata tramite un modulo ( MODULE ).
L'area viene richiamata sia dal programma principale che dal sottoprogramma tramite l'istruzione USE.
Le variabili a,b,c sono viste sia dal programma principale che dal sottoprogramma.
Il risultato finale è sempre lo stesso.
3
E così via.