C R.C. PROGRAM OSCIATION PARAMETER( NMAX=1000 ) REAL Y(0:NMAX), X(0:NMAX) REAL Y0(0:NMAX) C 配列を宣言するとき、配列の長さは変数で指定できない。ここでの変数は NMAX. C そのため、配列の長さを変数で指定したい場合は、PARAMETER宣言を行う. XMAX=10.0 XMIN=0.0 C x軸の幅 WRITE(*,*) "INPUT THE BESSEL NUMBER !" READ(*,*) N C ベッセル関数の次数 M=1000 C 級数計算する項数 DO 10 I=0,NMAX-1 X(I)=XMIN+(XMAX-XMIN)*I/NMAX B=1.0 IF (N.GT.1) THEN C THEN DO 30 K=1,N B=B/K 30 CONTINUE END IF C ここまでは、ベッセル級数の第1項に存在する1/0!M!の計算. 階乗は関数で定義できないための措置. S=B*(X(I)/2.0)**(N) DO 20 J=1,M B=B/(J*(J+N)) S=S+((-1)**J)*B*(X(I)/2.0)**(2*J+N) 20 CONTINUE Y0(I)=S 10 CONTINUE *-- グラフの呼び出し --- WRITE(*,*) ' WORKSTATION ID (I) ? ;' CALL SGPWSN READ (*,*) IWS CALL GROPN( IWS ) CALL GRFRM CALL USGRPH( NMAX, X, Y0 ) CALL USSTTL( '', '', '', '' ) CALL GRCLS STOP END