25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

176 Operazioni di I/O interattive<br />

• formattate: i dati sono ”editati” o ”interpretati” conformemente ad una specificazione di<br />

formato esplicitamente definita, e le operazioni di I/O avvengono attraverso un flusso di<br />

caratteri tra la lista di I/O ed uno o più record sul file.<br />

• non formattate: i dati sono trasferiti tra la lista di I/O ed un record alla volta del<br />

file, sottoforma di un flusso di valori binari; tale operazione può avvenire solo mediante<br />

connessione di un file esterno per cui il meccanismo di I/O non formattato verrà discusso<br />

direttamente nel capitolo 8.<br />

• dirette da lista: è una forma semplificata di I/O formattata che non fa uso di una specificazione<br />

di formato dichiarata dal programmatore. Dipendentemente dal tipo di dati<br />

da leggere o da scrivere, il trasferimento di dati da o verso una unità file avviene sotto il<br />

controllo di una specificazione di formato di default (non sempre accurata).<br />

• con meccanismo namelist: si tratta di un ulteriore caso particolare di I/O formattato a<br />

mezzo del quale i dati sono trasferiti tra una ”lista con nome” di dati (gruppo namelist)<br />

ed uno o più record del file.<br />

Di tutti questi meccanismi si parlerà nelle prossime pagine limitatamente alle operazioni che<br />

coinvolgono le unità di ingresso/uscita standard, rimandando lo studio delle operazioni di<br />

gestione dei file esterni al capitolo 8.<br />

4.2 Istruzioni di lettura e scrittura<br />

Le operazioni di lettura e scrittura dei dati si realizzano, in <strong>Fortran</strong>, attraverso le istruzioni<br />

READ (input), WRITE e PRINT (output).<br />

In <strong>Fortran</strong> si possono usare istruzioni di ingresso/uscita nelle quali è possibile indicare<br />

esplicitamente una specificazione di formato, ossia una descrizione del modo in cui devono<br />

essere forniti e interpretati i dati (se si tratta di istruzioni di input) o in cui devono essere<br />

visualizzati i risultati (se si tratta di istruzioni di output).<br />

Nel seguito si userà spesso il termine record ad indicare un insieme di caratteri rappresentato<br />

su un qualsiasi supporto fisico quale, ad esempio, una riga di stampa o una linea di video.<br />

Le più semplici istruzioni di I/O con formato si presentano con la seguente sintassi:<br />

oppure:<br />

dove:<br />

READ([UNIT=]unità_logica,[FMT=]formato) lista_di_ingresso<br />

WRITE([UNIT=]unità_logica,[FMT=]formato) lista_di_uscita<br />

PRINTformato, lista_di_uscita<br />

• lista_di_ingresso è una lista di variabili separate da virgole;<br />

• lista_di_uscita è una lista di espressioni <strong>Fortran</strong> separate da virgole;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!