問題
次の擬似言語プログラムを実行したとき、変数countの最終的な値はいくつか。 整数型の配列: data ← {2, 7, 3, 9, 5, 8, 1} 整数型: count ← 0 整数型: i ← 1 while (i ≦ 7) if (data[i] > 5) count ← count + 1 endif i ← i + 1 endwhile
選択肢
- 1ア 2
- 2イ 3
- 3ウ 4
- 4エ 5
正解
2. イ 3
詳しい解説を見る解説を閉じる
解説
配列dataの7要素を順に走査し、5より大きい要素が見つかるたびにcountを1増やす集計処理である。各要素を判定すると、2(×)、7(○)、3(×)、9(○)、5(×)、8(○)、1(×)となり、条件を満たすのは7、9、8の3個である。よってcount=3でイが正解である。最大の注意点は5番目の要素5の扱いで、条件は「5より大きい(>)」であるため5自身は数えない。「5以上(≧)」と誤読すると4個となり、ウの4を選んでしまう。ウはまさにこの誤りを狙ったひっかけ選択肢である。比較演算子が「より大きい」なのか「以上」なのかを正確に読み取ることは、科目Bのトレース問題で最も多い失点ポイントの一つであり、必ず条件式を指差し確認する習慣をつけたい。
一問一答
科目A 180問+科目B 60問