program definiteIntegralAproximation !/////////////////////////////////////////////////////////// !/ Programa para aproximar la integral definida / !/ de la funcion sin(x) en [0,pi]. El valor exacto / !/ es 2. / !/ xfin / !/ integral[sin(X)]| ~ f(X0)h+f(X1)h+...+f(Xn-1)h / !/ xini / !/ / !/ X0 es xini- inicio del intervalo / !/ Xk+1 - Xk = h / !/////////////////////////////////////////////////////////// !/ VARIABLES: / !/ startInterval - inicio del intervalo de integracion / !/ endInterval - fin del intervalo de integracion / !/ subDivisions - nro de subdivisiones del intervalo, / !/ mas subdivisiones, mas exactitud / !/ increment - diferencia entr un x del intervalo / !/ donde se evalua la funcion y el x / !/ que le sigue (o el anterior) / !/ x - variable independiente de la funcion / !/ integral - valor de la integral, su valor final / !/ es el resultado esperado / !/////////////////////////////////////////////////////////// ! Declaraciones real :: startInterval, endInterval, increment, integral, x integer :: subDivisions ! Instancio los extremos de integraciĆ³n y la cantidad de subdivisiones startInterval = 0.0 endInterval = 3.14159265 subDivisions = 2 ! Calculo el incremento, inicializo la suma en cero ! y el primer x en el inicio del intervalo increment = (endInterval - startInterval)/subdivisions integral = 0 x = startInterval print*,"Aproximacion de la integral definida de sin(x) " print*,"===============================================" print*,"Inicio del intervalode integracion:",startInterval print*,"Fin del Intervalo de integracion:",endInterval print*,"Nro. de subdivisiones del intervalo:",subDivisions print*,"Incremento de la variable x:",increment print*, ! loop principal, actualizo x sumandole el incremento, ! y la suma integral en cada iteraciĆ³n do i = 1,subdivisions integral = integral + sin(x)*increment print*,"x:",x," integral:",integral x = x + increment end do print*, "La integral Aproximada es:",integral end program definiteIntegralAproximation