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.3 Istruzioni di dichiarazione di tipo 21<br />

REAL :: a, b, val_reale<br />

INTEGER :: i, j, val_intero<br />

COMPLEX :: onda<br />

CHARACTER(LEN=20) :: nome, cognome<br />

LOGICAL :: converge<br />

<strong>Il</strong> <strong>Fortran</strong> mette a disposizione anche un meccanismo di dichiarazione implicita secondo<br />

cui se una variabile, una costante o una funzione (non intrinseca), non è stata esplicitamente<br />

dichiarata, allora il suo tipo è mutuato implicitamente dalla prima lettera del suo nome secondo<br />

la seguente regola:<br />

• Gli oggetti aventi un nome che comincia con le lettere che vanno da ”i” a ”n” sono<br />

considerati di tipo INTEGER.<br />

• Gli oggetti aventi un nome che comincia con le lettere che vanno da ”a” a ”h” e da ”o” a<br />

”z” sono considerati di tipo REAL.<br />

Una specificazione esplicita evita questo meccanismo implicito di dichiarazione. Un altro<br />

modo, più sicuro ed elegante, di inibire una dichiarazione implicita degli oggetti è quella di<br />

usare l’istruzione:<br />

IMPLICIT NONE<br />

Questa istruzione impone una dichiarazione esplicita di ciascuna variabile, costante con nome<br />

o funzione definita dall’utente, usate in un programma.<br />

L’uso dell’istruzione IMPLICIT NONE è altamente raccomandato in quanto offre non pochi<br />

vantaggi. Innanzitutto, esso permette di catturare gran parte degli errori ortografici in fase<br />

di compilazione, prima, cioé, che possano verificarsi degli errori difficili da scoprire durante<br />

l’esecuzione del programma. Ed inoltre, imponendo al programmatore di includere una lista<br />

completa di tutte le variabili nella sezione dichiarativa del programma, semplifica di molto la<br />

manutenzione del codice. Se, infatti, un programma deve essere modificato, un controllo della<br />

lista specificata nella sezione dichiarativa permette di evitare al programmatore di utilizzare<br />

per errore nomi di variabili già definiti.<br />

Si noti che l’istruzione IMPLICIT NONE deve precedere ogni istruzione di un programma<br />

fatta eccezione per le istruzioni USE e FORMAT e, chiaramente, per le righe di commento le quali,<br />

non essendo compilate, possono essere inserite in un punto qualsiasi del programma. Inoltre,<br />

tale istruzione ha effetto soltanto sull’unità di programma nella quale viene applicata per cui,<br />

in programmi che si articolano in più unità, l’istruzione IMPLICIT NONE deve essere specificata<br />

in ognuna di esse.<br />

1.3.3 Oggetti di tipo INTEGER<br />

Una entità di tipo INTEGER è un oggetto atto a contenere un valore appartenente ad un subset<br />

dei numeri interi. L’istruzione INTEGER serve a specificare che una data variabile (o funzione)<br />

è di tipo intero. La sintassi dell’istruzione di dichiarazione di un oggetto di tipo intero è:

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

Saved successfully!

Ooh no, something went wrong!