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.

4.4 Descrittori ripetibili 185<br />

INTEGER :: i, j, k ... READ(*,’(2I5,I10)’)<br />

l’inserimento del seguente record di ingresso:<br />

10 25 50000 <br />

ha l’effetto di assegnare alle variabili i, j e k, rispettivamente, i valori 10, 25 e 50000.<br />

4.4.2 I descrittori B, O e Z<br />

I descrittori di formato B , O e Z definiscono un campo per dati da rappresentare in forma,<br />

rispettivamente, binaria (ossia in termini delle sole cifre 0 e 1), esadecimale (ossia in termini<br />

delle sole cifre da 0 a 7) oppure ottale (ossia in termini delle cifre da 0 a 9 o dei caratteri da A<br />

ad F o da a ad f). Essi forniscono, così, una conversione fra la rappresentazione binaria interna<br />

e le corrispondenti rappresentazioni esterne binaria, esadecimale oppure ottale. Le rispettive<br />

forme di questi specificatori sono:<br />

Bw [.m]<br />

Ow [.m]<br />

Zw [.m]<br />

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

i dati di input e output, mentre m rappresenta il numero minimo di cifre da visualizzare.<br />

<strong>Il</strong> valore di m è ignorato in input ed ha effetto solo per operazioni di uscita. Se m non viene<br />

specificato si assume per esso un valore di default unitario; se m è maggiore di w il campo sarà<br />

riempito di asterischi.<br />

<strong>Il</strong> campo di uscita relativo al descrittore Bw [risp. Ow, Zw] è una stringa di zero o più bianchi<br />

di testa seguiti dalle cifre corrispondenti alla rappresentazione binaria [risp. esadecimale, ottale]<br />

del valore da rappresentare esclusi gli zeri di testa.<br />

<strong>Il</strong> campo di uscita relativo al descrittore Bw.m [risp. Ow.m, Zw.m] è identico a quello relativo<br />

al corrispondente descrittore Bw [risp. Ow, Zw] salvo che per il fatto che la stringa di uscita è<br />

composta di almeno m cifre; se necessario, detta stringa sarà riempita di zeri di testa.<br />

<strong>Il</strong> prossimo frammento di programma rappresenta un esempio di istruzioni di output formattate<br />

facenti uso degli specificatori in esame:<br />

INTEGER :: a=21, b=-1 WRITE(*,100) "Formato binario: ", a, b<br />

WRITE(*,200) "Formato ottale: ", a, b WRITE(*,300) "Formato<br />

esadecimale: ", a, b 100 FORMAT(1X,A,2(1X,B12)) 200<br />

FORMAT(1X,A,2(1X,O12.4)) 300 FORMAT(1X,A,2(1X,Z12))<br />

<strong>Il</strong> corrispondente risultato è:<br />

Formato binario: 10101 111111111111 Formato ottale:<br />

0025 37777777777 Formato esadecimale: 15 FFFFFFFF<br />

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

Saved successfully!

Ooh no, something went wrong!