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.

un esempio di utilizzo di COMMON con il Fortran 77

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 ).

il programma fortran usa un'area di memoria comune tramite l'istruzione 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.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Fortran (subroutine)