目次
はじめに
今回も、応用情報技術者試験の過去問を解いていきます。
今回は「圧縮データの転送と展開」に関する問題です。
一見シンプルな計算問題ですが、
👉 どのサイズを基準にするか
👉 処理が同時かどうか
この2点を正しく読み取れるかが重要です。
問題
15Mバイトのプログラムを圧縮してフラッシュメモリに格納している。
プログラムのサイズは圧縮によって元のサイズの40%になっている。
- フラッシュメモリ → 主記憶 転送速度:20MB/秒
- 1MBに圧縮されたデータの展開時間:0.03秒
- 転送と展開は同時に行われない
このとき、主記憶に展開されるまでの時間は何秒か。
ア 0.48
イ 0.75
ウ 0.93
エ 1.20
解答
ア:0.48秒
解説
全体の流れ(図で理解)
[フラッシュメモリ]
↓(転送)
[圧縮データ(6MB)]
↓(展開)
[元データ(15MB)]
👉 処理は「転送 → 展開」の順番で実行される(同時ではない)
① 圧縮後サイズを求める
| 項目 | 値 |
|---|---|
| 元データ | 15MB |
| 圧縮率 | 40% |
| 圧縮後 | 6MB |
計算:
15 × 0.4 = 6MB
② 転送時間を求める
| 項目 | 値 |
|---|---|
| 転送量 | 6MB |
| 転送速度 | 20MB/秒 |
| 転送時間 | 0.30秒 |
計算:
6 ÷ 20 = 0.30秒
③ 展開時間を求める(ここが最重要)
問題文より:
👉 「1MBに圧縮されたデータの展開」
つまり:
👉 展開時間は「圧縮後データ基準」
| 項目 | 値 |
|---|---|
| データ量 | 6MB |
| 展開時間 | 0.03秒 / MB |
| 合計 | 0.18秒 |
計算:
6 × 0.03 = 0.18秒
④ 合計時間
問題文より:
👉 転送と展開は同時に行われない
したがって単純に加算:
| 処理 | 時間 |
|---|---|
| 転送 | 0.30秒 |
| 展開 | 0.18秒 |
| 合計 | 0.48秒 |
問題の用語解説
圧縮(Compression)
データサイズを小さくする技術。
ストレージ容量削減や転送効率向上に使われる。
展開(Decompression)
圧縮されたデータを元に戻す処理。
CPUによる計算処理が必要。
転送速度
データが移動する速さ。
単位:MB/秒
体系的位置づけ
この問題は以下の分野に属します:
- コンピュータアーキテクチャ
- 記憶装置とI/O性能
- 処理時間の見積もり
特に重要なのは:
👉 「処理時間を構成要素ごとに分解する力」
今回の問題の重要ポイント
✔ ポイント①:サイズの使い分け
| 処理 | 使用するサイズ |
|---|---|
| 転送 | 圧縮後(6MB) |
| 展開 | 圧縮後(6MB) |
👉 「元サイズ15MB」を使ってしまうと誤答になる
✔ ポイント②:問題文の日本語を正確に読む
👉 「1MBに圧縮されたデータの展開」
この一文がすべてを決める
✔ ポイント③:同時処理かどうか
| 条件 | 計算 |
|---|---|
| 同時 | max(大きい方) |
| 非同時 | 足し算 |
👉 今回は 非同時 → 足し算
✔ ポイント④:試験の典型トラップ
この問題のよくあるミス:
- 展開を15MBで計算してしまう
- 同時処理と勘違いする
👉 どちらも引っかけポイント
まとめ
この問題の本質は、
👉 「どのデータサイズを基準にするかを見抜くこと」
です。
重要ポイントを整理すると:
- 圧縮後サイズを使う(6MB)
- 展開時間の基準を正しく読む
- 同時実行でない → 加算
この3つを押さえれば、確実に得点できます。

コメント