1枚の写真の旅
あなたが、スマホで写真を1枚撮ります。そして、友だちに送ります。
この短い間に、この章で学んだことが、ほとんど全部使われています。
部品、メモリ、二進数、色、画素、圧縮、通信です。今日は、旅をたどりながら、ふり返りましょう。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| ビットとバイト | ビットは0か1の一つ分です。8ビットが1バイトです。 | 1バイト = 8ビット |
| 二進数と十六進数 | 二進数は0と1で、十六進数は0からFで、数を表します。 | 1111 と F |
| 画素 | 画像を作る、一つ一つの小さな四角です。 | 4000 × 3000 |
| 標本化 | 音の波を、一定の間隔ではかって、数にすることです。 | 1秒に44,100回 |
| 圧縮 | データを、小さくすることです。 | JPEG、ZIP |
| OS | アプリとハードウェアの間に入って、全体を管理するソフトです。 | Android |
学生が入力するセルは、このプレビューでは空白です。
章の地図
| 話題 | 大事なこと |
|---|---|
| 部品 | 入力、記憶、演算、出力、制御の五つの役目 |
| CPUとメモリ | メモリは机で消える。ストレージは引き出しで残る |
| OSとファイル | OSは仲立ち。ファイルはフォルダで整理する |
| 二進数 | 桁の重さは、右から1、2、4、8 |
| 十六進数 | 二進数4桁が十六進数1桁。色コードは赤緑青 |
| 文字 | 文字は番号。UTF-8では日本語は1文字3バイト |
| 画像 | 画素の数 × ビット数 ÷ 8 がバイト |
| 音と動画 | 回数 × ビット数 × チャンネル × 秒数 ÷ 8 |
| 単位 | 1KB = 1000バイト。1000倍ずつ大きくなる |
学生が入力するセルは、このプレビューでは空白です。
小さな確認: 数のしくみ
やってみよう
小さな確認: 数のしくみ
4問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。
写真の旅を計算する
4000 × 3000画素の写真を、フルカラーで撮ります。1画素は3バイトです。
大きさを計算して、80Mbpsで送る時間も求めましょう。
そのまま送る場合と、JPEGで約4MBに圧縮した場合を、くらべます。
例: 写真のデータ量と送る時間
| 手順 | 計算 | 答え |
|---|---|---|
| 画素の数 | 4000 × 3000 | 12,000,000 |
| データ量(圧縮前) | 12,000,000 × 3 | 36,000,000バイト(36MB) |
| 圧縮後(目安) | JPEGで、約9分の1 | 約4MB |
| 送る時間(圧縮前) | 36 × 8 ÷ 80 | 3.6秒 |
| 送る時間(圧縮後) | 4 × 8 ÷ 80 | 0.4秒 |
学生が入力するセルは、このプレビューでは空白です。
やってみよう: 自分の写真で計算
# Python は6章で学びます。今は、数を変えて、結果を見るだけで大丈夫です。
width = 4000 # 横の画素数
height = 3000 # 縦の画素数
bytes_per_pixel = 3 # フルカラーは3バイト
speed_mbps = 80 # 通信の速さ
total_bytes = width * height * bytes_per_pixel
size_mb = total_bytes / 1000000
seconds = size_mb * 8 / speed_mbps
print("データ量:", size_mb, "MB")
print("送る時間:", seconds, "秒")
# width と height を、半分の 2000 と 1500 に変えてみましょう。
小さな確認: 大きさの順
やってみよう
小さな確認: 大きさの順
4問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。