17さんのコードだと、階乗の処理ができておらんです。 階乗をくっつけたらこうかな。 PROGRAM TAYLOR IMPLICIT NONE INTEGER*8 N,AN REAL*8 EPS,X,SINX,TMP,A1,A2 EPS = 1.0E-09 DO X = 0.0, 3.2, 0.2 SINX = 0.0 DO N = 0, 100 A1 = 1.0 DO AN = 1, 2*N+1 A1 = REAL(AN)*A1 END DO A2 = REAL((-1)**N) TMP = (A2*(X**REAL(2*N+1)))/A1 SINX = SINX + TMP ! PRINT *,ABS(TMP),TMP,A1,A2 IF (ABS(TMP) .LT. EPS)THEN WRITE(*,600) X,SINX GOTO 1000 END IF END DO 1000 CONTINUE END DO 600 FORMAT('SIN(X=',F6.2,')=',2X,E12.4) END