四分位数・中央値・最小値・最大値を求める処理【基本情報技術者試験 科目B サンプル問題】

(令和4年度12月公開) 基本情報技術者試験 サンプル問題 科目B 問14のブログのアイキャッチ画像 科目B 公開問題
広告

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

 基本情報技術者試験の科目Bのサンプル問題を題材に,四分位数・中央値・最小値・最大値を求める処理について学習します。この問題では,整列済みの配列から,最小値,第1四分位数,中央値,第3四分位数,最大値を求める処理を確認します。

広告

(令和4年度12月公開) 基本情報技術者試験 サンプル問題 科目B 問14

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

 要素数が1以上で,昇順に整列済みの配列を基に,配列を特徴づける五つの値を返すプログラムである。

 関数 summarize を summarize({0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1}) として呼び出すと,戻り値は       である。

〔プログラム〕

○実数型: findRank(実数型の配列: sortedData,実数型: p)

 整数型: i

 i ← (p × (sortedDataの要素数 - 1)) の小数点以下を切り上げた値

 return sortedData[i + 1]

○実数型の配列: summarize(実数型の配列: sortedData)

 実数型の配列: rankData ← {}  /* 要素数0の配列 */

 実数型の配列: p ← {0,0.25,0.5,0.75,1}

 整数型: i

 for (i を 1 から pの要素数 まで 1 ずつ増やす)

  rankDataの末尾 に findRank(sortedData,p[i])の戻り値 を追加する

 endfor

 return rankData

解答群

ア {0.1,0.3,0.5,0.7,1}

イ {0.1,0.3,0.5,0.8,1}

ウ {0.1,0.3,0.6,0.7,1}

エ {0.1,0.3,0.6,0.8,1}

オ {0.1,0.4,0.5,0.7,1}

カ {0.1,0.4,0.5,0.8,1}

キ {0.1,0.4,0.6,0.7,1}

ク {0.1,0.4,0.6,0.8,1}

【解答】

【解説】

summarize は,整列済みの配列から,最小値,第1四分位数,中央値,第3四分位数,最大値を取り出して,配列として返す処理である。p には {0,0.25,0.5,0.75,1} が設定されており,それぞれ最小値,第1四分位数,中央値,第3四分位数,最大値に対応する。findRank では,p × (要素数-1) の小数点以下を切り上げた値に1を加えて,取り出す要素の番号を求める。今回の配列の要素数は10なので,p の値に対応する要素番号は,それぞれ1,4,6,8,10となる。したがって,sortedData から取り出される値は {0.1,0.4,0.6,0.8,1} となる。

「(令和4年度12月) 基本情報技術者試験 サンプル問題 科目B 問14」の解答画像

この問題のポイント

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

  • 四分位数・中央値・最小値・最大値とは何か
  • 整列済みの配列から指定された位置の値を取り出す方法
  • 要素数から取り出す要素番号を計算する方法
  • 関数の戻り値を配列に順番に格納する処理

です。特に,p の値から取り出す要素番号を計算し,整列済みの配列から最小値,第1四分位数,中央値,第3四分位数,最大値を取り出す処理を理解しておきましょう。

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

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

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

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

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

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

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

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

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

広告