25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1.6 Introduzione alle operazioni di input/output 47<br />

generano un errore in fase di compilazione.<br />

Si vuole concludere il paragrafo con una considerazione che può tornare spesso utile ai<br />

fini di un miglioramento dell’efficienza di un codice di calcolo. Si supponga di dover valutare<br />

l’espressione booleana: l_1.AND.l_2 . In casi come questo, chiaramente, sel_1 risulta.FALSE.<br />

non c’è motivo di valutare anche l_2 . Specialmente se la valutazione delle espressioni logiche è<br />

particolarmente onerosa oppure se esse devono essere valutate più volte nel corso dell’esecuzione<br />

della stessa unità di programma, assume particolare importanza il valutare inizialmente soltanto<br />

l_1 riservandosi di valutare anchel_2 se e solo sel_1 è vera. Questo ”trucco” (spesso chiamato<br />

”cortocircuito”) è, di solito, applicato dal compilatore in maniera automatica, nondimeno è<br />

importante riconoscere casi del genere e applicare questa scorciatoia ”a mano”.<br />

1.6 Introduzione alle operazioni di input/output<br />

Una fase importante della programmazione è quella che consiste nel creare una interfaccia fra<br />

l’utente umano e la macchina tramite la quale sia possibile inserire, in fase di esecuzione, i<br />

valori dei dati di cui il codice necessita per operare la fase di calcolo, e poter leggere i risultati<br />

prodotti dal programma.<br />

Queste operazioni sono note come operazioni di input/output o di lettura/scrittura o, ancora,<br />

di ingresso/uscita. <strong>Il</strong> <strong>Fortran</strong> <strong>90</strong>/<strong>95</strong> comprende un insieme eccezionalmente vasto di meccanismi<br />

preposti allo scopo. Le operazioni di input/output saranno trattate diffusamente nei capitoli<br />

4 (dedicato alle operazioni cosiddette ”interattive”, vale a dire orientate ai dispositivi standard<br />

quali tastiera e terminale video) ed 8 (dedicato, invece, alla gestione delle memorie di massa).<br />

Scopo di questo paragrafo è semplicemente quello di fornire una sommaria introduzione alle<br />

forme più semplici di lettura e scrittura al fine di consentire di scrivere già semplici programmi<br />

che prevedano un flusso di informazioni da o verso il codice di calcolo, rimandando ai suddetti<br />

capitoli una trattazione esaustiva dell’argomento.<br />

Le operazioni di input/output si realizzano in <strong>Fortran</strong> mediante le operazioni READ, WRITE<br />

e PRINT la cui sintassi, nella sua forma più ”essenziale”, è, rispettivamente:<br />

READ(unità_logica,formato) lista_di_variabili<br />

WRITE(unità_logica,formato) lista_di_espressioni<br />

PRINT formato, lista_di_espressioni<br />

in cui unità_logica individua il dispositivo di lettura/scrittura da utilizzare, mentre formato<br />

identifica la modalità di interpretazione (formattazione) dei dati da fornire in ingresso o prodotti<br />

in uscita.<br />

L’effetto dell’istruzione READ è quello di ”leggere” dal dispositivo identificato dal valore<br />

dell’unità_logica una lista di valori (record di ingresso) secondo la modalità di interpretazione<br />

stabilita dal valore del formato e di assegnare detti valori agli elementi della lista di<br />

variabili nell’ordine in cui essi sono specificati.<br />

L’effetto dell’istruzione WRITE è quello di calcolare il valore della lista di espressioni e<br />

di ”scrivere” detti valori sul dispositivo identificato dal valore dell’ unità_logica secondo la<br />

modalità di formattazione stabilita dal valore del formato (record di uscita).

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

Saved successfully!

Ooh no, something went wrong!