基本情報技術者 2015年 春期 午前(科目A) 問31
問題文
10Mバイトのデータを100,000ビット/秒の回線を使って転送するとき、転送時間は何秒か。ここで、回線の伝送効率を50%とし、1Mバイト= バイトとする。
選択肢
ア:200
イ:400
ウ:800
エ:1,600(正解)
🔒 解説は解答すると表示されます
データ転送時間計算【午前解説】
正解の理由
正解は エ です。
理由は次のとおりです。与えられたデータ量をバイトからビットに変換し、回線の実効伝送速度で割ると所要時間が得られます。ここで1Mバイト=10^6バイトなので、データ量は10×10^6バイト=10,000,000バイト=10,000,000×8=80,000,000ビットです。回線は100,000ビット/秒だが伝送効率が50%なので実効速度は50,000ビット/秒です。よって転送時間は となり、選択肢の中ではエ(1,600)が正解です。
理由は次のとおりです。与えられたデータ量をバイトからビットに変換し、回線の実効伝送速度で割ると所要時間が得られます。ここで1Mバイト=10^6バイトなので、データ量は10×10^6バイト=10,000,000バイト=10,000,000×8=80,000,000ビットです。回線は100,000ビット/秒だが伝送効率が50%なので実効速度は50,000ビット/秒です。よって転送時間は となり、選択肢の中ではエ(1,600)が正解です。
解法ステップ
- データ量をバイトからビットに変換する: 10Mバイト = 10×10^6バイト → ×8 → 80,000,000ビット。
- 実効伝送速度を求める: 100,000ビット/秒 × 50% = 50,000ビット/秒。
- 時間を計算する: 時間 = 総ビット数 ÷ 実効速度 = 80,000,000 ÷ 50,000 = 1,600秒。
- 必要なら分秒に変換: 1,600秒 = 26分40秒。
選択肢別の誤答解説
- ア: 200秒
- 原因: バイト→ビットの×8を忘れて10,000,000ビットとして計算し、実効速度50,000bpsで割った(10,000,000÷50,000=200)。バイト⇔ビットの換算ミス。
- イ: 400秒
- 原因: 正しい80,000,000÷100,000=800を計算後、伝送効率50%を誤って最後に「割る(÷2)」してしまった場合に得られる値(800÷2=400)。効率の適用を逆にしている。
- ウ: 800秒
- 原因: 80,000,000ビットを回線速度100,000bpsで割り、伝送効率50%を無視した(80,000,000÷100,000=800)。効率の考慮漏れ。
- エ: 1,600秒(正解)
- 正しくバイト→ビット変換を行い、実効速度100,000×0.5=50,000bpsで割っている。
よくある誤解
- バイトとビットを混同して、データ量をそのまま10,000,000ビットとして計算してしまう(このミスで200秒が出る)。
- 伝送効率の扱いを誤り、効率を時間に割ってしまうなど逆の計算をしてしまう(効率を割れば400秒の誤答が出ることがある)。
- 1Mをではなく(1,048,576)と解釈してしまい、厳密に値がずれる点を見落とす(問題文の定義を必ず確認)。
補足コラム
- 単位の扱いがキー: 通信問題では「バイト」と「ビット」を明確に区別することが最重要です。1バイト=8ビットを常に意識してください。
- 1Mの定義: 問題文が1Mバイト=10^6バイトと明示しているため、MiB(2^20バイト)ではなく10^6を用います。実務では両方の表記が混在するので文脈確認が必要です。
- 実効伝送速度(スループット)は、物理的速度(bps)にプロトコルのオーバーヘッドやエラー率を反映させた値で、問題では単純に効率を乗じて扱います。
コードで確認(例)
bytes_count = 10 * 10**6
bits = bytes_count * 8
line_rate = 100000
efficiency = 0.5
effective_rate = line_rate * efficiency
time_seconds = bits / effective_rate
time_seconds # 1600.0
FAQ
Q1: 1600秒を分と秒で表すと?
A1: 1600秒 = 26分40秒です。試験では「秒」で答えさせることが多いですが、分秒で示す練習も有効です。
A1: 1600秒 = 26分40秒です。試験では「秒」で答えさせることが多いですが、分秒で示す練習も有効です。
Q2: 伝送効率が70%ならどうなる?
A2: 実効速度は100,000×0.7=70,000bps。時間は80,000,000÷70,000 ≒ 1,142.857秒(約19分2.857秒)です。
A2: 実効速度は100,000×0.7=70,000bps。時間は80,000,000÷70,000 ≒ 1,142.857秒(約19分2.857秒)です。
Q3: もし問題で1Mバイトがと書かれていたら?
A3: 10Mバイト = 10×2^{20}バイト ≒ 10,485,760バイト → ビットはそれに8倍して計算します。問題文の定義を最優先してください。
A3: 10Mバイト = 10×2^{20}バイト ≒ 10,485,760バイト → ビットはそれに8倍して計算します。問題文の定義を最優先してください。
関連キーワード: 転送時間、伝送効率、バイト→ビット変換、単位換算、通信速度、計算問題、ビットとバイト、スループット、時間計算

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

