- Pur essendo supportate per compatibilità le istruzioni dichiarative
del Fortran 77, in Fortran 90 è consigliato dichiarare le variabili
usando la nuova sintassi, in cui il nome del tipo è separato
dall'elenco delle variabili da ::; in questa maniera è
possibile aggiungere al tipo eventuali attributi, alcuni dei quali
sono presentati qua, mentre altri saranno introdotti in seguito.
- Anche le variabili, oltre ovviamente alle costanti
PARAMETER, possono essere inizializzate direttamente assieme
alla dichiarazione. Le variabili così inizializzate ricevono
automaticamente l'attributo SAVE, a differenza del linguaggio
C.
- La possibilità di inizializzare le variabili con l'istruzione
DATA è rimasta per compatibilità, ma si consiglia di usare
l'inizializzazione integrata nella dichiarazione.
- Per tipi di variabili INTEGER, REAL e
COMPLEX è possibile specificare anche il
KIND, cioè la dimensione in memoria di un elemento e quindi
la precisione numerica e/o l'estensione dell'intervallo numerico
rappresentabile dalla variabile in questione, tramite le opportune
funzioni intrinseche e gli attributi relativi. Da notare che il numero
che specifica il KIND deve essere una costante nota al
momento della compilazione.
|
IMPLICIT NONE
INTEGER :: i, j, k
INTEGER, PARAMETER :: a=5
INTEGER :: b(2) = (/3,6/)
REAL, SAVE :: x=3.4, z(a)
DOUBLE PRECISION :: xx
CHARACTER(LEN=40) :: nome='Stanislas-Xavier'
INTEGER, PARAMETER :: &
myint=SELECTED_INT_KIND(3), & ! INT in grado di rappresentare x
! -103<x<103
myreal=SELECTED_REAL_KIND(8,32), & ! REAL in grado di rappresentare x
! -1032<x<1032
! con 8 cifre significative
defint=KIND(1), & ! default INT
defreal=KIND(1.0E0), & ! default REAL
defdble=KIND(1.0D0), & ! default DOUBLE PRECISION
INTEGER(KIND=myint) :: i1
REAL(KIND=myreal) :: r1
i1 = INT(x, KIND=myint)
r1 = 0.7_myreal + REAL(a, KIND=myreal)
|