次の手続を実行した後の変数xの値はいくらか。ここで、mod は割り算の余りを求める演算子である。
x ← 0
i を 1 から 10 まで 1 ずつ増やしながら、次を繰り返す
もし i mod 3 = 0 ならば
x ← x + i
繰返しの終わり
- ①9
- ②18
- ③30
- ④55
答えと解説を見る
i mod 3 = 0 は「iが3で割り切れる」という条件です。iが1から10まで変わる間に、この条件を満たすのは i=3、6、9 の3回だけです。
i=3:x = 0 + 3 = 3
i=6:x = 3 + 6 = 9
i=9:x = 9 + 9 = 18
したがって、繰返しが終わった後のxは18です。
他の選択肢が不適切な理由
・9:「x ← x + i」を「x ← i」と読み、最後に条件を満たした i=9 だけが残るとした誤りです。
・30:繰返しの範囲を12までと読み、12も加えた値(3+6+9+12)です。
・55:条件を無視して、1から10までを全て加えた値です。
覚え方のポイント
条件付きの繰返しは、「条件を満たすときだけ処理が動く」ことに注意して、変数の値を1回ずつ表に書き出して追うのが確実です。