!--------------------------------------------------------------------
!
!  Este programa calcula el sen(x) con 0 <= x <= pi mediante
!  Desarrollo en serie de Taylor.
!
!   sen(x) = \sum_{i=1}^n (a_i)    siendo
!   a_i=(-1)^{n+1} x^{2i-1}/(2i-1)!
!
!   De modo que una ley de recurrencia para calcular a_i sería:
!
!   a_1 = x
!   a_{i} = -x^2/((2i-1)(2i-2)) a_{i-1} ; i=2,...,n
!
!   (Se omiten las tildes en los textos por pantalla)
!
!   Autores: J. París & Grupo de Métodos Numéricos en Ingeniería
!
!            Copyright:
!   Este programa es propiedad de sus autores.
!   No puede utilizarse con fines comerciales sin conocimiento
!   y autorización de sus autores.
!   Puede utilizarse con fines educativos sin ninguna restricción.
!
!--------------------------------------------------------------------

      program sinx
      implicit integer*4(i-n)
      implicit real*8(a-h,o-z)

      write(6,'(//a//)')'Calculo del sen(x) con 0 <= x <= pi'

      write(6,*)'Indique el numero de terminos del desarrollo en serie'
      read(5,*)n

      write(6,*)'Indique el valor de x'
      read(5,*)x

      vsin=x
      termino=x

      do i=2,n
        termino=termino*(-x*x)/dble((2*i-1)*(2*i-2))
        vsin=vsin+termino
      enddo

      write(6,*)'El sen(x) mediante desarrollo en serie es:   ',vsin
      write(6,*)'El sen(x) mediante la funcion de Fortran es: ',
     &           sin(x)

      write(6,*)
      write(6,*)'Pulsa ENTER para finalizar el programa'
      read(5,*)   ! Se añade esta instrucción para ejecutar el programa
                  ! haciendo doble-click directamente en el fichero *.exe
      end



