-------------------------------------------------------
以下の リストAとBそれぞれについて、以下の問いに答えよ。
リストA.(数学I.A 第5問)
10 INPUT N
20 A=0
30 B=1
40 A=A+1
50 B=B*2
60 IF B<N THEN GOTO 40
70 PRINT "A=";A," B=";B
80 END
リストB.(数学II.B 第5問)
110 INPUT "a=";A
120 B=INT(A/2+1)
130 FOR X=B TO A
140 Y=A*X/(2*X-1)
150 IF Y=INT(Y) THEN PRINT "y=";Y
160 NEXT X
170 END
(1) これらのリストは ANSI Minimal BASIC に対する規格合致プログラムと
なっているか。規格合致でなければ、合致するよう最小限の変更を施した
リストを示せ。
(2) これらのリストは ANSI Full BASIC に対する規格合致プログラムと
なっているか。規格合致でなければ、合致するよう最小限の変更を施した
リストを示せ。
------------------------------------------------------------------------------
かべ@dais.is.tohoku.ac.jp VEGA Systems MCMXCI
「自分はレーサーだっていうのかい? たいしたことないじゃないか。」
------------------------------------------------------------------------------
自己答案。
>> (1) これらのリストは ANSI Minimal BASIC に対する規格合致プログラムと
>> なっているか。規格合致でなければ、合致するよう最小限の変更を施した
>> リストを示せ。
いずれも規格合致でない。
>> リストA.
10 INPUT N
20 LET A=0
30 LET B=1
40 LET A=A+1
50 LET B=B*2
60 IF B<N THEN 40
70 PRINT "A=";A," B=";B
80 END
>> リストB.
100 PRINT "A=";
110 INPUT A
120 LET B=INT(A/2+1)
130 FOR X=B TO A
140 LET Y=A*X/(2*X-1)
150 IF Y<>INT(Y) THEN 160
155 PRINT "Y=";Y
160 NEXT X
170 END
>> (2) これらのリストは ANSI Full BASIC に対する規格合致プログラムと
>> なっているか。規格合致でなければ、合致するよう最小限の変更を施した
>> リストを示せ。
いずれも規格合致でない。
>> リストA.
10 INPUT N
20 LET A=0
30 LET B=1
40 LET A=A+1
50 LET B=B*2
60 IF B<N THEN GOTO 40
70 PRINT "A=";A," B=";B
80 END
>> リストB.
110 INPUT PROMPT "a=":A
120 LET B=INT(A/2+1)
130 FOR X=B TO A
140 LET Y=A*X/(2*X-1)
150 IF Y=INT(Y) THEN PRINT "y=";Y
160 NEXT X
170 END
解説:
Minimal BASIC の規格合致プログラムでは
* LETは省略できません。
* 英小文字は使えません。
* INPUT文のプロンプトは付けられません。
* THENの直後には行番号しか書けません。
Full BASICでは
* LETは省略できません。
* INPUT文のプロンプトは PROMPT句を用います。
学校で教えられる BASIC が標準BASIC でないのは周知の事実みたいですから
ここで騒いでもしゃーないですが。
#処理系が入手しづらいのが最大の原因でしょう