Upload
hoangdung
View
222
Download
5
Embed Size (px)
Citation preview
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
1
Descrittori di formato
Simbolo Significatod n° di cifre a destra del punto decimalen n° di spazi da saltarer fattore di ripetizionew larghezza del campo
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
2
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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
3
Descrittori di formato
Descrittore Significato
variabile logica
Iw intero di w cifreFw.d reale di w cifre (d decimali)Ew.d reale di w cifre (d decimali)LwA[w] stringa di w caratterinX salta n caratteri (n spazi)
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
4
Descrittore I (numeri interi)
Sintassi: rIwI è utilizzato per controllare il formato di
rappresentazione dei numeri interiGli 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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
5
Esempio (utilizzo del descrittore I)...INTEGER :: int1 = -12, int2 = 4, int3 = -12345...WRITE (*,100) int1, int1+12, int2, int3WRITE (*,101) int1, int1+12, int2, int3100 FORMAT(' ', 2I5, I6, I10)101 FORMAT(' ', I5, I4, I6, I5)...
OUTPUT:
bbb-12bbbb0bbbbb4bbb-12345bbb-12bbb0bbbbb4*****
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
6
Descrittore F (numeri reali)Sintassi: rFw.dF è utilizzato per controllare il formato di
rappresentazione dei numeri realiI 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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
7
Esempio (utilizzo del descrittore F)...REAL :: var1 = -12.3, var2 = .123, var3 = & 123.456...WRITE (*,100) var1, var2, var3WRITE (*,101) var1, var2, var3100 FORMAT(' ', 2F6.3, F8.3)101 FORMAT(' ', 3F10.2)...
OUTPUT:
bb******b0.123b123.456bbbbb-12.30bbbbbb0.12bbbb123.46
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
8
Descrittore E (numeri reali)Sintassi: rEw.dE è 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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
9
Esempio (utilizzo del descrittore E)
...REAL :: var1 = 1.2346E6, var2 = 0.001, var3 = -77.7E10, &
var4 = -77.7E10...WRITE (*,100) var1, var2, var3, var4100 FORMAT(' ', 2E14.4, E13.6, E11.6)...
OUTPUT:
bbbbbb.1235E+07bbbbb.1000E-02-0.777000E-12*********
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
10
Ancora sul descrittore EAttenzione!Valutate attentamente la dimensione del campo
quando utilizzate il descrittore E
Esempio: stampa di un numero con 4 cifre significativeserve un campo con w=11Infatti:
In generale, bisogna che sia soddisfatta la relazione:0.ddddE ee
w d 7
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
11
Descrittore L (variabile logica)
Sintassi: rLwL è utilizzato per controllare il formato di
rappresentazione delle variabili logicheIl 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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
12
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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
13
Esempio (utilizzo del descrittore A)...CHARACTER(LEN=17) :: stringa = &'Ecco una stringa.'...WRITE (*,100) stringaWRITE (*,101) stringaWRITE (*,102) stringa100 FORMAT(' ', A)101 FORMAT(' ', A20)102 FORMAT(' ', A6)...OUTPUT:bEcco una stringa.bbbbEcco una stringa.bEcco u
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
14
Descrittori X e T (posizionamento orizzontale)
Sintassi: nXX inserisce un numero di spazi vuoti pari ad n,
in genere tra due valori nella stessa riga
Sintassi: TcT permette di scrivere a partire dalla colonna c
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
15
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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
16
Funzioni di biblioteca
• COS (X) : funzione dello stesso tipo di Xrestituisce il coseno di XX può essere reale o complesso
• COSH (X) : funzione dello stesso tipo di Xrestituisce il coseno iperbolico di X
X può solo reale • SIN (X) : funzione dello stesso tipo di X
restituisce il seno di XX può essere reale o complesso
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
17
Funzioni di biblioteca
• SINH (X) : funzione dello stesso tipo di Xrestituisce 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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
18
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 precisionekind è un argomento facoltativo
• REAL (A, kind) : funzione realeconverte il numero A in un numero reale,
se A è complesso, converte solo la parte reale, se A è reale,
modifica solo la precisionekind è un argomento facoltativo
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
19
Funzioni di biblioteca
• EXP (X) : funzione dello stesso tipo di Xrestituisce l’esponenziale di XX può essere reale o complesso
• LOG (X) : funzione dello stesso tipo di Xrestituisce il logaritmo neperiano XX può essere reale o complesso (se
reale, X > 0)
• LOG10 (X) : funzione dello stesso tipo di Xrestituisce il logaritmo in base 10 di XX deve essere reale e positivo
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
20
Funzioni di biblioteca• ABS (A) : funzione dello stesso tipo di A
fornisce il valore assoluto di Ase A è complesso, restituisce (reale2+immaginario2)0.5
• MAX (A1, A2, A3, …) : funzione dello stesso tipo dei suoi argomentirestituisce il valore massimo degli argomentigli argomenti possono essere reali o interi, ma dello stesso
tipo
• MIN (A1, A2, A3, …) : funzione dello stesso tipo dei suoi argomentirestituisce il valore minimo degli argomentigli argomenti possono essere reali o interi, ma dello stesso
tipo
Fondamenti di Informatica L-A - Ing. Meccanica -Alma Mater Studiorum - Univ. di Bologna (c) 2004
21
Funzioni di biblioteca
• DBLE (A) : funzione reale in doppia precisioneconverte il numero A in reale in doppia precisioneA può essere reale, complesso o intero, se A è
complesso, viene convertita solo la parte reale
• SQRT (X) : funzione dello stesso tipo di Xrestituisce la radice quadrata di XX 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 -Alma Mater Studiorum - Univ. di Bologna (c) 2004
22
Subroutine intrinseche
• RANDOM_NUMBER (harvest)Restituisce uno o più numeri pseudocasuali da una
distribuzione uniforme nel range [0, 1[
SintassiCALL random_number(numero)