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.

1.5 Istruzioni di assegnazione ed espressioni 35<br />

Per calcolare l’espressione base**esponente il computer moltiplica il valore di base per sé<br />

stesso un certo numero di volte (pari al valore di esponente). Dunque, l’intera operazione si<br />

svolge soltanto fra numeri reali ed è, pertanto, una espressione reale.<br />

Tuttavia è possibile elevare un numero reale anche a potenza reale, come nel seguente<br />

esempio:<br />

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

risultato = y**x<br />

Tipicamente in questi casi, per il calcolo del risultato, viene applicata una tecnica indiretta<br />

basata sulla seguente uguaglianza:<br />

yx x lny = e<br />

per cui il valore di y**x viene valutato calcolando prima il logaritmo naturale di y, quindi<br />

moltiplicandolo per x e poi elevando e alla potenza del risultato ottenuto. Da quanto detto<br />

emerge che l’elevamento a potenza reale deve essere utilizzato soltanto nei casi in cui risulti<br />

strettamente necessario in quanto questa procedura risulta più lenta e meno precisa di una serie<br />

di moltiplicazioni ordinarie.<br />

Si noti, infine, che mentre è possibile elevare a potenza intera un numero reale negativo,<br />

non è possibile elevare questo a potenza reale in quanto il logaritmo naturale di un numero<br />

negativo non è definito. Pertanto, mentre l’espressione:<br />

(-2)**2<br />

è perfettamente lecita, l’espressione<br />

(-2)**2.0<br />

genererebbe, invece, un errore al tempo di esecuzione.<br />

Uso delle funzioni intrinseche<br />

Oltre alle operazioni aritmetiche fondamentali, sono spesso necessarie operazioni più complesse<br />

quali, ad esempio, il calcolo dei logaritmi o di funzioni trigonometriche. Tali operazioni vengono<br />

eseguite in <strong>Fortran</strong> usando opportune procedure dette funzioni intrinseche. Di queste si parlerà<br />

nel dettaglio alla fine del capitolo. Per il momento ci si limiterà a fornire alcune informazioni<br />

di carattere generale.<br />

Ciascuna funzione intrinseca opera su uno o più dati, detti argomenti, e fornisce un unico<br />

risultato che può essere utilizzato scrivendo il nome della funzione seguito da una lista di<br />

argomenti racchiusa tra parentesi. Nella maggior parte dei casi è previsto un solo argomento;<br />

quando, però, gli argomenti sono più di uno, essi devono essere separati da virgole.<br />

Per utilizzare correttamente una qualunque funzione intrinseca è fondamentale che il numero<br />

ed il tipo degli argomenti coincida con quello previsto per la funzione. Si osservi che un<br />

argomento di tipo sbagliato non viene convertito automaticamente ad un tipo corretto e che,<br />

inoltre, errori di questo tipo non vengono di solito segnalati dal compilatore e possono generare

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

Saved successfully!

Ooh no, something went wrong!