CO-P01|情報Ⅰ 対策問題
次のプログラムは、5人のテストの点数から、条件を満たす点数だけを集計する。実行したとき、表示される値はどれか。 (1) Tokuten = [40, 70, 55, 90, 65] (2) goukei = 0 (3) kosu = 0 (4) i を 0 から 4 まで 1 ずつ増やしながら繰り返す: (5) | もし Tokuten[i] >= 60 ならば: (6) | | goukei = goukei + Tokuten[i] (7) ⎿ ⎿ kosu = kosu + 1 (8) 表示する(goukei ÷ kosu) ※ ÷は整数の商。配列の添字は0から始まる。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
条件付き集計のトレース(60点以上の平均) — 第3問で最も基本となる「選んで集計する」型です。
解説
このプログラムは、配列 Tokuten の中から60点以上の要素だけを選び、合計(goukei)と個数(kosu)を数えて、最後に「合計÷個数」つまり平均を表示します。(5)の「もし Tokuten[i] >= 60 ならば」が関門になっていて、条件を満たした要素だけが(6)(7)で加算・カウントされます。
変数の値の変化を1ステップずつトレースします。
i=0のとき: Tokuten[0]=40。40>=60 は偽なので何もしない。goukei=0、kosu=0。
i=1のとき: Tokuten[1]=70。70>=60 は真。goukei=0+70=70、kosu=1。
i=2のとき: Tokuten[2]=55。55>=60 は偽。goukei=70、kosu=1 のまま。
i=3のとき: Tokuten[3]=90。真。goukei=70+90=160、kosu=2。
i=4のとき: Tokuten[4]=65。真。goukei=160+65=225、kosu=3。
ループ終了後、(8)で goukei ÷ kosu = 225 ÷ 3 = 75 を表示します。
よくあるミスは、条件を無視して全5個の平均(320÷5=64)を出してしまうことです。この問題のように合計用と個数用の2つの変数が同時に動くときは、紙にトレース表(iとgoukeiとkosuの3列)を書き、1周ごとに両方の値を更新するのが確実です。40と55が一度も加算されないことも表の上で確認できます。
共通テストでは、成績集計やアンケート集計を題材に「条件を満たすものだけを合計・カウントして平均を出す」処理が繰り返し出題されます。トレースを始める前に、表示直前の式(goukei ÷ kosu)を見て「最終的に何と何の割り算をしたいのか」を確認しておくと、途中で目的を見失いません。
選択肢の確認
1.○ 60以上の3個(70,90,65)の合計225を、個数3で割って75。
2.× 64は全5個の平均(320÷5)。(5)の条件判定を無視すると出る値。
3.× 225は割る前の合計(goukei)。最後の(8)の割り算を忘れた値。
4.× 3は個数(kosu)。表示されるのは商の方。
ここだけは覚えよう
条件付き集計は「合計」と「個数」の2変数を同時にトレース — 平均=合計÷個数を最後に必ず確認。