You are on page 1of 4

program Trapecio

real a, b, h, x(10000), suma, Area

integer N, i, k, m(11)

open( unit=7, file= ' Tabla_Trapecio.txt', status='unknown')

a = 1 ! Limite inferior de la integral

b = 2 ! limite superior de la integral

N = 10 ! Numero de Trapecios

h = ( b - a )/N ! Size Step o Norma de la partición

x(1) = a ! Evaluamos en el primer punto

suma = 0 ! Inicilizamos la suma

!
************************************************************************************
****************************
! Ciclo para calcular la suma
!
************************************************************************************
****************************

do i = 1, N

x(i+1) = x(i) + h ! Porque es una partición regular

suma = suma + f(x(i))

end do
! Fin del ciclo

!
************************************************************************************
*****************************
! Calculamos Área
!
************************************************************************************
*****************************

Area = (h/2)*( f(a) + f(b) ) + h*suma

write(*,*) Area

!
************************************************************************************
*****************************
! Imprimir Tabla

! Creamos los coeficientes

m(1) = 1
m(N+1) = 1

do i = 2,N
m(i) = 2
end do

do k = 1, N+1

write(*,*) k, x(k), f(x(k)), m(k), m(k)*f(x(k))


write(7,*) k, x(k), f(x(k)), m(k), m(k)*f(x(k))

! 300 format( I3, 8f12.8, 8f12.8, 24I3, 8f12.8)


! write(7,300) k, x(k), f(x(k)), m(k), m(k)*f(x(k))

end do
write(7,*) ' El area bajo la curva es=', Area

pause

end program

program Simpson

real a, b, h, x(10000), sumaP, sumaI, Area

integer N, i, k, m(11)

open( unit=7, file= ' Tabla_Simpson.txt', status='unknown')

a = 1 ! Limite inferior de la integral

b = 2 ! limite superior de la integral

N = 10 ! Numero de Subdivisiones ( La mitad son parábolas)

h = ( b - a )/N ! Size Step o Norma de la partición

x(1) = a ! Evaluamos en el primer punto

sumaP = 0 ! Inicilizamos la suma par

sumaI = 0 ! Inicilizamos la suma impar

!
************************************************************************************
****************************
! Generamos los puntos para x
!
************************************************************************************
****************************

do i = 1, N
x(i+1) = x(i) + h ! Porque es una partición regular

end do
! Fin del ciclo

!
************************************************************************************
****************************
! Ciclo para calcular la suma de los terminos Pares
!
************************************************************************************
*****************************

do k = 1, N/2

sumaP = sumaP + f(x(2*k))

end do

!
************************************************************************************
****************************
! Ciclo para calcular la suma de los terminos Impares
!
************************************************************************************
*****************************

do k = 1, (N-2)/2

sumaI = sumaI + f(x(2*k+1))

end do

! Calculamos Área
!
************************************************************************************
*****************************

Area = (h/3)*( f(a) + f(b) ) + (4*h/3)*sumaP + (2*h/3)*sumaI

write(*,*) Area

!
************************************************************************************
*****************************
! Imprimir Tabla

! Creamos los coeficientes m

m(1) = 1
m(N+1) = 1

do i = 1,N/2 ! los coeficientes Pares


m(2*i) = 4
end do
do i = 1,(N/2)-1 ! los coeficientes Impares
m(2*i+1) = 2
end do

do k = 1, N+1

write(*,*) k, x(k), f(x(k)), m(k), m(k)*f(x(k))


write(7,*) k, x(k), f(x(k)), m(k), m(k)*f(x(k))

! 300 format( I3, 8f12.8, 8f12.8, 24I3, 8f12.8)


! write(7,300) k, x(k), f(x(k)), m(k), m(k)*f(x(k))

end do
write(7,*) ' El area bajo la curva es=', Area

pause

end program

real function f(x)

real x

! f = 1/x ! Funcion libro Swokowsky

! f = x**4 ! Funcion clase

! f = exp(x)/x

! f = sin(x)*exp(x)/x

f = tanh(x)*sin(x)*exp(x)/x

end function

************************************************************************************

You might also like