program EsempioIntent implicit none real :: x,y,f1,f2 x=10 y=f1(x) write(6,*)'dopo f1 x,y:', x,y x=10 y=f2(x) write(6,*)'dopo f2 x,y:', x,y end real function f1(x) implicit none ! questa funzione calcola il quadrato di x+1 real :: x real :: t t=x+1 f1=t*t end real function f2(x) implicit none ! questa funzione calcola il quadrato di x+1 ! ma modifica il valore di x (in genere non e' gradito) real :: x x=x+1 f2=x*x end real function f3(x) implicit none ! ! se specifico INTENT (preciso che X e' una variabile ! in input e quindi non va modificata) ! allora il compilatore segnala errore se cerco di modificare x real,INTENT(IN) :: x real :: t ! non e' possibile compilare se specifico intent !x=x+1 f3=x*x t=x+1 f3=t*t end function f3