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.

204 Operazioni di I/O interattive<br />

• I valori interi vanno denotati a mezzo di una stringa di cifre, gli eventuali spazi bianchi<br />

iniziali o finali vengono ignorati.<br />

• I valori di tipo reale possono essere introdotti indifferentemente nella notazione fissa o<br />

scientifica.<br />

• I valori di tipo complesso devono essere introdotti nella forma:<br />

(parte_reale,parte_immaginaria)<br />

dove parte_reale e parte_immaginaria sono entrambi valori reali.<br />

• I valori di tipo stringa possono essere rappresentati o meno racchiusi da una coppia di<br />

apici o doppi apici.<br />

• I valori logici devono essere rappresentati con una delle lettere T o F eventualmente<br />

precedute da un punto e seguite da uno o più caratteri.<br />

• I valori di un oggetto di un tipo di dati derivato devono essere introdotti inserendo il valore<br />

di ciascun componente dell’oggetto, nello stesso ordine in cui esso figura nella definizione<br />

del tipo.<br />

E’, inoltre, ammessa una notazione sintetica per valori identici ripetuti, nella forma:<br />

n*valore<br />

in cui n è una costante intera positiva senza segno. Ad esempio, data la seguente istruzione di<br />

lettura:<br />

INTEGER :: n REAL :: x, y, z LOGICAL :: vero ... READ(*,*) n, x, y,<br />

z, vero<br />

il seguente record di input:<br />

10 3*3.14 .T<br />

produce le seguenti assegnazioni di valore:<br />

n=10; x=3.14; y=3.14; z=3.14; vero=.TRUE.<br />

Le istruzioni di lettura guidate da lista hanno, oltre al vantaggio della semplicità connessa al fatto<br />

di non richiedere alcuna istruzione FORMAT e alla libertà offerta all’utente di poter introdurre<br />

i dati di ingresso a partire da una qualsiasi colonna, la caratteristica di supportare i cosiddetti<br />

valori nulli. Se un record di input contiene due virgole consecutive allora la corrispondente<br />

variabile nella lista di input non sarà soggetta ad assegnazione. Questa caratteristica consente<br />

all’utente di lasciare inalterati i valori di una o più variabili. Si consideri il seguente esempio:<br />

INTEGER :: i=1, j=2, k=3 WRITE(*,*) "Introduci i valori di i, j e k:<br />

" READ(*,*) i,j,k WRITE(*,*) "i, j, k = ", i,j,k

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

Saved successfully!

Ooh no, something went wrong!