理論度数を求める処理【基本情報技術者試験 科目B 公開問題】

令和7年度 基本情報技術者試験 公開問題 科目B 問5のブログのアイキャッチ画像 科目B 公開問題
広告

← 科目Bの公開問題一覧へ戻る

 基本情報技術者試験の科目Bの公開問題を題材に,理論度数を求める処理について学習します。この問題では,二次元配列の行と列の合計を利用して,理論度数を求める処理を確認します。

広告

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

 次の記述中の   a    b   に入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。

 予防接種の病気Xに対する予防効果を調査するために集めたデータの集計結果を基に,病気Xにかかるかどうかが,予防接種の有無に影響されないと仮定した場合の人数を計算する。この人数を理論度数という。表1に集計結果の例を示し,表2に表1を基に計算した理論度数を示す。

 関数 f は,引数 data で受け取った集計結果を基に計算した理論度数を返す。引数と戻り値は二次元配列で,その行が表の行,その列が表の列に対応する。

「令和7年度 基本情報技術者試験 公開問題 科目B 問5」の問題_画像01
「令和7年度 基本情報技術者試験 公開問題 科目B 問5」の問題_画像02

〔プログラム〕

○実数型の二次元配列: f(実数型の二次元配列: data)

 実数型: t ← dataの要素の和

 整数型: row ← dataの行数

 整数型: col ← dataの列数

 実数型の二次元配列: result ← {row行col列の 未定義の値}

 整数型: r,c

 for (r を 1 から row まで 1 ずつ増やす)

  for (c を 1 から col まで 1 ずつ増やす)

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

           (dataの列番号cの要素の和) ÷ t

  endfor

 endfor

 return result

解答群

a

b

4433
588
707
752
806
808
826

【解答】

【解説】

このプログラムは,集計結果から理論度数を計算する。理論度数は,病気Xにかかるかどうかと予防接種の有無に関係がないと仮定した場合に,各区分に何人いると考えられるかを表す値である。理論度数は,「行の合計 × 列の合計 ÷ 全体の合計」で求める。プログラムでは,dataの行番号rの要素の和と列番号cの要素の和を掛け,t(dataの全体の合計)で割った値を result[r,c] に格納している。data = {{82,6},{58,8}} の場合,tは全体の合計なので,

t = 82 + 6 + 58 + 8 = 154

となり,各要素について「行の合計 × 列の合計 ÷ 全体の合計」を計算すると,

result[1,1] = (82+6) × (82+58) ÷ 154 = 80

result[1,2] = (82+6) × (6+8) ÷ 154 = 8

result[2,1] = (58+8) × (82+58) ÷ 154 = 60

result[2,2] = (58+8) × (6+8) ÷ 154 = 6

となる。よって,resultは {{80,8},{60,6}} となるので,aは80,bは6である。

「令和7年度 基本情報技術者試験 公開問題 科目B 問5」の解答_画像

この問題のポイント

 この問題から学べることは,

  • 二次元配列の行の要素の和を求める方法
  • 二次元配列の列の要素の和を求める方法
  • 「行の合計 × 列の合計 ÷ 全体の合計」で理論度数を求める方法
  • 二重のfor文で二次元配列の各要素を順番に計算する方法

です。特に,二次元配列の各要素について「行の合計 × 列の合計 ÷ 全体の合計」を計算し,resultに格納する処理を理解しておきましょう。

基本情報技術者試験の学習におすすめの参考書

基本情報技術者試験の合格を目指す方におすすめの参考書です。

令和08年 イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室
基礎理論からコンピュータ・ネットワーク・データベースまで、基本情報技術者試験の全範囲をわかりやすく学べる定番テキストです。図解が豊富で、初学者にもおすすめです。

キタミ式イラストIT塾 基本情報技術者 令和08年
イラストを使った解説が特徴の人気参考書です。基礎理論の考え方や計算問題もイメージで理解しやすく、独学学習との相性が良い一冊です。

令和08年 基本情報技術者 合格教本
試験範囲を体系的に学習したい方におすすめの教科書です。基礎理論の各テーマも丁寧に解説されており、理解を深めながら学習を進められます。

学習のお役に立ちましたら

この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。

よろしければ、このサイトを応援いただけますと嬉しいです。

※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。

広告