140 likes | 238 Views
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.
E N D
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 num. unità = * oppure 5 video 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}’, action = ‘{READ,WRITE,READWRITE}’, iostat = variabile intera) opz. opzionale 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 i 3 . 4 0 0 100 FORMAT (i3,1x,a8,1x,f6.3)
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 o - 3 . 4 0 0 100 FORMAT (i3,1x,a8,1x,f6.3)
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 o * * * * * * 100 FORMAT (i3,1x,a8,1x,f6.3)