1.はじめに
2.学校と生徒の概要
3.各BASIC言語の比較
機 能 | WIN95 | WIN3.1 | DOS | 価 格 | 速 度 | |
---|---|---|---|---|---|---|
N88日本語BASIC (DOS版) | インタプリタ | △ | △ | ○ | NEC 17000円 | ○ |
Visual Basic | コンパイラ | ○ | ○ Ver2.0 | × | マイクロソフト ラーニング版 23800円 | ○ |
F-BASIC Ver.6 | コンパイラ | ○ | ○ Ver3.1 | × | 富士通 35000円 | ○ |
BAISC/98 for Windows | インタプリタ | ○ | × | × | 電脳組 30000円 | ○ |
十進BASIC | インタプリタ | ○ | × | × | フリーソフト | ○ |
N88互換 BASIC for Windows | インタプリタ | ○ | ○ | × | フリーソフト | △ |
2)動作例
10 SCREEN 3:CLS 320 WX=10:WY=WX*400/640 30 WINDOW(-WX,-WY)-(WX,WY) 40 LINE(-WX,0)-(WX,0):LINE(0,-WY)-(0,WY) 50 DEF FNF(X)=A*X*X+B*X+C 60 INPUT "ケイスウ a,b,c";A,B,C 70 FOR X=-WX TO WX STEP .01 80 Y=FNF(X) 90 PSET(X,-Y) 100 NEXT X 110 END高等学校新編数学C(数研出版)60頁 関数のグラフに記載の例です。
A F-BASIC
10 WX=10:WY=WX*400/640 20 WINDOW(-WX,-WY)-(WX,WY) 30 LINE(-WX,0)-(WX,0):LINE(0,-WY)-(0,WY) 40 DEF FNF(X)=A*X*X+B*X+C 50 INPUT "ケイスウ a,b,c";A,B,C 60 FOR X=-WX TO WX STEP .01 70 Y=FNF(X) 80 PSET(X,-Y) 90 NEXT X 100 STOP
Private Sub Form_Click() Cls w = 8 l = 320 / w Line (0, 200)-(639, 200) Line (320, 0)-(320, 399) For x = -w To w Step 0.01 y = x * x - 4 m = l * x + 320: n = -l * y + 200 PSet (m, n) Next x End Sub
10 CLS 3:SCREEN 3 20 WX=10:WY=WX*400/640 30 WINDOW(-WX,-WY)-(WX,WY) 40 LINE(-WX,0)-(WX,0):LINE(0,-WY)-(0,WY) 50 DEF FNF(X)=A*X*X+B*X+C 60 INPUT "ケイスウ a,b,c";A,B,C 70 FOR X=-WX TO WX STEP .01 80 Y=FNF(X) 90 PSET(X,-Y) 100 NEXT X 110 END
10 CLS 3 20 W=10:L=320/W 30 LINE(0,200)-(639,200):LINE(320,0)-(320,399) 40 DEF FNF(X)=A*X*X+B*X+C 50 INPUT "ケイスウ a,b,c";A,B,C 60 FOR X=-W TO W STEP .01 70 Y=FNF(X) 80 M=L*X+320:N=-L*Y+200 90 PSET (M,N) 100 NEXT X 110 END
WX=10:WY=10 SET WINDOW -WX,WX,-WY,WY REM SET AXIS COLOR 1 REM DRAW axes PLOT LINES:-10 ,0 ;10,0 PLOT LINES:0 ,10 ;0,-10 DEF F(X)=A*X*X+B*X+C INPUT "ケイスウ a,b,c";A,B,C FOR X=-WX TO WX STEP .01 Y=F(X) PLOT X,Y NEXT X END
命 令 | F- BASIC | V- BASIC | BASIC 98 | N88 互換 | 十進 BASIC |
---|---|---|---|---|---|
NEW | × | × | ○ | × | × |
AUTO | × | × | ○ | × | × |
LIST | × | × | ○ | × | × |
FILES | × | × | ○ | × | × |
RUN | △ | × | ○ | ○ | × |
SAVE | × | × | ○ | × | × |
LOAD | × | × | ○ | × | × |
○ | ○ | ○ | ○ | ○ | |
LPRINT | ○ | × | ○ | ○ | × |
INPUT | ○ | × | ○ | ○ | ○ |
REM | ○ | ○ | ○ | ○ | ○ |
LET | ○ | ○ | ○ | ○ | ○ |
GOTO | ○ | ○ | ○ | ○ | ○ |
IF...THEN... ELSE | ○ | ○ | ○ | ○ | ○ |
FOR...TO... STEP...NEXT | ○ | ○ | ○ | ○ | ○ |
GOSUB... RETURN | ○ | ○ | ○ | ○ | ○ |
DEF FN | ○ | × | ○ | ○ | △ |
READ... DATA | ○ | × | ○ | ○ | ○ |
DIM | ○ | ○ | ○ | ○ | ○ |
DEFDBL | ○ | ○ | ○ | ○ | ○ |
LOCATE | ○ | × | ○ | ○ | ○ |
RANDOMIZE | ○ | ○ | ○ | ○ | ○ |
RND | ○ | ○ | ○ | ○ | ○ |
STOP | ○ | ○ | ○ | ○ | ○ |
END | ○ | ○ | ○ | ○ | ○ |
CLS | ○ | △ | ○ | ○ | ○ |
SCREEN | △ | × | ○ | ○ | × |
WINDOW | ○ | × | ○ | × | △ |
VIEW | ○ | × | ○ | × | × |
LINE | ○ | ○ | ○ | ○ | △ |
PSET | ○ | ○ | ○ | ○ | △ |
CIRCLE | ○ | ○ | ○ | ○ | × |
PAINT | ○ | × | ○ | ○ | × |
ラベル | *AAAA | AAAA: | *AAAA | *AAAA | なし |
行番号 | ○ | △ | ○ | ◎ | ○ |
関 数 | F- BASIC | V- BASIC | BASIC 98 | N88 互換 | 十進 BASIC |
---|---|---|---|---|---|
LOG(X) | ○ | ○ | ○ | ○ | ○ |
EXP(X) | ○ | ○ | ○ | ○ | ○ |
ABS(X) | ○ | ○ | ○ | ○ | ○ |
SQR(X) | ○ | ○ | ○ | ○ | ○ |
SGN(X) | ○ | ○ | ○ | ○ | ○ |
SIN(X) | ○ | ○ | ○ | ○ | ○ |
COS(X) | ○ | ○ | ○ | ○ | ○ |
TAN(X) | ○ | ○ | ○ | ○ | ○ |
INT(X) | ○ | ○ | ○ | ○ | ○ |
XMODY | ○ | ○ | ○ | ○ | ○ |
X\Y | ○ | ○ | ○ | ○ | ○ |
クラスの特徴 | 3年生の数学C選択2単位33名のクラス。
主に理系大学を目指す生徒中心のクラスである。 全員初めてBASICを習う。
|
使 用 教 材 | 新編数学C (数研出版)
|
目 標 | 前出のプログラムを理解する。曲線のグラフを描く。
|
総授業時数 | 年間5から6時間くらい実施する予定。 |
使 用 機 器 | 教師用:NEC PC-9801CE 1台 生徒用:NEC PC-9801CE 20台 |
ソ フ ト | OS:Windows3.1 DOS−BASIC |
例題 (1) (20+25)2×15÷6 (2) SIN45° (3) PRINT INT(-7/2)
1. (5+10)/6+4
2.PRINT (8-SQR(196))^2
3. SIN220°
4. PRINT(20/(8-2))^3
5. プログラム例)三角形の面積
10 REM SANKAKUKEI20 INPUT A30 INPUT B40 LET S=A*B/250 PRINT S70 END
10 REM KYUU 20 INPUT R 30 V= 4/3*3.14*R^3 40 S=4*3.14*R^2 50 PRINT V 60 PRINT S 70 END
10 REM TAIHEN NO NAGASA 20 INPUT "KAKU" ;A 30 M=12;N=15 40 X=A*3.14159/180 50 Y=M^2+N^2-2*M*NCOS(X) 60 PRINT "BC=";SQR(Y) 70 END
10 REM 1,2,3... 20 N=0 30 N=N+1 40 PRINT N 50 IF N<50 THEN GOTO 30 60 END
10 REM 1から100までの和 20 S=0 30 N=0 40 N=N+1 50 S=S+N 60 IF N<100 THEN GOTO 40 70 PRINT S 80 END
10 REM 1から100までの和 20 S=0 30 FOR N=1 TO 100 STEP 1 40 S=S+N 50 NEXT N 60 PRINT S 70 END
5)5回目 2次関数を描いてみよう
6)6回目 いろいろな曲線(曲線の媒介変数表示)を描いてみよう。
10〜40省略 前出 50 PAI=3,14159 60 DEF FNF(T) = T-SIN(T) 70 DEF FNG(T)=1-COS(T) 80 FOR T-2*PAI TO 2*PAI STEP .01 90 X=FNF(T):Y=FNG(T) 100 PSET(X,-Y) 110 NEXT T 120 END
プログラム カ−ドリ−ド
1. #include "f1a0Lww3.bi" ‘WINDOWS3.1用のライブラリ− 2. "カ−ド枚数の最大値を入力して下さい";NZ 3. open "(1)a:\fbwin\testbin\vcard.dat" for as #2 ‘出力ファイルのopen 4. field #2,1 as 5. dim A$(64) 6. for J=1 to NZ ‘この繰り返しでカ−ドをNZ枚または空になるまで読み込む。 7. *MAIN ‘カ−ドを1枚読み込む処理 8. open "com0:" as #1 ‘RS232CのOPEN 9. print #1,chr$(63),chr$(13); ‘カード1枚読み込み 10. A$(1)=input$(1,#1) ‘1文字読み込み 11. if A$(1) < > "0" then goto *ERR ‘エラ−処理へ 12. print #1,chr$(16);chr$(65);chr$(13); ‘Aモ−ド 13. print #1,chr$(54);chr$(13);'*****60欄対応 14. locate 5,2 15. KEN =KEN+1 ‘カ−ド枚数カウント 16. print KEN"件" ‘カ−ド枚数をディスプレイに出力 17. for I=1 to 60 ‘1枚のカ−ド60文字分をA$(60)へ読み込む 18. A$(I)=input$(1,#1) 19. next I 20. ' 21. for K=1 to 64 ‘A$(60)-->MOJI$(64)へ 22. rset MOJI$=A$(K) 23. put #2 ‘1枚のデ−タをディスクファイルへ出力 24. next K 25. close #1 ‘RS232CのCLOSE 26. next J 27. close #2 28. stop 29. end ‘正常終了 30. *ERR 31. close #1 32. if A$(1) < "0" then goto *OWARI 33. if A$(1) > "5" then goto *OWARI 34. If (A$(1) = "5") or(A$(1)= "2") then 35. input "カ−ドをいれて継続は Y 終了は Xを入力して下さい";K$ 36. if (K$="Y")or(K$="y")or(K$="ノ") then 37. erase A$ : dim A$(64) : goto *MAIN ‘さらに継続するときはMAINへ 38. endif 39. endif 40. *OWARI ‘異常終了 41. print "STATAS CODE = ",A$(1) 42. print "dec",asc (A$(1)) 43. print "HEX",hex$(asc(A$(1))) 44. close #2 45. stop 46 end
「参考ホ−ムペ−ジ」