ortran

Lenguaje de programación orientado a aplicaciones científicas y numéricas de alto rendimiento

Series numéricas

Cálculo de una serie

Calculamos la serie n 1 n ( n + 1 ) n ! 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