Sei sulla pagina 1di 22

Descrittori di formato

Simbolo Significato
d n° di cifre a destra del punto decimale
n n° di spazi da saltare
r fattore di ripetizione
w larghezza del campo

Fondamenti di Informatica L-A - Ing. Meccanica - 1


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittori di formato

Attenzione!
w determina il numero totale di caratteri da utilizzare per
rappresentare il dato =>
in output, se lo spazio assegnato è insufficiente...
- se il dato è un numero, non viene visualizzato;
- se è una stringa, viene troncata

d specifica il numero di cifre decimali utilizzate per visualizzare il


numero reale ed è una frazione dello spazio totale w. Se il numero
ha più cifre decimali, verrà arrotondato e non troncato.

Fondamenti di Informatica L-A - Ing. Meccanica - 2


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittori di formato

Descrittore Significato
Iw intero di w cifre
Fw.d reale di w cifre (d decimali)
Ew.d reale di w cifre (d decimali)
Lw variabile logica
A[w] stringa di w caratteri
nX salta n caratteri (n spazi)

Fondamenti di Informatica L-A - Ing. Meccanica - 3


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittore I (numeri interi)
Sintassi: rIw
I è utilizzato per controllare il formato di
rappresentazione dei numeri interi
Gli interi sono allineati a destra all'interno dei loro
campi, in modo che l'ultimo intero occupi
l'ultima colonna a destra del campo
NB: se il numero intero è troppo grande per
essere contenuto nel campo, il campo è
riempito di *
Fondamenti di Informatica L-A - Ing. Meccanica - 4
Alma Mater Studiorum - Univ. di Bologna (c) 2004
Esempio (utilizzo del descrittore I)
...
INTEGER :: int1 = -12, int2 = 4, int3 = -12345
...
WRITE (*,100) int1, int1+12, int2, int3
WRITE (*,101) int1, int1+12, int2, int3
100 FORMAT(' ', 2I5, I6, I10)
101 FORMAT(' ', I5, I4, I6, I5)
...

OUTPUT:

bbb-12bbbb0bbbbb4bbb-12345
bbb-12bbb0bbbbb4*****

Fondamenti di Informatica L-A - Ing. Meccanica - 5


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittore F (numeri reali)
Sintassi: rFw.d
F è utilizzato per controllare il formato di
rappresentazione dei numeri reali
I valori reali sono allineati a destra all'interno dei loro
campi, in modo che l'ultima cifra decimale occupi
l'ultima colonna a destra del campo
NB: il numero verrà arrotondato al numero di cifre
decimali specificato. Se il numero reale è troppo
grande per essere contenuto nel campo, il campo
è riempito di *

Fondamenti di Informatica L-A - Ing. Meccanica - 6


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Esempio (utilizzo del descrittore F)
...
REAL :: var1 = -12.3, var2 = .123, var3 = &
123.456
...
WRITE (*,100) var1, var2, var3
WRITE (*,101) var1, var2, var3
100 FORMAT(' ', 2F6.3, F8.3)
101 FORMAT(' ', 3F10.2)
...

OUTPUT:

bb******b0.123b123.456
bbbbb-12.30bbbbbb0.12bbbb123.46

Fondamenti di Informatica L-A - Ing. Meccanica - 7


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittore E (numeri reali)
Sintassi: rEw.d
E è utilizzato per controllare il formato di
rappresentazione dei numeri reali in formato
esponenziale (notazione scientifica)
I numeri vengono rappresentati come valori
normalizzati compresi tra 0.1 e 1 e
moltiplicati per una potenza di 10.
NB: Se il numero reale è troppo grande per
essere contenuto nel campo, il campo è
riempito di *
Fondamenti di Informatica L-A - Ing. Meccanica - 8
Alma Mater Studiorum - Univ. di Bologna (c) 2004
Esempio (utilizzo del descrittore E)

...
REAL :: var1 = 1.2346E6, var2 = 0.001, var3 = -
77.7E10, &
var4 = -77.7E10
...
WRITE (*,100) var1, var2, var3, var4
100 FORMAT(' ', 2E14.4, E13.6, E11.6)
...
OUTPUT:

bbbbbb.1235E+07bbbbb.1000E-02-0.777000E-12*********

Fondamenti di Informatica L-A - Ing. Meccanica - 9


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Ancora sul descrittore E
Attenzione!
Valutate attentamente la dimensione del campo
quando utilizzate il descrittore E

Esempio: stampa di un numero con 4 cifre significative


serve un campo con w=11
Infatti:
0. ddddE ee
In generale, bisogna che sia soddisfatta la relazione:
w d 7

Fondamenti di Informatica L-A - Ing. Meccanica - 10


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittore L (variabile logica)
Sintassi: rLw
L è utilizzato per controllare il formato di
rappresentazione delle variabili logiche
Il valore stampato può essere solo T (true) o F
(false)
Le lettere vengono allineate a destra nel
campo di output

Fondamenti di Informatica L-A - Ing. Meccanica - 11


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittore A (stringa di caratteri)
Sintassi: rA o rAw
A è utilizzato per controllare il formato di
rappresentazione di testi e stringhe di
caratteri
Se la larghezza del campo (w) è maggiore
della lunghezza della stringa, la stringa è
allineata a destra.
Se la larghezza del campo (w) è minore della
lunghezza della stringa, la stringa viene
troncata.
Fondamenti di Informatica L-A - Ing. Meccanica - 12
Alma Mater Studiorum - Univ. di Bologna (c) 2004
Esempio (utilizzo del descrittore A)
...
CHARACTER(LEN=17) :: stringa = &
'Ecco una stringa.'
...
WRITE (*,100) stringa
WRITE (*,101) stringa
WRITE (*,102) stringa
100 FORMAT(' ', A)
101 FORMAT(' ', A20)
102 FORMAT(' ', A6)
...
OUTPUT:
bEcco una stringa.
bbbbEcco una stringa.
bEcco u
Fondamenti di Informatica L-A - Ing. Meccanica - 13
Alma Mater Studiorum - Univ. di Bologna (c) 2004
Descrittori X e T (posizionamento
orizzontale)
Sintassi: nX
X inserisce un numero di spazi vuoti pari ad n,
in genere tra due valori nella stessa riga

Sintassi: Tc
T permette di scrivere a partire dalla colonna c

Fondamenti di Informatica L-A - Ing. Meccanica - 14


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Alcune procedure intrinseche

Il FORTRAN90 è molto ricco di procedure


intrinseche.
In genere si tratta di funzioni.
Vediamo alcuni esempi delle più utilizzate.

Fondamenti di Informatica L-A - Ing. Meccanica - 15


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Funzioni di biblioteca

• COS (X) : funzione dello stesso tipo di X


restituisce il coseno di X
X può essere reale o complesso
• COSH (X) : funzione dello stesso tipo di X
restituisce il coseno iperbolico di X
X può solo reale
• SIN (X) : funzione dello stesso tipo di X
restituisce il seno di X
X può essere reale o complesso

Fondamenti di Informatica L-A - Ing. Meccanica - 16


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Funzioni di biblioteca
• SINH (X) : funzione dello stesso tipo di X
restituisce il seno iperbolico di X
X può essere solo reale
• TAN (X) : funzione dello stesso tipo di X
restituisce la tangente di X
X può essere solo reale
• TANH (X) : funzione dello stesso tipo di X
restituisce il tangente iperbolica di X
X può essere solo reale

Fondamenti di Informatica L-A - Ing. Meccanica - 17


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Funzioni di biblioteca
• INT (A, kind) : funzione intera
converte il numero A in un numero intero,
se A è complesso, converte
solo la parte reale, se A è intero,
modifica solo la precisione
kind è un argomento facoltativo

• REAL (A, kind) : funzione reale


converte il numero A in un numero reale,
se A è complesso, converte
solo la parte reale, se A è reale,
modifica solo la precisione
kind è un argomento facoltativo

Fondamenti di Informatica L-A - Ing. Meccanica - 18


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Funzioni di biblioteca

• EXP (X) : funzione dello stesso tipo di X


restituisce l’esponenziale di X
X può essere reale o complesso
• LOG (X) : funzione dello stesso tipo di X
restituisce il logaritmo neperiano X
X può essere reale o complesso (se
reale, X > 0)
• LOG10 (X) : funzione dello stesso tipo di X
restituisce il logaritmo in base 10 di X
X deve essere reale e positivo

Fondamenti di Informatica L-A - Ing. Meccanica - 19


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Funzioni di biblioteca
• ABS (A) : funzione dello stesso tipo di A
fornisce il valore assoluto di A
se A è complesso, restituisce (reale2+immaginario2)0.5
• MAX (A1, A2, A3, …) : funzione dello stesso tipo dei suoi
argomenti
restituisce il valore massimo degli argomenti
gli argomenti possono essere reali o interi, ma dello stesso
tipo
• MIN (A1, A2, A3, …) : funzione dello stesso tipo dei suoi
argomenti
restituisce il valore minimo degli argomenti
gli argomenti possono essere reali o interi, ma dello stesso
tipo
Fondamenti di Informatica L-A - Ing. Meccanica - 20
Alma Mater Studiorum - Univ. di Bologna (c) 2004
Funzioni di biblioteca

• DBLE (A) : funzione reale in doppia precisione


converte il numero A in reale in doppia precisione
A può essere reale, complesso o intero, se A è
complesso, viene convertita solo la parte reale
• SQRT (X) : funzione dello stesso tipo di X
restituisce la radice quadrata di X
X può essere reale o complesso (se reale, X positivo o
nullo, se complesso, la parte reale deve essere positiva o
nulla, idem per la parte immaginaria)

Fondamenti di Informatica L-A - Ing. Meccanica - 21


Alma Mater Studiorum - Univ. di Bologna (c) 2004
Subroutine intrinseche

• RANDOM_NUMBER (harvest)
Restituisce uno o più numeri pseudocasuali da una
distribuzione uniforme nel range [0, 1[

Sintassi
CALL random_number(numero)

Fondamenti di Informatica L-A - Ing. Meccanica - 22


Alma Mater Studiorum - Univ. di Bologna (c) 2004