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.

196 Operazioni di I/O interattive<br />

WRITE(*,100) m,n,x WRITE(*,100) m,n 100 FORMAT(1X,"m =",I3,2X,"n<br />

=",I3 : 2X,"x =",F7.3)<br />

che produce il seguente output:<br />

m = 1 n = 2 x = 1.000 m = 1 n = 2<br />

4.5.4 <strong>Il</strong> descrittore /<br />

<strong>Il</strong> descrittore di formato / (slash) indica la fine del trasferimento dei dati sul record corrente.<br />

In operazioni di input questo descrittore di formato fa sì che venga saltato il buffer di input<br />

corrente e che venga acquisito un nuovo buffer dall’unità di input sicché l’acquisizione continuerà<br />

dall’inizio del nuovo buffer. Ad esempio, la seguente istruzione READ formattata legge i valori<br />

delle variabili i e j dalla prima riga di input, salta due righe e legge i valori delle variabili k e<br />

l dalla terza riga di input:<br />

INTEGER :: i, j, k, l READ(*,100) i, j, k, l 100 FORMAT(2I3,//,2I3)<br />

In operazioni di output il descrittore / trasmette al dispositivo di uscita il contenuto del buffer<br />

corrente di output e apre un nuovo buffer. Grazie a questo descrittore è possibile, ad esempio,<br />

visualizzare valori di output di una stessa istruzione WRITE in più righe. E’ possibile usare più<br />

slash consecutivi per saltare più righe; inoltre, si noti che non è necessario fare uso di virgole<br />

per separare lo slash dagli altri descrittori. Come esempio si consideri la seguente istruzione<br />

WRITE formattata:<br />

REAL :: massa, pressione, temperatura ... WRITE(*,100) massa,<br />

pressione, temperatura 100 FORMAT("Stato del<br />

gas:",20("="),//,"massa:",F7.3,/, &<br />

"pressione",F7.3,/,"temperatura",F7.3)<br />

Se, ad esempio, i valori delle variabilimassa, pressione etemperatura fossero, rispettivamente,<br />

0.01, 2.01 e 298.3 l’output del precedente frammento di programma sarebbe:<br />

Stato del gas:<br />

====================<br />

massa: 0.010 pressione: 2.010 temperatura: 298.300<br />

Un discorso del tutto analogo vale se le operazioni di I/O avvengono su file esterni. Ogni<br />

qualvolta un file viene connesso per operazioni di input usando l’accesso sequenziale, la presenza<br />

di questo descrittore nella frase di specificazione di formato posiziona il file all’inizio del<br />

successivo record da leggere. Analogamente, quando un file è connesso per operazioni di output<br />

usando l’accesso sequenziale, la presenza di uno slash nella frase di specificazione di formato<br />

posiziona il file all’inizio di un nuovo record da scrivere.

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

Saved successfully!

Ooh no, something went wrong!