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.

62 Tipi ed espressioni<br />

risulta corretta se la costante con nome greek è posta pari al valore del parametro di kind che<br />

identifica un set di caratteri che supporti i simboli dell’alfabeto greco. Allo stesso modo, se<br />

il valore del parametro di kind che identifica tale set di caratteri fosse 12, la costante stringa<br />

precedente potrebbe essere scritta equivalentemente come:<br />

12_αβγ<br />

Dal momento che compilatori diversi possono assegnare valori differenti (e, comunque, arbitrari)<br />

ai parametri di kind, può essere utile ”interrogare” il proprio compilatore con un programmino<br />

del tipo seguente allo scopo proprio di conoscere quantomeno i parametri di kind<br />

degli oggetti di tipo intrinseco di default:<br />

PROGRAM parametri_kind<br />

IMPLICIT NONE<br />

INTEGER :: int=1<br />

REAL :: real=1.0<br />

CHARACTER(LEN=1) :: char="y"<br />

LOGICAL :: logic=.TRUE.<br />

COMPLEX :: compl=(1.0,2.0)<br />

!<br />

PRINT*, "Parametri di kind di default per i tipi: "<br />

PRINT*, " INTEGER: ", KIND(int)<br />

PRINT*, " REAL : ", KIND(real)<br />

PRINT*, " CHARACTER: ", KIND(char)<br />

PRINT*, " LOGICAL: ", KIND(logic)<br />

PRINT*, " COMPLEX: ", KIND(compl)<br />

END PROGRAM parametri_kind<br />

A titolo di esempio, compilando su un PC questo programma con l’Intel <strong>Fortran</strong> Compiler 4.5<br />

si ottiene il seguente output:<br />

Intel <strong>Fortran</strong> Compiler 4.5<br />

Parametri di kind di default per i tipi:<br />

INTEGER: 4<br />

REAL : 4<br />

CHARACTER: 1<br />

LOGICAL: 4<br />

COMPLEX: 4<br />

mentre l’Imagine1/NAGWare F Compiler (Release 20001002) fornisce il risultato che segue:<br />

INTEGER: 3<br />

REAL : 1<br />

CHARACTER: 1<br />

LOGICAL: 3<br />

COMPLEX: 1<br />

Come si può notare, i valori attribuiti ai parametri di kind sono completamente diversi.

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

Saved successfully!

Ooh no, something went wrong!