Anteprima
Vedrai una selezione di 1 pagina su 4
Calcolo pi greco Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

PROGRAM pigreco

IMPLICIT NONE

!Il valore di pi greco è legato al rapporto tra l'area di una circonferenza e l'area del quadrato circoscritto

!Considerando una circonferenza di raggio 1, la sua area è proprio pigreco e l'area totale del quadrato è 4

!Considero solo un quarto di circonferenza per semplicità

!L'area di del quadrato considerao vale quindi 1

!********************************FASE DICHIARATIVA*****************************

REAL,EXTERNAL::f

REAL:: x,y,a,pi,somma,media,somma2,dev

REAL,DIMENSION(50)::v

REAL,DIMENSION(5)::ris,std

INTEGER::i,n,j,k,ioerror

n=10

!********************************FASE ESECUTIVA*********************************

WRITE(*,9) "N. Lanci","Valore","Dev.Stand"

9 FORMAT(A10,1X,A10,1X,A10)

OPEN(UNIT=8,FILE='pigreco.dat',STATUS='REPLACE',IOSTAT=ioerror)!Apro il file su cui andro' a

memorizzare i risultati

WRITE(8,9) "N. Lanci","Valore","Dev.Stand"

DO k=1,5 !Il primo ciclo DO fa variare il numero di lanci N

n=n*10

DO j=1,20 !Il secondo ciclo DO effettua 20 iterazioni ad un N fissato

a=0 !Calcolerò per lo stesso N diversi pigreco cosi da poter stimare l'errore con la dev. standard

DO i=1,n

x=RANDOM@()

y=RANDOM@()

IF (y<=f(x))THEN

a=a+1

END IF

END DO

pi=(a/float(n))*4.0

v(j)=pi

END DO

!Calcolo della media

somma=0

DO j=1,20

somma=somma+v(j)

END DO

media=somma/20

ris(k)=media

!Calcolo della deviazione standard

somma2=0

DO j=1,20

somma2=somma2+(v(j)-media)**2

END DO

dev=sqrt(somma2/19)

std(k)=dev

WRITE(8,10) n,ris(k),std(k)!Memorizzo ad ogni iterazione il risultato relativo ad un dato N

WRITE(*,10) n,ris(k),std(k)

10 FORMAT(I10,1X,F10.5,1X,F10.5)

END DO

CLOSE(8)

END PROGRAM pigreco

!*******************************FUNZIONE********************************************

REAL FUNCTION f(x)

IMPLICIT NONE

REAL,INTENT(IN)::x

f= SQRT(1-x**2)

RETURN

END FUNCTION

Dettagli
Publisher
A.A. 2015-2016
4 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Totpic di informazioni apprese con la frequenza delle lezioni di Laboratorio di calcolo numerico e informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Berrilli Francesco.