Descrittori di formato - Fondamenti di Informatica T
Transcript
Descrittori di formato - Fondamenti di Informatica T
Descrittori di formato Simbolo Significato d n r w n° di cifre a destra del punto decimale n° di spazi da saltare fattore di ripetizione larghezza del campo Fondamenti di Informatica L-A - Ing. Meccanica Alma Mater Studiorum - Univ. di Bologna (c) 2004 1 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 2 Descrittori di formato Descrittore Iw Fw.d Ew.d Lw A[w] nX Significato intero di w cifre reale di w cifre (d decimali) reale di w cifre (d decimali) variabile logica stringa di w caratteri salta n caratteri (n spazi) Fondamenti di Informatica L-A - Ing. Meccanica Alma Mater Studiorum - Univ. di Bologna (c) 2004 3 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 4 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 5 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 6 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 7 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 8 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 9 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 10 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 11 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 12 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 13 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 14 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 15 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 16 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 17 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 18 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 19 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 20 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 21 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 Alma Mater Studiorum - Univ. di Bologna (c) 2004 22