c
c ### PROGRAM SENO ### 21 Mai 97
c
    1 continue
c
      write(*,11)
   11 format(///,5x,'X (graus) = ',\); read(*,*) xg
      write(*,12)
   12 format(/,5x,'Numero de termos = ',\); read(*,*) nt
c
      pi = acos(-1.0)
c
      xr = xg * pi / 180.0
c
      senos = 0.0
	do i = 1,nt
        ia = 2 * i - 1
        call fatorial(ia,fat)
        senos = senos - ((-1.0)**i) * (xr**ia)/fat
      end do
c
      senof = sin(xr)
c
      if(senof.ne.0.0) erro = 100.0 * (senos-senof)/senof
c
      write(*,13) senos,erro
   13 format(/,10x,'Seno (serie) = ',f6.3,//,
     #         10x,'Erro (%)     = ',1pe15.6)
c
      goto 1
c
      end
c
c *** FATORIAL ***
c
      subroutine fatorial(ia,fat)
	fat = 1
	do j = 2,ia
        fat = fat * j
      end do
	end