Program MONTECARLO_HIT_AND_MISS_3var Implicit Double precision (A-H,o-z) DOUBLE PRECISION g ,a,b,c,p,r,s ,u,v,pi integer n , na ! a=0d0 b=1d0 c=1d0 na=0 n=10 open(60,File="ejerc10aciertfallos3var.xls") call cpu_time(start) do j=n,10000000000 do 1 i=1,n u=rand() v=rand() z=rand() ! definimos una nueva variable aleatoria w=rand() ! ahora g es funcion de 3 variables if (g(a+(b-a)*u,a+(b-a)*z,a+(b-a)*w).gt.c*v) na=na+1 1 continue p= real (na)/n r=(b-a)*c*p s=sqrt(p*(1.-p)/n)*c*(b-a) write(60,20)n,r,s if (n.gt.1d7) go to 30 n=n*10 na=0 enddo 30 call cpu_time(finish) write(60,*)"Temps = ",finish-start ,"s" close(60) 20 Format(I20,4X,F20.14,4X,E20.14) end ! definimos la funcion a integrar Function g(x1,x2,x3) Implicit Double Precision (A-H,O-Z) g=exp(-x1**2-x2**2-x3**2)*cos(x2*x1+x3*x2+x3*x1) end