令和7年試験問題 [科目B]問5
問5解説へ
次の記述中のaとbに入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。
予防接種の病気Xに対する予防効果を調査するために集めたデータの集計結果を基に,病気Xにかかるかどうかが,予防接種の有無に影響されないと仮定した場合の人数を計算する。この人数を理論度数という。表1に集計結果の例を示し,表2に表1を基に計算した理論度数を示す。
関数 f は,引数 data で受け取った集計結果を基に計算した理論度数を返す。引数と戻り値は二次元配列で,その行が表の行,その列が表の列に対応する。
〔プログラム〕
予防接種の病気Xに対する予防効果を調査するために集めたデータの集計結果を基に,病気Xにかかるかどうかが,予防接種の有無に影響されないと仮定した場合の人数を計算する。この人数を理論度数という。表1に集計結果の例を示し,表2に表1を基に計算した理論度数を示す。
関数 f は,引数 data で受け取った集計結果を基に計算した理論度数を返す。引数と戻り値は二次元配列で,その行が表の行,その列が表の列に対応する。



正解 オ問題へ
分野:アルゴリズムとプログラミング
カテゴリ:プログラミングの諸分野への適用
カテゴリ:プログラミングの諸分野への適用
広告
解説
引数 data は二次元配列であり、行が表の行、列が表の列に対応するとあるので、表1の集計結果は以下の二次元配列として表現されます。
〔aについて〕
空欄aは1行1列に位置しますから、次のように計算できます。
〔bについて〕
空欄bは2行2列に位置しますから、次のように計算できます。
したがって、a=80、b=6 となる「オ」の組合せが正解となります。
data = {
{82, 6}, //1行目
{58, 8} //2行目
}
表の各セルに入る値は、rを行番号、cを列番号として以下の式で求めることができます。{82, 6}, //1行目
{58, 8} //2行目
}
(dataの行番号rの要素の和)×(dataの列番号cの要素の和)÷t
t = dataの要素の和
t = dataの要素の和
〔aについて〕
空欄aは1行1列に位置しますから、次のように計算できます。
- dataの行番号1の要素の和:82 + 6 = 88
- dataの列番号1の要素の和:82 + 58 = 140
- t:82 + 6 + 58 + 8 = 154
- (88 × 140) ÷ 154 = 80
〔bについて〕
空欄bは2行2列に位置しますから、次のように計算できます。
- dataの行番号2の要素の和:58 + 8 = 66
- dataの列番号2の要素の和:6 + 8 = 14
- t:154
- (66 × 14) ÷ 154 = 6
したがって、a=80、b=6 となる「オ」の組合せが正解となります。
広告