PROGRAM SIMPSON PARAMETER( M=10000 ) REAL X(0:M), Y(0:M) REAL DX INTEGER L REAL XMIN, XMAX WRITE(*,*) "INPUT THE STEP NUMBER, XMIN, XMAX" READ(*,*) N, XMIN, XMAX S=0.0 *-- きざみ幅の設定 --- DX=(XMAX-XMIN)/N *-- 計算ステップの設定 --- L=N/2 *-- 開始位置の指定 --- X(0)=XMIN Y(0)=1.0/(X(0)**2+1.0) *-- 関数の設定 --- DO 20 J=1,N X(J)=X(J-1)+DX Y(J)=1.0/(X(J)**2+1.0) 20 CONTINUE *-- 積分の計算 --- DO 10 I=0,L-1 S=S+(DX/3.0)*(Y(2*I+2)+4.0*Y(2*I+1)+Y(2*I)) 10 CONTINUE WRITE(*,*) S STOP END