Stampare Valori Logici e Stringhe in Fortran
Stampare Valori Logici: il Descrittore L
Per stampare una variabile booleana in Fortran è necessario adoperare il descrittore L
.
Il suo formato generale è:
rLw
dove:
r
è il numero di ripetizioni, quindi quante volte il descrittore deve essere ripetuto;w
è la larghezza del campo, quindi il numero di caratteri che occupa il valore stampato.
Dal momento che una variabile booleana può assumere solo i valori .TRUE.
e .FALSE.
, l'output sarà sempre T
o F
e sarà sempre allineato a destra.
Vediamo un esempio:
logical :: output = .TRUE.
logical :: debug = .FALSE.
write (*, "(2L5)") output, debug
L'output di questo esempio sarà:
T F
In particolare, notiamo che le due variabili sono state stampate in due campi da 5 caratteri ed i loro valori occupano rispettivamente 1 carattere, quindi sono stati allineati a destra. Inoltre, il numero di ripetizioni è 2, quindi sono stati stampati due valori booleani.
Stampare Stringhe: il Descrittore A
Per stampare una stringa in Fortran è necessario adoperare il descrittore A
.
questo descrittore può avere due formati:
rA
oppure
rAw
dove:
r
è il numero di ripetizioni, quindi quante volte il descrittore deve essere ripetuto;w
è la larghezza del campo, quindi il numero di caratteri che occupa il valore stampato.
Nel primo caso, il formato rA
mostra la stringa in un campo di lunghezza pari a quello del numero di caratteri della stringa stessa.
Nel secondo caso, il formato rAw
mostra la stringa in un campo di lunghezza w
. Se la stringa è più corta di w
, il valore stampato sarà allineato a destra e riempito con degli spazi a sinistra. Se la stringa è più lunga di w
, il valore stampato sarà troncato a w
caratteri.
Prendiamo un esempio:
CHARACTER(len=17) :: saluto = 'Ciao, come si va?'
write (*, 10) saluto
write (*, 20) saluto
write (*, 30) saluto
10 format (' ', A)
20 format (' ', A20)
30 format (' ', A6)
L'output di questo esempio sarà:
Ciao, come si va?
Ciao, come si va?
Ciao,
Notiamo che la stringa nome
è lunga 17 caratteri. In output abbiamo usato 3 descrittori di formato diversi:
- Nel primo caso abbiamo usato semplicemente
A
che indica che il campo deve essere lungo quanto la stringa, quindi 17 caratteri. Infatti, l'output è di 17 caratteri. - Nel secondo caso abbiamo usato
A20
che indica che il campo deve essere lungo 20 caratteri. Infatti, l'output è di 20 caratteri e la stringa è allineata a destra e sono stati aggiunti 3 spazi vuoti a sinistra. - Nel terzo caso abbiamo usato
A6
che indica che il campo deve essere lungo 6 caratteri. Infatti, l'output è di 6 caratteri e la stringa è stata troncata a 6 caratteri.