25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1.3 Istruzioni di dichiarazione di tipo 23<br />

dove REAL è una parola chiave del <strong>Fortran</strong> e lista_di_oggetti è una lista di nomi di variabili,<br />

costanti o funzioni (separati da virgole) utilizzate nella fase esecutiva del programma per immagazzinare<br />

dati di tipo reale. Se la specifica del parametro_di_kind è assente verrà assunto<br />

il valore del parametro di kind di default.<br />

Ad esempio, la seguente istruzione:<br />

REAL :: x, y, variabile_reale<br />

dichiara tre variabili, x, y e variabile_reale, di tipo reale. Ulteriori esempi, più articolati, di<br />

dichiarazioni entity-oriented sono:<br />

REAL(KIND=high), OPTIONAL :: testval<br />

REAL, SAVE, DIMENSION(10) :: b<br />

mentre le stesse dichiarazioni in formato attribute-oriented hanno la forma:<br />

REAL(KIND=high) :: testval<br />

REAL :: b<br />

DIMENSION b(10)<br />

SAVE b<br />

OPTIONAL testval<br />

Una costante reale approssima il valore di un numero del sottoinsieme reale rappresentabile<br />

in macchina. Le due possibili rappresentazioni di una costante reale possono essere senza parte<br />

esponenziale:<br />

[s]n[n...][_k]<br />

oppure con parte esponenziale:<br />

[s]n[n...]E[s]n[n...][_k]<br />

[s]n[n...]D[s]n[n...]<br />

in cui il significato dei simboli è il seguente:<br />

s segno della costante; può essere ”+” (opzionale) o ”-” (obbligatorio).<br />

n cifra decimale (da 0 a 9).<br />

k parametro di kind (opzionale).<br />

<strong>Il</strong> punto decimale deve essere presente se la costante non ha parte esponenziale.<br />

L’esponente E denota una costante reale in singola precisione, a meno che l’eventuale parametro<br />

di kind non specifichi diversamente. L’esponente D denota, invece, una costante reale<br />

in doppia precisione. Entrambi gli esponenti rappresentano potenze di 10 (ad esempio 1.0E+5<br />

rappresenta il numero 1.0 × 10 5 ).<br />

Esempi di costanti reali valide sono:<br />

3.14159 3.14159_high -6234.14_4 -.1234 +5.01E3 -2D-3 4.3E2_8<br />

Una costante di tipoREAL viene registrata in memoria in due parti: la mantissa e l’esponente.<br />

<strong>Il</strong> numero di bit allocati per la mantissa determina la precisione della costante (ossia il numero<br />

di cifre significative), mentre il numero di bit allocati per l’esponente determina il range della<br />

costante (ossia l’intervallo dei valori che possono essere rappresentati).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!