L'istruzione implicit none in Fortran 90

Come ci aiuta nella realizzazione dei programmi.

Il
Fortran 90 possiede una ulteriore istruzione di dichiarazione di tipo, la seguente:
IMPLICIT NONE. Il risultato dell’applicazione di questa istruzione è
di disabilitare tutti gli elementi impliciti di digitazione che sono previsti
nel linguaggio Fortran. Quando l’istruzione IMPLICIT NONE viene inclusa
in un programma, qualsiasi variabile che non compare in una dichiarazione esplicita
di tipo è considerata un errore. L’istruzione IMPLICIT NONE va posta
dopo l’istruzione PROGRAM e prima di qualsiasi istruzione di dichiarazione di
tipo. Quando l’istruzione IMPLICIT NONE viene inclusa in un programma,
il programmatore deve dichiarare esplicitamente il tipo di ogni variabile del
programma. A prima vista, questo potrebbe sembrare uno svantaggio in quanto
il programmatore deve svolgere più lavoro durante la stesura di un programma.
Questa impressione iniziale risulta fuorviante; l’uso di IMPLICIT NONE,
infatti, offre parecchi vantaggi. La maggior parte degli errori di programmazione
sono rappresentati da semplici errori ortografici. L’istruzione IMPLICIT
NONE
è in grado di catturare questi errori in fase di compilazione prima
che possano causare degli errori dificili da scoprire durante l’esecuzione.
Ad esempio consideriamo il seguente programma per il calcolo dell’area di un
triangolo:

Program Triangolo
!Programma che valuta l’area del triangolo di lati a, b, c

implicit none

real ::a, b, c

print*, ‘digita
la lunghezza dei tre lati’

read*,a, b, c
print*, ‘Area del triangolo=’,trianglearea( a, b, c)

contains

function trianglearea(
a, b, c)

real :: trianglearea

real, intent(
in) :: a, b, c

real :: theta

real :: height

theta = acos(
( a**2 + b**2 - c**2 ) / ( 2.0 * a *b ) )

height= a * sin
( theta )

trianglearea =
0.5 * b * height

end function trianglearea

end program Triangolo

Avendo utilizzato
l’istruzione implicit none se avessimo dimenticato di dichiarare la variabile
a, in fase di compilazione avremmo ottenuto il seguente messaggio di errore:

F90 -g -c -nowdir
-o “D:FORTRAN 90triangoloobjstriangolo.obj” -noconsole “D:FORTRAN 90triangolotriangolo.f90″
cf90-113 error on line 9 of D:FORTRAN 90triangolotriangolo.f90: IMPLICIT
NONE is specified in the local scope, therefore an explicit type must be specified
for data object “A”.

Il quale messaggio
di errore ci dice immediatamente dove risiede il problema e per noi sarà più
semplice la correzione.

Peeplo Search

Vuoi inserire la Search di Peeplo sul tuo sito ?

Provala subito!