Program MONTECARLO_MUESTREO_UNIFORME_3var Implicit Double precision (A-H,o-z) DOUBLE PRECISION g,g0,a,b,r1,s1,r,s,pi,u,z real finish ,start integer n a=0d0 b=1d0 n=10 open(60,File="ejerc10mostrunif3var.xls") call cpu_time(start) do j=n,10000000000 r1=0. s1=0. do 1 i=1,n u=rand() v=rand() z=rand() g0=g(a+(b-a)*u,a+(b-a)*v,a+(b-a)*z) r1=r1+g0 s1=s1+g0*g0 1 continue r1=r1/n s1=sqrt((s1/n-r1*r1)/n) r=(b-a)*r1 s=(b-a)*s1 write(60,20)n,r,s if (n.gt.1d7) go to 30 n=n*10 enddo 30 call cpu_time(finish) write(60,*)"Temps = ",finish-start ,"s" close(60) 20 Format(I20,4X,F20.14,4X,E20.14) end 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