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.

68 Tipi ed espressioni<br />

istruzione SEQUENCE all’interno del blocco riservato alla definizione del tipo, come esemplificato<br />

di seguito:<br />

TYPE :: vettore<br />

SEQUENCE<br />

REAL :: a<br />

REAL :: b<br />

REAL :: c<br />

END TYPE<br />

1.9 Procedure Intrinseche<br />

Le funzioni intrinseche non sono altro che particolari sottoprogrammi che ogni sistema mette a<br />

disposizione dell’utente.<br />

Per utilizzare correttamente una qualunque funzione intrinseca è necessario rispettare le<br />

seguenti regole:<br />

• <strong>Il</strong> numero degli argomenti attuali deve coincidere con il numero degli argomenti specificato<br />

per la funzione, a meno che non siano specificati alcuni parametri opzionali.<br />

• <strong>Il</strong> tipo degli argomenti attuali deve essere uno dei tipi previsti per gli argomenti della<br />

funzione.<br />

E’, inoltre, importante notare che quando una funzione intrinseca può essere usata con argomenti<br />

di tipo diverso, il tipo del risultato è determinato da quello degli argomenti attuali. Così,<br />

ad esempio, la funzioneABS può operare su un argomento di tipo intero, reale in singola o doppia<br />

precisione, oppure complesso. Nei primi tre casi la funzione ABS fornisce il valore assoluto della<br />

quantità specificata quale argomento attuale ed il suo risultato è dello stesso tipo dell’argomento<br />

attuale; nell’ultimo caso, ossia se l’argomento attuale è di tipo complesso, la funzione ABS<br />

fornisce come risultato un valore reale che rappresenta il modulo dell’argomento. Con un unico<br />

nome, ABS, è pertanto possibile indicare operazioni diverse in base al tipo dell’argomento usato.<br />

La caratteristica di indicare con lo stesso nome di funzione (nome generico) operazioni diverse<br />

è comune a molte funzioni intrinseche. L’utilizzazione del nome generico permette, quindi,<br />

di selezionare, mediante il tipo degli argomenti, le operazioni che devono essere compiute per<br />

ottenere un risultato coerente con i dati forniti alla funzione. Questa flessibilità delle funzioni<br />

intrinseche rispetto al tipo dei loro argomenti deriva dal fatto che ciascun nome generico indica,<br />

in realtà, una famiglia di funzioni, ciascuna delle quali opera su un determinato tipo di argomenti<br />

per fornire uno specifico risultato. <strong>Il</strong> tipo degli argomenti attuali che, in un riferimento<br />

alla funzione, accompagnano il nome generico determina quale sottoprogramma della famiglia<br />

deve essere effettivamente utilizzato e determina, quindi, anche il tipo della funzione. Nella<br />

maggior parte dei casi, ogni sottoprogramma della famiglia identificata da un nome generico<br />

può essere utilizzato anche mediante il suo nome specifico. In questo caso gli argomenti attuali<br />

devono essere del tipo previsto per quel particolare sottoprogramma. Riprendendo l’esempio<br />

della funzione ABS, essa indica una famiglia di quattro sottoprogrammi le cui caratteristiche<br />

possono essere così riassunte:

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

Saved successfully!

Ooh no, something went wrong!