基本情報技術者試験のサンプル問題を解こう!(6)(科目B)「FizzBuzzのプログラム」

スポンサーリンク
IT系

基本情報技術者試験のサンプル問題(科目B)を解いてみよう。

今回のテーマは、「fizzBuzzのプログラム」である。

正解:ウ

選択肢の条件を満たす必要がある順番

以下の順序でチェックしなければならない。

  1. a: 3と5の両方で割り切れる(つまり15で割り切れる)
  2. b: 3だけで割り切れる
  3. c: 5だけで割り切れる

その理由は、

  • 例えば、15の場合は、3でも5でも割り切れるが、単に「3で割り切れる」「5で割り切れる」だけの条件が先に来ると、例えば、「5で割り切れる」という条件にも合致するので、「5で割り切れる」を返して処理を終了してしまう。
  • したがって、一番最初「3と5で割り切れるか」チェックすべきである。

このルールに従って、選択肢を確認すると、

a = 3と5 → 両方で割り切れる条件が最優先。
b = 3 → 次に3だけの判定。
c = 5 → 最後に5だけの判定。

正解は「ウ」となる。

なお、bに3が入ると、cには5が入り、bに5が入ると、cには3が入る。
すなわち、正解には2パターンある。
ところが、aに「3と5」が入ると、解答群には、bに3が入り、cには5が入るしか選択肢はない。

このように、最も厳しい条件(両方で割り切れる)から順に、if → elseif → elseifと並べていくのがポイントとなる。

コメント

タイトルとURLをコピーしました