手続 calcMod3を呼び出したときの出力はどれか。

- ア. 2
- イ. 3
- ウ. 7
- エ. 9
【答え】エ
【解説】
これは(i ÷ 3)の余りが0になるときに、totalValueにそのときの i の値を加算するというプログラムです。もっとも単純な解法はトレース表を作成して、iを1から7まで1ずつ増やしていった結果を見ていく方法です。
iの値 | (i ÷ 3)の余り | totalValueの値 |
---|---|---|
1 | 1 | 0 |
2 | 2 | 0 |
3 | 0 | 0+3=3 |
4 | 1 | 3 |
5 | 2 | 3 |
6 | 0 | 3+6=9 |
7 | 1 | 9 |
よって、出力されるtotalValueの値は「9」となります。
以上より、正解はエ.となります。
別の解き方
「(i ÷ 3)の余りが0と等しい」ということは、「iが3の倍数」であることを意味しています。
→「i = 1 〜 7」の中で3の倍数となるのは、 i = 3 と i = 6
→つまり、加算対象は 3 と 6 のみ
→totalValue = 3 + 6 = 9

※本問は自分で考えて解く応用的な問題なので、用語の丸暗記のみでは対応できません。