25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

60 Tipi ed espressioni<br />

...<br />

END PROGRAM prova_complex<br />

Specificare, invece, i parametri di kind per costanti di tipo complesso è un pò più complicato<br />

in quanto una costante complessa può essere specificata come una coppia ordinata di valori<br />

entrambi reali, entrambi interi, oppure di un valore intero e l’altro reale. Ovviamente, se sono<br />

usati degli interi essi vengono convertiti nei reali corrispondenti. E’ conveniente trattare i diversi<br />

casi in maniera distinta:<br />

• Se entrambe le componenti sono reali con parametro di kind di default, la costante complessa<br />

che ne deriva ha anch’essa parametro di kind di default. Così, ad esempio, la<br />

costante:<br />

(1.23,4.56)<br />

ha parametro di kind di default al pari delle sue componenti.<br />

• Se entrambe le componenti sono valori interi, quale che sia il loro parametro di kind,<br />

queste vengono convertite nei valori reali corrispondenti ma con parametri di kind di<br />

default, sicché la costante complessa che ne deriva avrà anch’essa parametro di kind di<br />

default. Così, ad esempio, le costanti complesse:<br />

(1_2,3)<br />

(1,3)<br />

(1_2,3_4)<br />

hanno tutte parametro di kind di default.<br />

• Se una sola delle componenti della costante complessa è una costante intera, il valore di<br />

quest’ultima viene convertito in reale con lo stesso parametro di kind della componente<br />

reale, e la costante complessa avrà anch’essa quel parametro di kind. Pertanto, le costanti<br />

complesse:<br />

(1,2.0)<br />

(1,2.0_3)<br />

hanno, la prima, parametro di kind di default, la seconda parametro di kind pari a 3.<br />

• Se entrambe le componenti sono reali, il parametro di kind della costante complessa è<br />

pari al parametro di kind della componente avente la precisione decimale maggiore. Se,<br />

tuttavia, le precisioni delle due componenti coincidono, il processore è libero di scegliere il<br />

parametro di kind di una qualsiasi delle due componenti. Pertanto, la costante complessa:<br />

(1.2_3,3.4_3)<br />

ha un parametro di kind pari a 3, mentre la costante:<br />

(1.2_3,3.4_4)

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

Saved successfully!

Ooh no, something went wrong!