問題
テクノロジ系
問78 手続 calcMod3 を呼び出したときの出力はどれか。 〔プログラム〕
選択肢
- ア2
- イ3
- ウ7
- エ9
解説
正解:エ
概要
この問題は、繰り返し処理と条件分岐を用いた簡単なプログラムの動作を理解できるかを問うものです。特に、ある条件を満たす数値だけを合計する処理の流れを読み取る力がポイントです。
正解の理由
プログラムでは1から7までの整数を順に調べ、3で割った余りが0、つまり3の倍数の場合だけ合計に加えます。1~7の範囲で3の倍数は3と6です。したがって3+6=9となり、出力される値は9になります。
各選択肢の解説
ア(×): 2はこのプログラムでは出力されません。プログラムは1から7までの整数のうち、3で割った余りが0になる数だけを合計します。対象となるのは3と6なので、合計値は2にはならないため誤りです。
イ(×): 3は3の倍数の一つですが、プログラムでは条件に合う値をすべて加算します。3だけでなく6も条件を満たすため、最終的な合計は3ではなく9になるため誤りです。
ウ(×): 7はループの上限値ですが、7は3で割ると余りが1になるため条件を満たしません。したがって合計には加算されず、出力結果が7になることはないため誤りです。
エ(〇): 1から7までの整数のうち、3で割った余りが0になる数は3と6です。プログラムではこれらを合計するため、3+6=9となります。したがって出力される値は9であり正しいです。
ポイント
プログラム問題では、繰り返し処理の範囲と条件式を確認し、条件に合う値だけを追跡していくことが重要です。特に「余りが0」という条件は倍数を意味することを覚えておきましょう。