100 !' ************************************************** 110 !' * * 120 !' * 任意定数を含む関数のグラフ プログラム * 130 !' * * 140 !' * "S1p099RO7.bas" * 150 !' * 数T/030(数研)応用例題7(p99) * 160 !' * * 170 !' * 2008/8/30/Sat. by YO * 180 !' * * 190 !' ************************************************** 200 !' 定数・配列の定義 210 LET cx$="Red" 220 LET cy$="Yellow" 230 DIM bn$(5) 290 !' 400 LET bn$(1)="<<" 410 LET bn$(2)="<-" 420 LET bn$(3)="m" 430 LET bn$(4)="+<" 440 LET bn$(5)="<<" 490 !' 500 !' 関数の定義 510 DECLARE EXTERNAL FUNCTION f 590 !' 600 !' 外部副プログラムの定義 610 DECLARE EXTERNAL SUB draw_function 790 !' 800 !' 変数の定義 810 LET xs=1 820 LET xe=4 830 LET xb=3 840 LET xz=0.02 850 LET m=1 860 LET wxs=-3 870 LET wxe=5 880 LET wys=-3 890 LET wye=5 990 !' 1000 REM 主プログラム開始 1010 SET WINDOW wxs,wxe,wys,wye 1020 SET POINT STYLE 3 1030 SET LINE width 3 1040 DRAW Grid 1050 SET LINE width 1 1060 CALL draw_function(wxs,wxe,0.1,m) 1070 PLOT TEXT ,AT wxe-2,wys ,USING "m=###.###": m 1080 LET mo=m 1090 ' 1100 LOCATE CHOICE(bn$):k 1110 IF k=1 THEN 1120 LET m=m-1 1130 GOTO 1300 1140 END IF 1150 IF k=2 THEN 1160 LET m=m-xz 1170 GOTO 1300 1180 END IF 1190 IF k=3 THEN 1200 GOTO 9980 1210 END IF 1220 IF k=4 THEN 1230 LET m=m+xz 1240 GOTO 1300 1250 END IF 1260 IF k=5 THEN 1270 LET m=m+1 1280 END IF 1290 !' 1300 !' 1310 CLEAR 1980 GOTO 1020 1990 !' 9980 !' 9990 END 10000 !' 関数の定義 10010 EXTERNAL FUNCTION f(x,m) 10020 LET f=x*(x+m)+m+3 10030 END FUNCTION 10040 !' 10200 !' 関数表示ルーチン 10210 EXTERNAL SUB draw_function(a,b,s,m) 10220 FOR xx=a TO b STEP s 10230 PLOT LINES: xx,f(xx,m); 10240 NEXT xx 10250 END SUB 10260 !'