容器の中に、ある種の細菌が1個入っている。この細菌は1分たつと分裂して2個に増える。つま
り1分後には2個,2分後には4個,3分後には8個…と増えていく。整数Mを1つ読み込んで
M分後の細菌の数を出力するプログラムをつくりたい。以下のフローチャートの空欄
ウに入る最も適当なものを,次ののうちから一つずつ選べ。ただし,
の解答の順序は問わない。
⑩t と M が等しい
イ
ア
ウ
① tがMより大きい
② t
tがMより小さい
e
N=N-1
④N=N+1
(5)
N=N×2
⑥N=N÷2
⑦ t=t+1
t=t-1
⑨ t=t×2
お替
はじめ
何分後かを入力する : M
最初の細菌数 N = 1
計算中の時間(分) t=0
Yes
アド
No
結果 N を表示する
解説
最初の操作から,Mは細菌の数を考える時間, Nは細菌の数, tは計算中の時間を表しているこ
とが分かる。続いて、 条件分岐内のアに関しては, Yes の場合、 結果を表示することから,計
算した時間がM と一致しているか否かの判断をしていると考えられる。このため,◎の「t と
Mが等しい」が正答である。続いて, イ, ウに関しては,細菌の数を増やし、計算中の時間を
増やすという操作を行う必要がある。細菌の数は,1分経過するごとに2倍になるため、⑤の「N
=N×2」が正答である。また,計算中の時間は,分岐を通るたびに, 1分加算する必要がある
ため, ⑦の 「t=t+1」が正答である。
答: アイ,ウ⑤⑦ (順不同)