Istruzioni di INPUT/OUTPUT
variabili di
programma

unità di I/O
specificare una unità con cui scambiare i dati
input da tastiera
output a video
file esterno
Istruzioni di INPUT/OUTPUT

READ(<numero_di_unità>,<numero_di_formato>)
lettura di dati

WRITE(<numero_di_unità>,<numero_di_formato>)
scrittura di dati
INPUT/OUTPUT numero di unità
tastiera
video
num. unità = * oppure 5
num. unità = * oppure 6

READ( * ,<numero_di_formato>)
READ( 5 ,<numero_di_formato>)

WRITE( * ,<numero_di_formato>)
WRITE( 6 ,<numero_di_formato>)
Apertura di un FILE esterno
OPEN( unit = <numero_di_unita>,
file = ‘<path_file_name>’,
status = ‘{OLD,NEW,REPLACE,SCRATCH}’, opz.
action = ‘{READ,WRITE,READWRITE}’, opzionale
iostat = variabile intera) opzionale
variabile intera = 0 se l’istruzione OPEN è stata
eseguita correttamente
Apertura di un FILE esterno

OPEN( unit = 2, file = ‘esempio.txt’, action = ‘READ’)
predispone il file ‘esempio.txt’ per la lettura e gli assegna
il numero di unità 2

OPEN( unit = 3, file = ‘esempio.txt’, action = ‘WRITE’)
predispone il file ‘esempio.txt’ per la scrittura e gli assegna
il numero di unità 3
I numeri 5 e 6 NON sono utilizzabili perché associati
alla tastiera ed al video
chiusura di un FILE esterno

CLOSE(unit = <numero_di_unita>)
chiude il file associato a numero_di_unita
spostamenti su un FILE

BACKSPACE(unit = <numero_di_unita>)
fa tornare al record precedente

REWIND(unit = <numero_di_unita>)
fa tornare al primo record
READ e WRITE senza formato
READ(<numero_di_unità>, * ) <lista_variabili>
 WRITE(<numero_di_unità>, * ) <lista_variabili>

lettura e scrittura con formattazione standard
READ( 1 , * ) a,c,d
WRITE( * , * ) a,c,d,
Commenti nelle WRITE senza formato
WRITE(<n.unità>, * ) ‘ commento ’,<lista_variabili>
WRITE( * , * ) ‘il numero a =‘, a,’ il numero c=‘,c
WRITE( * , * ) ‘il numero a =‘
READ( * , * ) a
READ e WRITE con formato
READ(<numero_di_unità>,<numero_di_formato>)
 WRITE (<numero_di_unità>,<numero_di_formato>)

lettura e scrittura con formattazione definita dal
programmatore
Dati formattati
<label> FORMAT(<list_of_format_identifier>)

format identifier
i<n>
intero con <n> cifre compreso il segno
a<n>
stringa composta da <n> caratteri alafanumerici
f<n.m> numero composto di <n> caratteri, compresi il
segno e il separatore decimale, e con <m> cifre
decimali
n >= m+2
esempio
f7.3
-70.500
Dati formattati
<label> FORMAT(<list_of_format_identifier>)

format identifier
d<n.m> numero in doppia precisione composto di <n>
caratteri compresi, il segno, il separatore decimale
e l’esponenziale, e con <m> cifre decimali
n>=m+7
esempio d10.3
+0.705D+03
<n>x
lascia <n> spazi bianchi
Esempio di output formattato
OPEN (unit=22, file=‘output.txt’, action=‘write’)
WRITE (unit=22, fmt=100) 10, ’denari’, 3.4
1 0
d e n a r
100 FORMAT (i3,1x,a8,1x,f6.3)
i
3 . 4 0 0
Esempio di output formattato
OPEN (unit=22, file=‘output.txt’, action=‘write’)
WRITE (unit=22, fmt=100) 10, ’piu di otto’, -3.4
1 0
p i u
d i
100 FORMAT (i3,1x,a8,1x,f6.3)
o
- 3 . 4 0 0
Esempio di output formattato
OPEN (unit=22, file=‘output.txt’, action=‘write’)
WRITE (unit=22, fmt=100) 10, ’piu di otto’, -13.4
1 0
p i u
d i
100 FORMAT (i3,1x,a8,1x,f6.3)
o
* * * * * *
Scarica

Fortran90-V