25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

192 Operazioni di I/O interattive<br />

LOGICAL :: cond1,cond2 ... READ(*,"(2L10)") cond1, cond2<br />

mostra un esempio di utilizzo del descrittore L in istruzioni di ingresso. In tal caso sono attesi<br />

due valori logici in altrettanti campi di ampiezza 10 così, ad esempio, ciascuno dei seguenti<br />

record di ingresso è formalmente valido ed ha lo scopo di assegnare a cond1 il valore .TRUE. e<br />

a cond2 il valore .FALSE.<br />

T February<br />

.TRUE. .FALSE.<br />

Truman falso<br />

.T. .F.<br />

<br />

4.4.9 <strong>Il</strong> descrittore A<br />

<strong>Il</strong> descrittore di formato A controlla la rappresentazione esterna dei dati di tipo carattere. <strong>Il</strong><br />

suo formato è:<br />

A [.w]<br />

<strong>Il</strong> descrittore A rappresenta i caratteri in un campo la cui lunghezza è pari al numero di caratteri<br />

da rappresentare. <strong>Il</strong> descrittore A.w rappresenta i caratteri in un campo di lunghezza fissa<br />

pari a w. Se la larghezza w del campo è maggiore della lunghezza della variabile stringa da<br />

rappresentare, la variabile viene rappresentata con i caratteri allineati a destra all’interno del<br />

campo. Se, invece, la larghezza w del campo è minore della lunghezza della variabile, vengono<br />

rappresentati all’interno del campo soltanto i primi w caratteri della variabile. Quanto detto si<br />

applica sia in fase di ingresso che in fase di uscita.<br />

<strong>Il</strong> descrittore A in cui non compare l’ampiezza del campo può risultare molto utile per<br />

l’output di dati di tipo carattere il cui valore viene riprodotto per intero sul record di uscita.<br />

Nelle istruzioni di ingresso, invece, il descrittore A legge esattamente tanti caratteri quanti ne<br />

può contenere la variabile letta.<br />

L’esempio che segue aiuterà a comprendere meglio l’utilizzo dello specificatore A nelle frasi<br />

di uscita:<br />

CHARACTER(LEN=17) :: stringa="Ecco una stringa" WRITE(*,10) stringa<br />

WRITE(*,11) stringa WRITE(*,12) stringa 10 FORMAT(1X,A) 11<br />

FORMAT(1X,A20) 12 FORMAT(1X,A6)<br />

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

<br />

Ecco una stringa<br />

Ecco una stringa<br />

Ecco u<br />

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

Saved successfully!

Ooh no, something went wrong!