PROGRAM MYSINT DOUBLE PRECISION MYSIN,X,Z WRITE(*,*) 'Calculation of sin.' WRITE(*,*) 'Give X and N : ' READ(*,*)X,N Z=MYSIN(X,N) WRITE(*,'(1H ,A9,F18.15)') 'sin(X) = ',Z WRITE(*,'(1H ,A9,F18.15)') 'library= ',DSIN(X) END DOUBLE PRECISION FUNCTION MYSIN(X,N) DOUBLE PRECISION X,Y,T,PI2 PARAMETER (PI2=6.28318530717958647692D0) Y=DMOD(X,PI2) MYSIN=Y ! 答の変数の初期設定 T=Y ! 一般項の初期設定 DO 100 I=1,N-1 T=-T*Y*Y/(I+I)/(I+I+1) ! 一般項を更新した後 MYSIN=MYSIN+T; ! それを和に加える 100 CONTINUE RETURN END