Está en la página 1de 2

program diferenciacion

implicit none
real(kind=3)::xa,xb,x,xd,xe
real(kind=3)::fxa,fxb,fx,fxd,fxe,h
real(kind=3)::derfxm,derfxn,derfxl,derfxo,derfxp,derfxq
write(*,*)"El siguiente programa realiza las operaciones para obtener las
resoluciones"
write(*,*)" regresivas, centrales y progresivas de la primera y segunda derivada"
write(*,*)""
write(*,*)"La función a encontrar sus derivadas es f(x)=3/4*3.141592*(r^3) con un
h=0.01"
h=0.01d0
x=150.d0
xa=x-0.02d0
xb=x-0.01d0
xd=x+0.01d0
xe=x+0.02d0
write(*,*)"Usando los valores para x los siguientes:"
write(*,*)""
write(*,*)"x-2="
write(*,70)xa
write(*,*)"x-1="
write(*,70)xb
write(*,*)"x="
write(*,70)x
write(*,*)"x+1="
write(*,70)xd
write(*,*)"x+2="
write(*,70)xe
write(*,*)""
write(*,*)""
write(*,*)"Sustituyendo x en la funcion:"
write(*,*)""
fxa=(4.d0/3.d0)*3.141592d0*(xa*xa*xa)
fxb=(4.d0/3.d0)*3.141592d0*(xb*xb*xb)
fx=(4.d0/3.d0)*3.141592d0*(x*x*x)
fxd=(4.d0/3.d0)*3.141592d0*(xd*xd*xd)
fxe=(4.d0*3.141592d0*xe*xe*xe)/(3.d0)

write(*,*)"Evaluando f(x-2)"
write(*,60)fxa
write(*,*)""
write(*,*)"Evaluando f(x-1)"
write(*,60)fxb
write(*,*)""
write(*,*)"Evaluando f(x)"
write(*,60)fx
write(*,*)""
write(*,*)"Evaluando f(x+1)"
write(*,60)fxd
write(*,*)""
write(*,*)"Evaluando f(x+2)"
write(*,60)fxe
write(*,*)""

write(*,*)" Primera derivada"


write(*,*)""
Write(*,*)"Regresiva"
write(*,*)""
derfxm=(fx-fxb)/h
write(*,*)derfxm
write(*,*)""
Write(*,*)"Central"
write(*,*)""
derfxn=(fxd-fxb)/(2.d0*h)
write(*,*)derfxn
write(*,*)""
Write(*,*)"Progresiva"
write(*,*)""
derfxl=(fxd-fx)/h
write(*,*)derfxl
write(*,*)""
write(*,*)""
write(*,*)""
write(*,*)" Segunda derivada"
write(*,*)""
Write(*,*)"Regresiva"
write(*,*)""
derfxo=(fx-2.d0*fxb+fxa)/(h**2)
write(*,*)derfxo
write(*,*)""
Write(*,*)"Central"
write(*,*)""
derfxp=(fxd-2.d0*fx+fxb)/(h**2)
write(*,*)derfxp
write(*,*)""
Write(*,*)"Progresiva"
write(*,*)""
derfxq=(fxe-2.d0*fxd+fx)/(h**2)
write(*,*)derfxq
write(*,*)""

70 format (F8.2)
60 format (F14.5)
end program

También podría gustarte