3秒でわかる
コンピュータの処理結果を人や外部へ届けるハードウェア。ディスプレイやスピーカーが代表で、入力装置と対になる五大装置の一つとして試験にも出ます。
もう少し詳しく
どういうものか
出力装置は、コンピュータが処理した結果を人間や外部の機器が受け取れる形にして出すハードウェアです。ディスプレイ、スピーカー、プリンター、プロジェクター、ヘッドホンなどが該当します。
情報処理の試験では、コンピュータを構成する五大装置として入力装置・出力装置・記憶装置・演算装置・制御装置が挙げられ、そのうちの一つとして扱われます。演算装置と制御装置をまとめたものが CPU にあたります。
なぜ必要か
CPU が計算した結果は、そのままでは電圧の高低の並びでしかありません。人間はそれを直接読めません。ディスプレイは信号を光の三原色の並びに、スピーカーは空気の振動に、プリンターはインクの配置に変換します。この変換を担う装置がないと、コンピュータは計算した結果を誰にも伝えられません。
同時に、装置ごとの差をプログラムから隠す層も必要になります。OS がデバイスドライバを通じて機種ごとの違いを吸収しているおかげで、書き手は接続されているディスプレイの型番を気にせず、結果を出す 1 行を書くだけで済みます。
具体例
import sys
# 標準出力。通常はディスプレイ(端末画面)につながっている
print("注文を受け付けました")
# 標準エラー出力。同じ画面に出るが、行き先は別の口になっている
print("在庫が残り 3 個です", file=sys.stderr)
# 行き先が本当にディスプレイかどうかは実行時に決まる
print("画面につながっているか ->", sys.stdout.isatty())# 同じプログラムでも、リダイレクトすれば出力先はファイルになる
python order.py > result.txt # 標準出力だけファイルへ
python order.py 2> error.txt # 標準エラーだけファイルへつまずきやすいところ
分類問題でよく間違えるのが、入力と出力を兼ねる装置です。タッチパネルは指の位置を受け取り画面も表示するため入出力装置、通信用のモデムやネットワークカードも送受信の両方を行うため入出力装置に分類されます。
ハードディスクや SSD を出力装置だと答えてしまうのも典型的な誤りです。これらはデータを保持する記憶装置であって、結果を人に見せる装置ではありません。
プログラム側の「出力」も、装置とは一段ずれた概念です。print が書き込む先は標準出力という抽象的な口で、それが画面につながるかファイルにつながるかは実行時に決まります。装置としての出力装置と、ソフトウェアから見た出力先を分けて考えると混乱しません。
似た用語との違い
| 装置 | 役割 | 例 |
|---|---|---|
| 入力装置 | 外から情報を取り込む | キーボード、マウス、スキャナ |
| 出力装置 | 結果を外へ出す | ディスプレイ、プリンター、スピーカー |
| 記憶装置 | データを保持する | メモリ、SSD、ハードディスク |
| 入出力装置 | 両方を兼ねる | タッチパネル、通信機器 |
覚え方
情報が人へ向かって出ていくなら出力装置、人から機械へ入っていくなら入力装置。矢印の向きだけで判断できます。