ホーム>センター実戦コース>1999センター数学IIB 追試験

●問題
第6問 (選択問題) (配点 20)
次のような操作を行うプログラムを作った。
以下のプログラムにおいてINT(X)はXを越えない最大の整数を表し、 P<>QはP≠Qを表す。
100 INPUT "a=";A
110 INPUT "b=";B
120 X=A : Y=B : S=0 : K=1
130 IF X<>[ア]*INT(X/[イ]) THEN S=S+Y
140 PRINT K,X,Y
150 K=K+1 : X=INT(X/2) : Y=2*Y
160 IF X>=1 THEN GOTO [ウエオ]
170 PRINT S
180 END

(1)上の3か所の空欄をうめて、このプログラムを完成せよ。
(2)このプログラムを実行し、a=?に25、b=?に100を入力すると、 画面に[カ]個の行が新たに表示される。そのうち第2行目は
    [キ]    [クケ]    [コサシ]
であり、最終行は[スセソタ]である。
(3)このプログラムを実行し、a=?に256、b=?に35を入力すると、[チツ]個の行が新たに表示される。 そのうち最終行は[テトナニ]である。

(注意 : (2)、(3)において、プログラムの実行終了後に表示されるOk、Readyなどの行は考えない。)
●問題の急所
  1. 変数の役割を理解せよ
    • XとY : 題意の変数
    • K : 一連の処理を繰り返した回数
    • S : 求めたい和
  2. 「**を入力すると、---が表示される」タイプは実験あるのみ
    本問の(2)、(3)のタイプはセンター試験では頻出です。ここでは、実際に実験します。
    (2)ディスプレイに表示されるK,X,Yと、その時のSの値を書きます。本番でも、余白にメモをすればよいでしょう。
    1. K=1,X=25,Y=100,S=100
    2. K=2,X=12,Y=200,S=100
    3. K=3,X=6,Y=400,S=100
    4. K=4,X=3,Y=800,S=900
    5. K=5,X=1,Y=1600,S=2500
    キからシまでは、2行目の値をマークします。最終行には、 最後のSの値が表示されるので、2500とマークします。

    (3)(2)と同様に、ディスプレイに表示されるK,X,Yと、その時のSの値を書きます。
    力ずくで押していくやり方
    1. K=1,X=256,Y=35,S=0
    2. K=2,X=128,Y=70,S=0
    3. K=3,X=64,Y=140,S=0
    4. K=4,X=32,Y=280,S=0
    5. K=5,X=16,Y=560,S=0
    6. K=6,X=8,Y=1120,S=0
    7. K=7,X=4,Y=2240,S=0
    8. K=8,X=2,Y=4480,S=0
    9. K=9,X=1,Y=8960,S=8960
    最終行は10(=9+1)行目になるので、[チツ]=10、 最後のSの値は、8960とマークします。
    気づくと楽なやり方 - 指数に着目しよう

    K=9(=8+1)まで繰り返されることはすぐに分かります。なぜなら、 256=28なので、2で8回割り切れるからです。 また、Xの値が1になるまでは、Xの値は偶数です。 したがって、8回目まではSの値は0のままです。 最後、Y=8960(=35*28)なので、Sは8960となります。

●解答
20点満点。
空所の記号解答配点
23 (*注)
2
ウエオ1303
62
キ,クケ,コサシ2,12,2004 (*注)
スセソタ25003
チツ103
テトナニ89602

(注) 完答のみ点を与える。
△このページの一番上へ|△戻る

 Copyright© 2002-2003 Home , All rights reserved.