(1)[ア]-[オ]に適するものを、次の 0-7のうちから選べ。
- Aを入力する
- Bを出力する
- AにBを代入する
- BにAを代入する
- Aは負か
- Bは負か
- AはBより大きいか
- AはBより小さいか
この流れ図での記号の意味
記号 | 意味 |
---|---|
平行四辺形 | 入出力 |
長方形 | 処理 |
ひし形 | 条件判断 |
- プログラムの特徴を見つけよ
問題文に「最後に負の数を入力し、 入力された数のうち最大のものを出力する」とありますから、「負の数を入力したら、Bを表示してプログラムが終了する」ことが分かります。ここから、[イ]=4、[オ]=1と分かります。
- 変数の役割を理解せよ
このプログラムでは、 ユーザーが入力した数値のうち最大のもの(以下、最大値)について考えています。 従って、変数Bと変数A(=新たに入力された値)の大小を考えればよいことになります。
さらに、与えられた流れ図には「条件判断=(IF文を用いればよいのは明らか)」は[イ]と [ウ]の2つ、そのうち[イ]は埋まりましたから、残りは[ウ]だけです。 従って、必然的に[ウ]にはAとBの大小を比べる趣旨のものを入れればよいと分かります。(つまり6か7が入る)
Bには常に「入力されたもので最大の値」を納めるので、B<Aであれば、Bの値を更新する必要があります。 Bの値の更新は、代入文「B=A」でできます。 したがって、[ウ]=6、[エ]=3です。
- 与えられた問題文、図、表などを活かせ
上では変数の役割から考えていきましたが、[ウ]と[エ]に関しては与えられたものを活用して考えることもできます。
まず、[エ]の空欄は「処理」ですから、2か3以外有り得ません。 次に意味を考えて[ウ]と[エ]を同時に入れます。 [ウ]と[エ]の組み合わせは[ウ]=6,[エ]=3か、[ウ]=7,[エ]=2などが考えられますが、 Bには最大値が入っていなければいけませんから、前者の組が答え。
- センター試験はトラップの山!
(2)について考えてみましょう。
Bに0を代入していることに注意。あとは素直に目で追って繰り返していけば[カ]、[キク]はすぐに分かる。最後には変数Bの値が出力されるのだから、[キク]=99は明らかである。
[エ]の実行される回数=([ウ]の条件が満たされる回数)です。要は、(前に入力した数)<(次に入力した数)であれば[エ]は1回実行されます。ここで、入力された数の大小を考えてみると、
(0 <) 15 > 13 < 16 = 16 < 20 > 1 < 99 > 19ですから、[カ]=4とわかります。[カ]は3ではありません。というのも、[ウ]ではAとBの大小を判定しており、最初の1回(0と15の比較)を考えなければならないからです。
空所の記号 | 解答 | 配点 |
ア | 0 | 3 |
イ | 4 | 3 |
ウ | 6 | 3 |
エ | 3 | 3 |
オ | 1 | 3 |
カ | 4 | 4 |
キク | 99 | 1 |
カ は3と解答している人が多いと考えたのか、配点が重くなっています。