問題
次の擬似言語プログラムを実行したとき、変数countの値はいくつか。 整数型の配列: data ← {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 整数型: count ← 0 整数型: i ← 1 while (i ≦ 10) if (data[i] mod 3 = 0) count ← count + 1 endif i ← i + 1 endwhile
選択肢
- 1ア 2
- 2イ 3
- 3ウ 4
- 4エ 5
正解
2. イ 3
詳しい解説を見る解説を閉じる
解説
正解はイ。このプログラムは、配列data(1〜10)の要素のうち3で割り切れるもの(data[i] mod 3=0)の個数を数えるカウンタ処理である。順に判定すると、3(3÷3=1余り0)、6(6÷3=2余り0)、9(9÷3=3余り0)の3個が条件を満たし、それ以外の要素は余りが1か2となるため該当しない。よってcount=3である。アの2は数え漏れ、ウの4は数え過ぎ、エの5は1〜10の奇数(または偶数)の個数と混同した誤りである。基本情報の科目Bでは、条件を満たす要素の個数を数える処理は頻出の基本パターンであり、mod(剰余)演算による倍数判定と組み合わせて出題されることが多い。「n mod k=0ならばnはkの倍数」という判定式は確実に押さえておきたい。
一問一答
科目A 180問+科目B 60問