35←  home  →37
36 2000年1月9日

お正月はベーシック、だよ(その2)。
 

前回の解答。

なんですが、ミスプリがあったので正解がでません。誠にすみません。1月9日現在で訂正されていますので、よろしければ再度挑戦を・・・。
 

(1)ア:0. イ:4. ウ:6. エ:3. オ:1.

(2)カ:4、キク:99
 

解説

まず考えやすいとこから。

オ:これは1の「Bを出力する」に決まっている

その前のイ:「最後に負の数を入力し」とあるのだから、ここが「Aは負か」である。

その下のウ:「Aが負ではなかったら」だから・・・

う〜ん、ちょっとまて。もう一度、問題文を読んで、と。「変数Aが入力された数を表し、変数Bがそれまでに入力された数のなかえ最も大きい数を表す」んだから、「AとBを比べて、Aが大きかったらAの値をBに代入する」という方針にすればよい。ということは、え〜っと。

エのとこが3の「BにAを代入する」でウが6の「AはBより大きいか」

アは当然、0の「Aを入力する」

できた。

(2)はまず15で1回、あとはそれより多い場合だから、16で2回、20で1回、99で4回。出力されるのは99。
 
 

@@@


次もセンターの問題である。
 
 

平成10年度(本試験)数学I・A問題

第5問 (選択問題) (配点 20)
 

 次のプログラムは2以上の自然数Nを入力したときに、N以上の最小の2の累乗2aを求め、aとb=2aを表示させるものである。変数Aと変数Bがそれぞれaとbとに対応する。

10  INPUT N

20  A=0

30  B=1

40  A=A1

50  B=B2

60 IF BN THEN GOTO 

70 PRINT "A=";A, "B=";B

80 END
 
 

(1)については、当てはまるものを、次の0〜9のうちから選び、については行番号をいれて、プログラムを完成せよ。
 

 
0 +
1 -
2 *
3 /
4 =
5 < >
6 >
7 <
8 >=
9 <=


(2)Nに5を入力したとき、行40は回実行され、画面にはAとしてが表示され、Bとしてが表示される。

(3)Nに1998を入力したとき、画面にはAとしてが表示され、Bとして

が表示される。
 

これは、多少の知識が必要です。

まず、ベーシックは行番号を使います。何故か1,2,3ではなく、10,20,30。

10行目 INPUTは入力です。
20行目 A=0 とは「Aに0を代入する」という意味
30行目 同じく「Bに1を代入」です
40行目 例えばA+1とか、A×1とかの処理をして、それを新しくAに代入する、という意味です。
(1)の選択肢は、表計算ソフトと同じで*が×の記号です。3の/ は「割る」です。
60行目 もし・・・なら・・・行目に行け、さもなければ次の行へ行け、という意味です。
70行目 ””で囲まれた部分はそのまま画面に表示されます。ですから、A=0, B=1の場合、
    画面には「A=0 B=1」と表示されます。
80行目 文字通りプログラムの終わり、です。

この程度の知識で出きると思いますので、Let's Try!
 

答えはここをクリック。です。

ではでは。
 
 

      




35←  home  →37