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.

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

<strong>Il</strong> risultato e’: 11<br />

Analogamente, il seguente frammento di programma:<br />

REAL :: pi=3.14<br />

INTEGER :: m=13<br />

...<br />

WRITE(*,*) "Pi greco: ", pi, "Indice m: ", m<br />

produce il seguente output:<br />

Pi greco: 3.140000 Indice m: 13<br />

mentre se l’istruzione di uscita fosse formattata al modo seguente:<br />

WRITE(*,100) "Pi greco: ", pi, "Indice m: ", m<br />

100 FORMAT(1X,A10,F4.2,/,1X,A10,I2)<br />

il risultato sarebbe:<br />

Pi greco: 3.1<br />

Indice m: 13<br />

In questo caso, infatti, l’istruzione FORMAT ”edita” il risultato in modo tale che il primo carattere<br />

prodotto sia uno spazio bianco, seguito da una stringa di dieci caratteri (A10), seguita a sua<br />

volta da un valore reale rappresentato con quattro caratteri (incluso il carattere per il punto<br />

decimale) di cui due destinati alle cifre decimali (F4.2); segue quindi un avanzamento di record<br />

(/) e, di nuovo, su questo nuovo record il primo carattere è uno spazio bianco (1X) seguito da<br />

una stringa di dieci caratteri (A10) seguita, infine, da un valore intero di due cifre (I2).<br />

Come detto, però, alle istruzioni di lettura e scrittura formattate sarà dedicato ampio spazio<br />

nel capitolo 4.<br />

Le operazioni di lettura/scrittura per dati di tipo COMPLEX sono lievemente più complesse<br />

dal momento che un dato complesso è, in realtà, una coppia di valori di tipo REAL. Infatti, la<br />

lettura o la scrittura di un valore di tipo complesso implicano la lettura o la scrittura di due dati<br />

di tipo reale, corrispondenti alle parti reale ed immaginaria del dato complesso (comprensive<br />

di parentesi e di virgola come separatore). <strong>Il</strong> seguente esempio mostra, allo scopo, un semplice<br />

esempio di operazioni di lettura e scrittura di dati complessi:<br />

PROGRAM aritmetica_complessa<br />

IMPLICIT NONE<br />

COMPLEX :: a, b, c<br />

! Lettura di due numeri complessi<br />

READ(*,’(2F10.3)’), a,b<br />

c = a*b<br />

! Stampa il loro prodotto<br />

WRITE(*,*) c<br />

END PROGRAM aritmetica_complessa

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

Saved successfully!

Ooh no, something went wrong!