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.

378 Puntatori<br />

REAL,DIMENSION(10,10) :: T<br />

REAL, POINTER, DIMENSION(:,:) :: n, e, s, w, inside<br />

REAL :: diff<br />

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

! *** Sezione esecutiva ***<br />

! Valori iniziali di tentativo<br />

T = 0<br />

! Condizioni al contorno<br />

T(1:10,1) = 1.0<br />

T(1,1:10) = (/(0.1*j,j=10,1,-1)/)<br />

! Inizializzazione<br />

Told = T<br />

! Puntatori alle diverse porzioni di Told<br />

inside => Told(2:9,2:9)<br />

n => Told(1:8,2:9)<br />

s => Told(3:10,2:9)<br />

e => Told(2:9,1:8)<br />

w => Told(2:9,3:10)<br />

! Inizio iterazioni<br />

niter = 0<br />

DO<br />

T(2:9,2:9) = (n + e + s + w)/4.0<br />

diff = MAXVAL(ABS(T(2:9,2:9)-inside))<br />

niter = niter + 1<br />

! Aggiornamento dei risultati<br />

inside = T(2:9,2:9)<br />

PRINT*, "Iter n. ", niter, diff<br />

IF(diff < 1.0E-4) THEN<br />

EXIT<br />

END IF<br />

END DO<br />

! Stampa dei risultati<br />

PRINT*, "Campo finale: "<br />

DO i = 1,10<br />

PRINT "(10F7.3)", T(1:10,i)<br />

END DO<br />

END PROGRAM laplace_con_punt<br />

7.8 Puntatori come parametri formali di procedure<br />

I puntatori, siano essi allocati o non, possono essere usati come parametri formali in procedure<br />

e ad esse passati come parametri attuali da parte dell’unità di programma chiamante, purché

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

Saved successfully!

Ooh no, something went wrong!