第3問(選択問題)(配点 35)
情報関係基礎にはBASICを使用した問題は出題されていませんが、
参考に第3問 問2 登場するアルゴリズムを問題に沿ってプログラム化してみました。
BASIC/98で作成したプログラム
100 '
110 DIM KEKKA1(10) '問題文より
120 '
130 I=0 '(01)
140 FOR K=0 TO 10 : KEKKA1(K)=0 : NEXT K '(01)
150 '
160 INPUT "物体の質量=";X '問題文には登場しません
170 PRINT '
180 '
190 WHILE X>0 '(02)
200 '
210 KEKKA1(I)=X MOD 2 '(03)
220 '
230 X=X\2 '(04)
240 '
250 I=I+1 '(05)
260 '
270 WEND '(06)
280 '
290 FOR J=9 TO 0 STEP -1 '(07)
300 '
310 IF KEKKA1(J)=1 THEN '(08)
320 '
330 PRINT J;"番目の分銅を右の皿に乗せる" '(09)
340 '
350 END IF '(10)
360 '
370 NEXT J '(11)
380 '
390 END
・160行
問題文には登場しませんが、物体の質量をここで入力して下さい。
・190行、270行
ここではWHILE~WEND命令を使用しましたがDO~LOOP命令でも問題ありません。
問題はDOを意識しているともとれますが、BASICではWHILEが使われることが比較的多いので
ここではWHILEを使っています。
・210行
問題文中 % で表記されているあまりを求める割り算は、
BASIC/98の文法ではMOD演算子を使用します。
・230行
問題文中 ÷ で表記されている商の整数部分を求める割り算は、
BASIC/98の文法では\演算子を使用します。
・290行
題意より、こちらのくり返しにはFOR~NEXT命令を使用しました。