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<strong>90</strong> Operazioni di I/O interattive<br />

Viceversa, nelle operazioni di output i descrittori reali non sono fra loro equivalenti in<br />

quanto definiscono modalità diverse di rappresentazione esterna di un numero reale nel campo<br />

di ampiezza w. In ogni caso, indipendentemente dal tipo di rappresentazione interna del dato,<br />

la sua rappresentazione esterna contiene d cifre dopo il punto decimale di cui l’ultima ottenuta<br />

per arrotondamento.<br />

4.4.6 <strong>Il</strong> descrittore ES<br />

<strong>Il</strong> descrittore di formato ES è utilizzato per controllare il formato di rappresentazione dei valori<br />

reali secondo la notazione scientifica. Secondo questa notazione un numero viene espresso con<br />

una mantissa compresa tra 1.0 e 10.0 per una potenza di 10 mentre, come si ricorderà, secondo<br />

la notazione esponenziale guidata dal descrittore E, un numero viene espresso con una mantissa<br />

compresa tra 0.1 e 1.0 per una potenza di 10. Fatta salva questa eccezione, non vi è altra<br />

differenza fra i descrittori ES ed E. <strong>Il</strong> descrittore di formato ES ha la seguente forma generale:<br />

ESw.d [Ee]<br />

dove, come sempre, w rappresenta la larghezza di campo, ossia il numero di caratteri da utilizzare<br />

per rappresentare i dati di input e output, d è il numero di cifre da visualizzare a destra del<br />

punto decimale mentre e rappresenta il numero di cifre nell’esponente (pari a due per default).<br />

La formula per ottenere la larghezza minima di un campo con formato ES è uguale a quella del<br />

descrittore E, con la differenza che ES può rappresentare una cifra significativa in più a parità<br />

di lunghezza dal momento che lo zero a sinistra del punto decimale viene sostituito da una cifra<br />

significativa. La larghezza del campo, w, deve soddisfare alla seguente condizione:<br />

w ≥ d + 7<br />

in caso contrario il campo sarà riempito di asterischi. Se il numero da rappresentare è positivo,<br />

la condizione è ”rilassata” nel senso che la larghezza e del campo deve risultare di almeno sei<br />

caratteri più grande di d. Chiaramente se il descrittore è presente nella sua forma completa<br />

con il suffisso Ee la nuova condizione cui deve soddisfare la larghezza del campo w diventa:<br />

w ≥ d +e+5<br />

A titolo di esempio, si guardino le istruzioni:<br />

REAL :: a=1.2345E6, b=0.01, c=-77.7E10 WRITE(*,100) a,b,c 100<br />

FORMAT(1X,2ES14.4,ES12.6)<br />

le quali forniscono il seguente output:<br />

1.2345E+06 1.0000E-02************<br />

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

Saved successfully!

Ooh no, something went wrong!