さ み だ れ 雑 記 | 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のうちから選び、については行番号をいれて、プログラムを完成せよ。
(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!
答えはここをクリック。です。
ではでは。