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.

210 Operazioni di I/O interattive<br />

&ESEMPIO INT1=11,INT2=12,INT3=14,LOG=T,REAL1=24.0000,REAL2=<br />

28.0000000000000,Z1=(38.0000,0.000000),Z2=(76.0000,0.000000),CHAR1=A,<br />

CHAR2=0123456789,ARRAY=41,42,43 /<br />

come anche possibile è la seguente forma di uscita:<br />

&ESEMPIO INT1 = 11 INT2 = 12 INT3 = 14<br />

LOG = T REAL1 = 24.000000 REAL2 = 28.000000000000000<br />

Z1 = (38.000000,0.000000E+00) Z2 =<br />

(76.000000,0.000000E+00) CHAR1 = A CHAR2 = 0123456789 ARRAY =<br />

41 42 43 /<br />

la scelta dipende dalla specifica implementazione.<br />

Dall’esempio precedente si può osservare come, in fase di output, normalmente le stringhe<br />

vengano riprodotte senza delimitatori. Si può, tuttavia, forzare, l’uso di delimitatori utilizzando<br />

lo specificatore DELIM nell’istruzione di connessione del file di lavoro. Ciò verrà spiegato in<br />

dettaglio nel capitolo 8 quando si parlerà proprio della gestione dei file, per ora si anticipa<br />

soltanto che è possibile connettere anche un file preconnesso allo scopo di modificarne alcune<br />

impostazioni. Ad esempio, supponendo che al terminale video, inteso come dispositivo standard<br />

di uscita, sia assegnato dal compilatore l’unità logica 6, l’istruzione:<br />

OPEN(UNIT=6,specificatore=valore)<br />

consente di impostare a valore il valore di specificatore . Per quanto concerne, in particolare,<br />

lo specificatore DELIM, esso indica quali caratteri devono (eventualmente) delimitare<br />

una costante di tipo CHARACTER nelle operazioni di uscita dirette da lista o con meccanismo<br />

namelist. I suoi possibili valori sono:<br />

• ’NONE’: è il valore di default ed indica che nessun delimitatore ”contornerà” le stringhe<br />

in uscita;<br />

• ’APOSTROPHE’: indica che tutte le costanti stringa prodotte in output saranno delimitate<br />

da apici (”apostrofi”) per cui gli eventuali apostrofi presenti nella stringa verranno<br />

raddoppiati;<br />

• ’QUOTE’: indica che tutte le costanti stringa prodotte in output saranno delimitate da<br />

doppi apici (quotation marks) per cui gli eventuali doppi apici presenti nella stringa<br />

verranno raddoppiati.<br />

Si osservi che lo specificatore DELIM ha effetto unicamente nelle operazioni di output mentre<br />

viene semplicemente ignorato in fase di input. Ponendo, pertanto, il valore di DELIM pari ad<br />

’APOSTROPHE’ o a ’QUOTE’, in uscita verranno prodotte stringhe delimitate, rispettivamente,<br />

da apici singoli o doppi. Così, ad esempio, se l’istruzione di lettura dell’esempio precedente<br />

fosse stata:<br />

OPEN(UNIT=6,DELIM=’QUOTE’) WRITE(*,NML=esempio)

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

Saved successfully!

Ooh no, something went wrong!