Istruzione equivalence in Fortran

L'istruzione EQUIVALENCE del linguaggio Fortran mi consente di collegare due nomi di variabili tra loro.

EQUIVALENCE ( nome1, nome2 )

I due argomenti indicano il nome della prima e della seconda variabile separati da una virgola e posti tra parentesi tonde.

A cosa serve?

Quando modifico la prima variabile, si modifica automaticamente anche la seconda. E viceversa.

    Un esempio pratico

    Esempio 1

    Questo programma definisce due variabili intere e le lega tra loro tramite l'istruzione EQUIVALENCE.

    PROGRAM hello
    INTEGER a,b
    EQUIVALENCE (a,b)
    a=5
    WRITE(*,*) "a=",a
    WRITE(*,*) "b=",b
    END

    Quando assegno alla variabile a il valore 5, lo stesso valore è assegnato alla variabile b.

    Infine stampo il contenuto della variabile a e b.

    a=5
    b=5

    E viceversa.

    Esempio 2

    L'istruzione EQUIVALENCE è molto utile anche per creare delle variabili alias in un array.

    In particolar modo, se un numero indice del vettore registra un'informazione, posso modificarla tramite la variabile alias.

    PROGRAM hello
    INTEGER a,b,v(20)
    EQUIVALENCE (v(1),a)
    a=5
    WRITE(*,*) "a=",a
    WRITE(*,*) "v(1)=",v(1)
    END

    Quando assegno il valore 5 alla variabile a, viene assegnato indirettamente anche all'elemento v(1) dell'array.

    a=5
    v(1)=5

    In questo modo il programma diventa più leggibile ed evito di sbagliarmi.

    E così via.


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

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Fortran