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

●問題
第6問 (選択問題) (配点 20)
正の整数a1 , a2 , c が与えられたときに、s1=a1とし

si=si-1+ai* * * (1)
ai+2=ai+1+ ( si / c  の整数部分 )* * * (2)

によって得られる数の列 a3 , a4 , ... , anを表示させるために、 次のようなプログラムを作ってみた。
以下のプログラムをにおいてINT(X)はXを超えない最大の整数を与える関数である。

100 INPUT "a1,a2,c=";A,B,C
110 INPUT "n=";N
120 S=A
130 FOR J=3 TO N
140     A=B+INT(S/C)
150     PRINT "a(";J;")=";A
160     B=A
170     S=S+A
180 NEXT J
190 END
このプログラムが意図どおり動作するか確かめてみる。

(1) このプログラムを実行し、a1,a2,c=? に対して1,1,1 を入力し、 n=? に対して 6 を入力すると

a( 3 )= [ア]
a( 4 )= [イ]
a( 5 )= [ウエ]
a( 6 )= 34

が表示される。また、a( 6 ) が表示される直前の S の値は[オカ]である。

(2) 次に、定義の式(1)、(2)に従って計算してみる。
a1=1 , a2=1 , c=1 とすると
       a3=[キ] , a4=[ク] , a5=[ケ] , a6=[コサ] , ...
となる。

(3) (1),(2)よりプログラムのどこかに誤りがあることが分かった。このプログラムの160行、 170行を修正して、はじめに意図したように動かしたい。
130 FOR J=3 TO N
140     A=B+INT(S/C)
150     PRINT "a(";J;")=";A
160     [シ]
170     [ス]
180 NEXT J
の[シ]、[ス]に当てはまるものを、次の(0)から(9)のうちから一つずつ選べ。

(0) A=B(1) B=A(2) A=A+1(3) B=B+1
(4) S=S+A(5) S=S+B(6) S=A(7) S=A+B
(8) S=S+1(9) S=B+1


(4) (3)のように修正したプログラムを実行し、a1,a2,c=?に対して 1,1,2を、 n=?に対して 6 を入力するとき、a( 6 )が表示される直前のBの値は[セ]である。
●問題の急所
「**を入力すると、---が表示される」タイプは実験あるのみ

このように、何回か繰り返す場合、実験すると効果的です。 ここでは、変数A,B,Sの値をトレース(追跡)します。 なお、Cの値は変化しないので省略。

状態JABS
初期値-111
1回目3223
2回目4558
3回目5131321
4回目6343455

上の表から、a(3)=2,a(4)=5,a(5)=13となります。 また、a(6)が表示される直前のSの値( S(5)の値 )は、21と分かります。 なぜなら、140行でA(J)への代入をし、150行でA(J)の値を表示しているからです。(以上[ア]-[オカ]の解答)

中には単なる計算問題もある

[キ]-[コサ]までは、「定義に従って計算せよ」と指示されているので、指示通り計算すればよいです。すると、[キ]=2,[ク]=4,[ケ]=8,[コサ]=16と求まります。

変数の役割を理解せよ

与えられた変数がどんな役割をするのか、確認してみましょう。 問題文の定義の式(1),(2)とプログラム中の変数の対応を考えると、 Aはai+2,Bはai+1,SはSiのことと分かります。 これを考慮してプログラムを読んでみましょう。 まず、120行ですが、これはs1=a1を意味しています。 140行は、定義の式(2)にあたります。

再びトレースしてみよう
(3)の答を出すために、定義に従った場合を考えよう。Aはai、Bはai+1、SはΣAi(i=1->J)を表します。ここでのポイントは、それぞれの変数が何のことを示しているか、です。
状態JABS
初期値-1(=a1)1(=a2)1(=S1)
-----2122
1回目3244
2回目4488
3回目581616
4回目6163232
上の表から、160行の和についての操作を考えると、S=S+Bが適切。たとえば、J=3のときを考えればわかります。 次に、B=A(つまり、いままでのai+2をai+1と改めること)は正しいことがわかります。
●解答
20点満点です。
空所の記号解答配点
22
52
ウエ132
オカ212
21
41
81
コサ161
53
13
32

▲このページの一番上へ|△戻る

 Copyright© 2002-2003 Home , All rights reserved.