! 3次方程式 F(X) = 0 の解を求めるプログラム ( 挟み打ち法 ) PRINT INPUT PROMPT "χ3 + aχ2 + bχ + c の  a = ? ":a INPUT PROMPT "χ3 + aχ2 + bχ + c の  b = ? ":b INPUT PROMPT "χ3 + aχ2 + bχ + c の  c = ? ":c INPUT PROMPT "調査する χ の範囲: 最低値は? ":L INPUT PROMPT "調査する χ の範囲: 最高値は? ":R PRINT PRINT "χ3 + (";a;")*χ2 + (";b;")*χ + (";c;") = 0 の解は、" PRINT L;"から";R;"の範囲では、" DEF F(X)=X^3+a*X^2+b*X+c SET WINDOW L,R,-10,10 DRAW GRID FOR X=L TO R STEP 0.01 PLOT LINES: X,F(X); NEXT X LET D=0.1 LET K=0 FOR X=L TO R-D STEP D IF F(X)*F(X+D)<0 OR F(X)=0 THEN CALL catch(X,X+D) NEXT X GOTO 20 SUB catch(P,Q) 10 LET M=(P+Q)/2 IF F(P)*F(M)>0 THEN LET P=M ELSE LET Q=M IF ABS(P-Q)>1E-7 THEN 10 LET K=K+1 LET M=INT(1000000*M+0.5)/1000000 PRINT "  X (";K;") = "; PRINT USING "--%.######":M END SUB 20 PRINT PRINT " もし、上の欄に解が表示されていなければ、" PRINT "解は存在しないということです。" END