Program SIMPSON_COMPUESTO_1VAR IMPLICIT DOUBLE PRECISION (A-H,O-Z) double precision x(10000) ! Definimos el intervalo de integracion a,b y el n£mero de ! iteraciones que vamos a hacer a=0d0 b=1d0 N=1000 ! calculamos h h=(b-a)/N ! empezamos a contar el tiempo call cpu_time(start) ! construimos nuestro vector x(i) do i=1,N x(i)=a+i*h enddo ! ponemos los contadores de la integral a 0 sum1=0d0 sum2=0d0 ! definimos hasta que termino hacemos la suma par y ! la impar nimp= n/2-1 np = n/2 ! calculamos la contribuci¢n del sumatorio impar do i=1,nimp sum1=sum1+2*g(x(2*i)) enddo ! calculamos la contribucion del sumatorio par do i=1,np sum2=sum2+4*g(x(2*i-1)) enddo ! Calculamos el resultado a partir de la suma de las diferentes ! contribuciones r=h/3d0*(g(a)+sum1+sum2+g(b)) ! abrimos un fichero para escribir el resultado y lo escribimos open(20,File="ejerc10simp_comp_1var.xls") write(20,*)r ! terminamos de contar el tiempo y lo escribimos call cpu_time(finish) write(20,30)finish-start 30 Format(e18.8) close(20) END ! definimos la funcion que queremos integrar FUNCTION g(x1) Implicit Double Precision (A-H,O-Z) g=exp(-(x1*x1))*cos(x1*x1) END