i descrittori di formato nel fortran 90 -...

22
Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum - Univ. di Bologna (c) 2004 1 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

Upload: hoangdung

Post on 08-May-2018

222 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 2: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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.

Page 3: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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)

Page 4: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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 *

Page 5: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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*****

Page 6: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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 *

Page 7: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 8: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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 *

Page 9: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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*********

Page 10: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 11: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 12: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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.

Page 13: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 14: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 15: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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.

Page 16: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 17: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 18: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 19: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 20: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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

Page 21: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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)

Page 22: I Descrittori di formato nel Fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/lezione_formato.pdf · Fondamenti di Informatica L-A - Ing. Meccanica - Alma Mater Studiorum

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)