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.

102 Istruzioni di controllo<br />

Tabellina del 5<br />

5 per 1 = 5<br />

5 per 2 = 10<br />

5 per 3 = 15<br />

5 per 4 = 20<br />

5 per 5 = 25<br />

5 per 6 = 30<br />

5 per 7 = 35<br />

5 per 8 = 40<br />

5 per 9 = 45<br />

5 per 10 = 50<br />

Un altro esempio di applicazione del ciclo a conteggio è rappresentato dal seguente programma<br />

che stima il valore di π con il Metodo Monte Carlo. Si rammenta brevemente il metodo in<br />

esame. Generate tn coppie (x, y) di numeri random compresi tra 0 e 1 e detto in il numero di<br />

punti che cadono nel quarto di cerchio inscritto nel quadrato di lato unitario, si approssima il<br />

valore d π mediante il rapporto 4in/tn.<br />

PROGRAM pi_greco<br />

! Stima il valore di pi greco con il metodo Monte Carlo<br />

IMPLICIT NONE<br />

REAL :: x, y ! coordinate del colpo<br />

INTEGER :: in=0, tn=0 ! colpi ’a segno’ e colpi totali<br />

INTEGER :: loop ! variabile di controllo del ciclo<br />

! start<br />

WRITE(*,*) " Quanti ’colpi’? "<br />

READ(*,*) tn<br />

DO loop = 1,tn<br />

CALL RANDOM_NUMBER(HARVEST=x)<br />

CALL RANDOM_NUMBER(HARVEST=y)<br />

IF(x**2 + y**2 < 1.0) in = in+1.0<br />

END DO<br />

WRITE(*,*) "<strong>Il</strong> valore stimato di pi_grego e’: ", 4.0*in/tn<br />

STOP<br />

END PROGRAM pi_greco<br />

La procedura intrinseca RANDOM_NUMBER utilizzata nel programma serve a generare numeri<br />

pseudo-random nell’intervallo 0÷1 e sarà descritta nel capitolo 5. Vale la pena controllare<br />

la bontà del risultato prodotto:<br />

C:\MYPROG>pi_greco<br />

Quanti ’colpi’?<br />

7000<br />

<strong>Il</strong> valore stimato di pi_grego e’: 3.145714

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

Saved successfully!

Ooh no, something went wrong!