問題
次の擬似言語プログラムを実行したとき、変数resultの値はいくつか。 整数型: result ← 0 整数型: i ← 1 while (i ≦ 10) if (i mod 2 = 1) result ← result + i × i endif i ← i + 1 endwhile
選択肢
- 1ア 25
- 2イ 55
- 3ウ 165
- 4エ 385
正解
3. ウ 165
詳しい解説を見る解説を閉じる
解説
このプログラムはiを1から10まで動かし、i mod 2 = 1すなわちiが奇数のときだけresultにi×iを加算する。対象となるのは1・3・5・7・9であり、途中式は1×1=1、3×3=9、5×5=25、7×7=49、9×9=81、合計1+9+25+49+81=165となる。よってウが正解である。アの25は5×5の1項だけを見た誤り、イの55は二乗せずに1〜10の総和(1+2+…+10)を求めた値、エの385は奇数の条件を無視して1〜10すべての二乗和を計算した値であり、いずれもif文の条件の読み落としや演算の取り違えによる誤答である。頻出ポイント:mod(剰余)による偶奇判定とループ範囲の正確なトレースは科目Bの最頻出パターンであり、表を書いて変数の変化を追う習慣を付けるとよい。
一問一答
科目A 180問+科目B 60問