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 * * * * * *