100 !' ************************************************** 110 !' * * 120 !' * 任意定数を含む関数のグラフ プログラム * 130 !' * * 140 !' * "D1p103MN23.bas" * 150 !' * 数T/034(第一)節末問題23(p103) * 160 !' * * 170 !' * 2009/3/14/Sat. by YO * 180 !' * * 190 !' ************************************************** 200 !' 定数・配列の定義 210 LET cx$="Blue" 220 LET cy$="Green" 230 DIM bn$(5) 290 !' 400 LET bn$(1)="<<" 410 LET bn$(2)="<-" 420 LET bn$(3)="a" 430 LET bn$(4)="+<" 440 LET bn$(5)="<<" 490 !' 500 !' 関数の定義 510 DECLARE EXTERNAL FUNCTION f 520 DECLARE EXTERNAL FUNCTION g 590 !' 600 !' 外部副プログラムの定義 610 DECLARE EXTERNAL SUB draw_function 620 DECLARE EXTERNAL SUB draw_function2 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=-8 870 LET wxe=8 880 LET wys=-7 890 LET wye=9 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 CALL draw_function2(wxs,wxe,0.1,m) 1080 PLOT TEXT ,AT wxe-2,wys ,USING "a=###.###": m 1090 LET mo=m 1100 !' 1110 LOCATE CHOICE(bn$):k 1120 IF k=1 THEN 1130 LET m=m-1 1140 GOTO 1300 1150 END IF 1160 IF k=2 THEN 1170 LET m=m-xz 1180 GOTO 1300 1190 END IF 1200 IF k=3 THEN 1210 GOTO 9980 1220 END IF 1230 IF k=4 THEN 1240 LET m=m+xz 1250 GOTO 1300 1260 END IF 1270 IF k=5 THEN 1280 LET m=m+1 1290 END IF 1300 !' 1310 CLEAR 1980 GOTO 1020 1990 !' 9980 !' 9990 END 10000 !' 関数の定義 10010 EXTERNAL FUNCTION f(x,m) 10020 LET f=x*(x+m+1)+m*m 10030 END FUNCTION 10040 !' 10050 EXTERNAL FUNCTION g(x,m) 10060 LET g=x*(x-4*m)-4*m+3 10070 END FUNCTION 10080 !' 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 PLOT LINES:xx-s,f(xx-s,m) 10260 END SUB 10270 !' 10280 EXTERNAL SUB draw_function2(a,b,s,m) 10290 FOR xx=a TO b STEP s 10300 PLOT LINES: xx,g(xx,m); 10310 NEXT xx 10320 PLOT LINES:xx-s,g(xx-s,m) 10330 END SUB 10340 !'