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.

4.5 Descrittori non ripetibili 1<strong>95</strong><br />

• <strong>Il</strong> secondo descrittore è il descrittore ripetibile I4: ad esso viene associato il primo elemento<br />

della lista di uscita, n, il cui valore viene riprodotto sul record allineato a destra<br />

nel campo che va dalla sesta alla nona posizione.<br />

• <strong>Il</strong> terzo descrittore è ancora5X; esso provoca l’inserimento di caratteri blank nelle posizioni<br />

dalla decima alla quattordicesima.<br />

• <strong>Il</strong> quarto descrittore, E13.6, è ripetibile e viene associato al secondo elemento della lista,<br />

x, il cui valore viene opportunamente riprodotto sul record su un campo di ampiezza<br />

tredici a partire dalla quindicesima posizione.<br />

• Si incontra infine la parentesi finale e siccome i valori di m e di y devono ancora essere riprodotti,<br />

la scansione della specificazione di formato riprende dall’inizio; viene così creato<br />

un secondo record che ha la stessa struttura del primo, sul quale vengono rappresentati i<br />

valori di m ed y.<br />

4.5.2 I descrittori ’h1...hn’ e h1...hn<br />

Durante un’operazione di uscita è possibile inserire sul record corrente una stringa h1...hn<br />

costituita da caratteri codificabili dal sistema mediante uno dei descrittori:<br />

’h1...hn’<br />

h1...hn<br />

entrambi aventi la forma di una costante carattere. Ad esempio le istruzioni:<br />

WRITE(*,100) raggio, area 100<br />

FORMAT(1X,"raggio:",1X,F5.2,3X,"area:",1X,F7.3)<br />

produrrebbero, nel caso in cui raggio e area valessero rispettivamente 2 e 12.56, il seguente<br />

output:<br />

raggio: 2.00 area: 12.560<br />

4.5.3 <strong>Il</strong> descrittore :<br />

Quando, nella scansione di una specificazione di formato, si incontra il descrittore ”:” l’operazione<br />

di I/O ha termine se è stato trasmesso il valore di tutti gli elementi della lista. Questo<br />

descrittore, che può non essere seguito e preceduto da virgole, è utile essenzialmente per evitare<br />

che messaggi ”indesiderati” vengano riprodotti sui record di uscita. In altre parole, quando<br />

nell’interpretazione di una istruzione FORMAT si arriva ad un simbolo di due punti si valuta se<br />

ci sono altre variabili nella lista da stampare; se queste ci sono allora viene valutato anche il<br />

resto della frase FORMAT, in caso contrario l’istruzione ha termine. <strong>Il</strong> descrittore : è utile, ad<br />

esempio, per riutilizzare la stessa frase FORMAT con più istruzioni WRITE (o PRINT) aventi liste<br />

di output con differenti numeri di variabili. Un utile esempio di utilizzo di questo descrittore è<br />

il seguente:

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

Saved successfully!

Ooh no, something went wrong!