Introduzione
al
FORTRAN 90
Il compilatore g95
(www.g95.org oppure FTP.g95.org)

g95-MinGW-41.exe
programma di installazione per sistemi
Windows 2000/XP

g95-MinGW.exe
programma di installazione per sistemi
Windows Me/98
Il compilatore g95

Path di installazione
evitare nomi di cartelle che contengono
spazi bianchi

NON sono validi
…\Program Files\....
c:\Documents and Settings\...

NON è utilizzabile come folder di installazione
il DESKTOP dell’utente
Il compilatore g95

Reimpostare il PATH di sistema aggiungendo
…\<instaldir>\bin

Impostare il LIBRARY_PATH
LIBRARY_PATH=…\<instaldir>\lib
Istruzioni

istruzioni eseguibili che descrivono le azioni che
un programma deve effettuare
sum=var1+var2

istruzioni non eseguibili che forniscono
informazioni per eseguire un programma
correttamente
REAL :: var1,var2,sum
Istruzioni

possono iniziare in un qualsiasi punto di un riga
sum=var1+var2
sum=var1+var2

ogni riga può contenere al massimo 132 caratteri
sum=var1+var2+var3+var4+var5+var6+var7

ogni riga può contenere più istruzioni purché divise
con il carattere ;
suma=var1+var2; sumb=var3+var4
Istruzioni

un’istruzione può continuare sulla riga successiva
purché la riga termini con il carattere &
sum=var1+var2+var3+&
var4+var5+var6+var7

un’istruzione può occupare al massimo 40 righe
sum=var1+var2+var3+&
var4+var5+var6+var7+&
var9+var10+var11+var12+&
var13+var14+var15+var16
Istruzioni

un’istruzione può essere preceduta da un numero
compreso da 1 a 99999 detto label
77
100
suma=var1+var2
sumb=suma+var3
sumc=var4+var5
la presenza di un label permette di richiamare
l’istruzione da altre parti di un programma
Commenti

i commenti devono essere preceduti dal carattere !
e possono essere posti in un qualunque punto di
una riga
!
somma delle due variabili var1 e var2
suma=var1+var2
! somma di var1, var2 , var3
sumb=suma+var3
sumc=var4+var5 ! somma totale
Costanti e variabili

costanti sono dati i cui valori non cambiano
durante l’esecuzione del programma

variabili sono dati i cui valori possono cambiare
durante l’esecuzione del programma
Nomi delle costanti e variabili

possono essere costituiti da una qualsiasi
combinazione di lettere alfabetiche (a-z), cifre (0-9)
e caratteri di sottolineatura _
validi
z12_sto917
Sl_u772

non validi
c&2_sto917
Sl_u%72
Il Fortran 90 non distingue le lettere minuscole
dalle lettere maiuscole
aBcD
è equivalente a
AbCd
Nomi delle costanti e variabili

il numero massimo di caratteri è 31
valido
ab_sto917
non valido
sabcd_123efcdlmns987654bc2_sto917

il primo carattere deve essere un lettera
valido
bc2_sto917
non valido
7c2_sto917
Struttura di un programma
sezione dichiarativa
sezione esecutiva
sezione conclusiva
Struttura di un programma
sezione dichiarativa

contiene istruzioni non eseguibili

definisce il nome del programma

definisce numero e tipi di costanti e variabili
PROGRAM nome_programma
REAL :: var1,var2,var3
REAL, PARAMETER :: coef=1.5
Struttura di un programma
sezione esecutiva

contiene istruzioni eseguibili

definisce le azioni che deve fare il programma
READ( , ) var1,var2
var3=var1+coef var2
WRITE( , ) var3
Struttura di un programma
sezione conclusiva

contiene istruzioni che concludono l’esecuzione
del programma
STOP
END PROGRAM nome_programma

STOP interrompe l’esecuzione del programma

END PROGRAM indica l’ultima istruzione del
programma
Struttura di un programma
PROGRAM nome_programma
dichiarazioni parametri e variabili
END PROGRAM nome_programma
Dichiarazioni parametri e variabili
i tipi di parametri e variabili si dividono

tipi intrinseci (cioè definiti nel linguaggio)

tipi derivati (che possono essere definiti dal
dal programmatore)
Tipi intrinseci
tre tipi numerici
 INTEGER
 REAL
 COMPLEX
un tipo logico
 LOGICAL
uno formato da stringhe di caratteri
 CHARACTER
Tipi INTEGER e REAL
Definizione implicita (o di default)

ogni variabile che inizia con
I,J,K,L,M,N
è considerata una variabile intera

ogni variabile la cui iniziale è compresa
tra A e H oppure tra O e Z
è considerata una variabile reale
Tipi INTEGER e REAL
Definizione esplicita

variabili
INTEGER :: nome1,nome2,....
REAL :: nome1,nome2,....

parametri
INTERGER, PARAMETER :: nome1=valore
REAL, PARAMETER :: nome1=valore
Tipi INTEGER e REAL
Per utilizzare i reali con una precisione doppia
rispetto a quella associata al tipo REAL si può
utilizzare le seguenti definizioni:
variabili
DOUBLE PRECISION :: nome1,nome2,....

parametri
DOUBLE PRECISION, PARAMETER :: nome1=val

VETTORI e MATRICI
dimensioni miste
INTEGER :: nome1(dim1),nome2(dima2,dimb2)....
REAL :: nome1(dim1),nome2(dima2,dimb2),....
DOUBLE PRECISION ::nome1(dim1),.......

dimensioni uguali
INTEGER, DIMENSION(dim1,dim2) :: nom1,nom2
REAL, DIMENSION(dim1,dim2) :: nome1,nome2
DOUBLE PRECISION, DIMENSION(dim1) ::nom1,

Tipi INTEGER e REAL
Per evitare errori i battitura è consigliabile utilizzare
l’istruzione:
IMPLICIT NONE
che impone che tutti i parametri e tutte le variabili
siano definite esplicitamente
Riferimenti
S.J. Chapman:”Fortran 90/95, guida alla
programmazione”. McGraw-Hill, II edizione, 2004.
M. Metcalf, J. Reid:”Fortran 90/95, explained”.
Oxford Science Publications, 1996.
Scarica

Fortran90-I