基本情報技術者試験の公開問題を解こう!(令和7年度・科目B)(05)「理論度数」

ITの基礎

基本情報技術者試験の令和7年度の公開問題(科目B)を解こう。

今回のテーマは、「理論度数」である。

令和7年度 基本情報技術者試験 科目 B 公開問題 問5

正解:オ

この問題は、一見すると「統計学(理論度数)?」と身構えてしまうが、実はアルゴリズム(擬似言語)を1行ずつ読み解くだけで解ける問題である。

問題の概要をつかむ

この問題は、表1の「実測値」を元に、表2の「理論度数」を計算するプログラムの動きを追いかけるものである。

表1:実際の集計結果(data)

まず、計算の元になる表1の合計値を出しておこう。これが計算のヒントになる。

病気Xにかからなかった病気Xにかかった合計(行の和)
予防接種あり82688
予防接種なし58866
合計(列の和)14014154 (総計)

プログラムの計算式を読み解く

プログラムの中核は、この1行になる。

result[r, c] ← (dataの行番号rの要素の和) × (dataの列番号cの要素の和) ÷ t

ここで、$t$ は「dataの要素の和」なので、全体の合計である 154 である。

つまり、計算式はこうなる。

$$\text{理論度数} = \frac{(\text{その行の合計}) \times (\text{その列の合計})}{\text{全体の合計}}$$

実際に計算してみよう!

空欄の ab を計算していこう。

空欄 a の計算

a は「1行目・1列目」の位置にある。

  • 1行目の合計:88
  • 1列目の合計:140
  • 全体の合計 ($t$):154

$$a = (88 \times 140) \div 154$$

$88$ と $154$ はどちらも $22$ で割れる。
($88 \div 22 = 4, 154 \div 22 = 7$)
電卓の使用が認められない試験のため工夫が必要。

$$a = (4 \times 140) \div 7 = 4 \times 20 = \mathbf{80}$$

空欄 b の計算

b は「2行目・2列目」の位置にある。

  • 2行目の合計:66
  • 2列目の合計:14
  • 全体の合計 ($t$):154

$$b = (66 \times 14) \div 154$$

$14$ と $154$ に注目すると、$154 \div 14 = 11$ である。

$$b = 66 \div 11 = \mathbf{6}$$


答えの選択

  • a = 80
  • b = 6

解答群を見ると、この組み合わせは となる。


初学者へのアドバイス

科目Bのこのタイプ(表と連動する問題)を解くコツは2つである。

  1. 「行の和」「列の和」「全体の和」を先に余白に書く
    プログラムを読み始める前に、表の端っこに合計値を書き込むだけで、その後の計算スピードが格段に上がる。
  2. 全部計算しようとしない
    今回は、すべてのマスの理論度数を出す必要はない。問われている $a$ と $b$ に対応する行と列だけを見ればOKである。

ワンポイントメモ

ちなみに、この計算式は統計学の「独立性の検定」で使われる「期待度数」を求める式そのものである。しかし、その知識がなくても、「擬似言語を式に変換する力」があれば確実に得点できる。

コメント

タイトルとURLをコピーしました