Series numéricas

Cálculo de una serie
Calculamos la serie
empleando la variable s para acumular la suma. La función
intrínseca spacing
indica el espacio mínimo que hay
entre dos valores de un tipo de dato. En este caso, si cada término
ya es menor que la cantidad que le puedo sumar es necesario salir
porque cada nuevo término ya no aporta nada nuevo a la suma.
! Serie.f90 Modern Fortran
program Serie
use iso_fortran_env
implicit none
integer, parameter :: MAX = 1000
integer :: n
real(real64) :: s, fact, term
fact = 1.0_real64 ! Factorial de cada $n$
s = 0.0_real64 ! Suma acumulada de la serie
do n=1, MAX
fact = fact * (n+1) ! Factorial
term = 1.0_real64 / (n * (n+1) * fact) ! Término a calcular
if (term < spacing(s)) exit ! Salida temprana
s = s + term
end do
write (*, '(a,i0)') 'n=',n ! i0: espacio mínimo requerido
write (*, '(a,f0.36)') 's=',s ! f0: espacio mínimo requerido
end program Serie