基本情報技術者 2009年 秋期 午前(科目A) 問01
問題文
N個の観測値の平均値を算出する式はどれか。ここで、SはN個の観測値の和(ただし、S>0)とし、[X]はX以下で最大の整数とする。また、平均値は、小数第1位を四捨五入して整数値として求める。
選択肢
ア:
イ:
ウ:
エ:(正解)
N個の観測値の平均値を算出する式【午前2 解説】
要点まとめ
- 結論:小数第1位を四捨五入して整数にする場合、平均値 の丸めは で表せます。
- 根拠: は床関数( 以下の最大整数)であり, を最も近い整数にする標準的な丸めは と同値です。
- 差がつくポイント: の条件で床関数を使うと負の数の例外を回避でき,端数がちょうど .5 のとき上に切り上げられる点を確認してください。
正解の理由
平均値は で表されます。四捨五入(小数第1位で四捨五入して整数にする)は「0.5 以上なら切り上げ、未満なら切り捨て」なので、任意の実数 に対して丸めた整数は です。問題の表記で床関数を としているため、正しい式は となります。したがって選択肢の中ではエが正解です( のため負側の丸めの特殊扱いも不要です)。
よくある誤解
- 「小数を単に 0.5 を引いて床を取れば良い」と考えると、切り上げ・切り捨ての境界が逆になり誤答になります。
- 0.4 や +0.4 を使うと丸めの閾値が 0.4/0.6 になり標準的な四捨五入とは異なります。
解法ステップ
- 平均値を定義する:平均は と置く。
- 四捨五入の条件を確認する:「小数第1位を四捨五入」は 0.5 を境に切り上げる。
- 丸めを床関数で表現:丸め結果は で書けることを示す。
- 問題の表記に合わせる:床関数を とすると答えは で選択肢のエを選ぶ。
選択肢別の誤答解説
- ア:
誤り。 に対して床を取ると 0.5 未満の値でも本来切り上げるべきものを切り捨ててしまいます。例えば のとき本来は 2 に丸めるが となりずれる。 - イ:
誤り。閾値が 0.4 にずれるため、四捨五入の基準(0.5)と一致せず誤った丸め結果を生みます。例: は本来 2 に丸めるが は偶然一致しても一般則では誤差の原因。 - ウ:
誤り。+0.4 は切り上げの閾値を 0.6 にしてしまい、 のとき となり本来の四捨五入である 3 になりません。 - エ:
正解。 を最も近い整数にする標準的な四捨五入(0.5 以上を切り上げる)を床関数で正しく表現しています。
補足コラム
- 丸めにはいくつかの方式があり、今回の「四捨五入」は一般に round-half-up(.5 を上へ)と呼ばれます。一方、プログラミング言語や統計ソフトでは round-half-to-even(銀行家の丸め:.5 を偶数へ)を使うことがあるため注意が必要です。
- 負の数に対して を用いると想定した動作と異なる場合があるため、今回は条件の が重要です。
- 実装例(Python):
import math
def rounded_mean(S, N):
return math.floor(S / N + 0.5)
# 例
print(rounded_mean(7, 2)) # 7/2=3.5 -> 4
FAQ
Q: 小数点以下がちょうど .5 の場合は必ず切り上げになりますか?
A: はい。本問の「四捨五入」は .5 のとき上へ切り上げる方式(round-half-up)を想定しており、式 はその要件を満たします。
A: はい。本問の「四捨五入」は .5 のとき上へ切り上げる方式(round-half-up)を想定しており、式 はその要件を満たします。
Q: S が負の値でも同じ式が使えますか?
A: いいえ。 の条件があるため本問では問題になりませんが、負数の場合は が期待通り動かないことがあるため別途扱いが必要です。
A: いいえ。 の条件があるため本問では問題になりませんが、負数の場合は が期待通り動かないことがあるため別途扱いが必要です。
関連キーワード: 平均値、四捨五入、床関数、丸め方式、切り上げ、切り捨て、統計、丸め誤差

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

