コードで世界を伝える

懐中電灯の点滅、点字の凸点、コンピュータのスイッチ——形はまったく違うのに、 「2つの状態を組み合わせる」 という発想はすべて同じ構造をしている。この教材では 読む → 試す → 間違える → わかる の順に、組み合わせ論・点字・電気回路の基礎を辿りながら、その正体に迫る。全4セクション・演習24問。回答はブラウザに保存されるので、途中でやめても続きから再開できる。

進捗 0 / 24 問(正解 0 問)

はじめに: コードとは何か

この本では「コード」という言葉を、人と機械の間で情報を伝えるための体系全般の意味で使う。話し言葉・書き言葉・手話・点字・モールス符号、どれもそれぞれの状況で便利な「コード」だ。

出発点はモールス符号である。1文字ごとに、ドット(短い点滅)とダッシュ(長い点滅)の組み合わせを割り当てる方式で、 使用頻度の高いE・Tには最短の1符号、あまり使わないQ・Zには長い符号を割り当てることで通信を効率化している。モールス符号そのものを練習・クイズ形式で体験したい場合は、専用の学習ツールを用意してある。

懐中電灯で符号を送る感覚は、下のシミュレータで確かめられる。ドットとダッシュのボタンで点滅の並びを作って「送る」を押すと、符号表と照合されて送った文字が判定される。まずは最短のE(・)やT(ー)から試してみてほしい。

さわって確認懐中電灯の符号 — ドットとダッシュで文字を送る
懐中電灯のあかり
いま作っている符号(未入力)

点滅の並びを作って「送る」を押すと、符号表と照合して文字を判定します。

受信した文字(まだなし)
符号表(この教材で使う8文字)
E
T
I・・
A・ー
Nー・
Mーー
S・・・
Oーーー

懐中電灯で送れるのは「短い点滅」か「長い点滅」の2種類だけです。それでも並べる個数を増やすと、 1個で2文字、2個で4文字と、表せる文字は倍々に増えていきます。よく使うEとTに最短の符号が 割り当てられているのも符号表から読み取れます。たった2つの状態の組み合わせで文字が届く—— この構造が、このあとの点字にも電気回路にも、そのまま顔を出し続けます。

ここから先で問いたいのは、「なぜドットとダッシュというたった2種類の要素だけで、 アルファベット・数字・句読点のすべてを表現できるのか」という点だ。答えは次のセクションの組み合わせ論にある。

1. 組み合わせ論 — n個の2値要素で何通り作れるか

モールス符号のドットとダッシュのように「2つの状態」しか持たない要素をn個並べると、作れるコードの数は2^n通りになる。この単純な式が、後の章すべての土台になる。

ドットとダッシュという2種類の要素を1個だけ使うなら、表現できるのは2通り(ドットかダッシュか)。 2個並べると、1個目が2通り×2個目が2通りで、2×2=4通り。3個並べると2×2×2=8通り。

要素の個数組み合わせの数
1個2通り
2個4通り
3個8通り
4個16通り2⁴
n個2ⁿ

要素が1個増えるたびに、選択の分岐が1回増える。だから通り数は常に「今までの2倍」になる。この 2ⁿ という式が、モールス符号だけでなく、点字・電気回路・コンピュータのメモリまで、この先ずっと顔を出し続ける。

演習 1計算

ドットとダッシュを2個並べる組み合わせは何通りあるか?

演習 2計算

ドットとダッシュを3個並べる組み合わせは何通りあるか?

演習 3理解

n個のスイッチがあり、それぞれオンかオフの2状態を取れるとき、全体のパターン数を表す式はどれか?

演習 4計算

ドットとダッシュを5個並べる組み合わせは何通りあるか?

演習 5理解

モールス符号は「バイナリコード」と呼ばれる。その理由として最も適切なものはどれか?

このセクション: 0 / 5 問正解

2. 点字を解読する — 6ビットで64通り

ルイ・ブライユが発明した点字は、2×3マスの6つの点で構成される。すべての点が「凸」か「平ら」の2状態なので、2^6=64通りのコードが作れる。さらに「シフトコード」「エスケープコード」という重要な概念も点字から生まれた。

ルイ・ブライユは3歳のときの事故で全盲になったが、パリ国立訓盲院で学びながら、 軍隊用の暗号「夜間書法」を改良し、15歳で独自の点字体系を作り上げた。基本部分は現在もそのまま使われている。

点字の1マスは、縦3段×横2列に並んだ6つの点で構成される。それぞれの点は「凸(紙から突き出ている)」か「平ら」かの2状態しか取らない。

1点だけ凸
4点が凸
全点が凸

6点それぞれが2状態なので、前セクションの式に当てはめると 2⁶=64通り。実際のアルファベット(26文字)はこの64通りの一部分にすぎず、 残りは数字・句読点・そして次に説明する「特殊なコード」に割り当てられている。

意味を切り替えるコード

点字には、それ単体では文字を表さず、後に続くコードの意味を変えるという役割専用のパターンがある。

シフトコード(例: 大文字符)エスケープコード(例: 数符)
効果の範囲直後の1文字だけ取り消し(外字符)が現れるまで全部
役割「次の1文字は大文字」「ここから先は数字として読む」

この「意味を切り替えるコード」という発想は、点字だけの特殊な工夫ではない。後の章で見るコンピュータの制御コードにも、同じ考え方がそのまま登場する。

演習 6理解

点字の1マスは何個の点で構成されているか?

演習 7計算

点字の6点すべてが「凸」または「平ら」の2状態を取るとき、表現できるコードの総数は?

演習 8点字

次の点字パターンには、凸点(塗りつぶされた点)がいくつあるか?

演習 9理解

点字の「大文字符」はどのような働きをするコードか?

演習 10理解

点字の「数符」はどのような働きをするコードか?

演習 11理解

点字の「外字符」の役割として正しいものはどれか?

演習 12理解

現在使われている点字体系の基礎を、15歳のときに考案した人物は誰か?

このセクション: 0 / 7 問正解

3. 懐中電灯の中の電気 — 原子からオームの法則まで

懐中電灯を分解すると、電池・導線・電球・スイッチしかない。この単純な回路を理解すれば、電圧・電流・抵抗というコンピュータの物理的な土台が見えてくる。

懐中電灯を分解すると、電池・導線・電球・スイッチしかない。電池の中では化学反応が起き、 余った電子がマイナス極(陰極)に溜まる。この電子が導線を通ってプラス極(陽極)に戻る一続きの経路(回路)ができたときだけ、電球が光る。

電圧(E)は「電子を押し出す力」、電流(I)は「実際に流れる電子の量」、抵抗(R)は「電子の流れにくさ」。 この3つの関係を表すのがオームの法則である。

I = E / R

懐中電灯の抵抗が一定のとき、電池を直列につなぐと電圧が足し算され明るくなる。並列につなぐと電圧は変わらないが、 電池を長持ちさせられる。用途に応じて「明るさ」と「持続時間」のどちらを取るかを、この2つの接続方法で選べる。

直列接続並列接続
電圧加算される(1.5V×2本=3.0V)変わらない(1.5Vのまま)
電池の寿命単体と同じのびる

最後に着目したいのはスイッチだ。スイッチは「開いている(オフ)」か「閉じている(オン)」かのどちらかしかなく、中間がない。 電流も「流れる」か「流れない」かのどちらかで、電球も「光る」か「光らない」かのどちらかしかない。

演習 13理解

原子の中心にある「核」を構成する2種類の粒子はどれか?

演習 14理解

陽子と電子のうち、負(-)の電荷を持つのはどちらか?

演習 15計算

オームの法則 I = E / R を使う。電圧E=3ボルト、抵抗R=4オームのとき、電流Iは?

演習 16理解

1.5ボルトの電池2本を「直列」に接続すると、合計の電圧はどうなるか?

演習 17理解

1.5ボルトの電池2本を「並列」に接続すると、電圧と寿命はそれぞれどうなるか?

演習 18理解

銅とゴム、電気を通しやすい「導体」はどちらか?

演習 19計算

ワットの式 P = E × I を使う。電圧E=3ボルト、電流I=0.75アンペアのとき、電力Pは?

演習 20理解

懐中電灯のスイッチが「開いている(オフ)」とき、回路に電流は流れるか?

このセクション: 0 / 8 問正解

4. まとめ — バイナリと電気回路がドッキングする瞬間

モールスの「点滅」、点字の「凸/平」、電気回路の「オン/オフ」。形は違えど、すべて同じ「2つの状態」の言い換えである。この気づきが、次の論理ゲート・2進数コンピュータへの入り口になる。

題材2つの状態
モールス符号ドット / ダッシュ
点字凸 / 平ら
電気回路のスイッチオン(閉) / オフ(開)

この3つはまったく別の題材に見えて、実はすべて「2つの状態の組み合わせで情報を表現する」という同じ構造をしている。 そして電気回路のスイッチだけが、他の2つと違う特別な性質を持つ——人間が読み書きしなくても、電気の力だけで自動的にオン/オフを判定できるという点だ。

スイッチを組み合わせれば「AとBが両方オンのときだけオン」「AかBのどちらかがオンならオン」といった論理的な判断を、 人間の手を介さず機械だけで行えるようになる。これが論理ゲートであり、2進数によるコンピュータの計算・記憶の出発点になる。

演習 21理解

モールスの「点滅」、点字の「凸/平」、電気回路の「オン/オフ」に共通する性質は何か?

演習 22理解

「スイッチのオン/オフ」という発想は、この先どんな技術につながっていくか?

演習 23計算

点字(6ビット)はモールスの3個組(3ビット)に比べて、表現できるコード数はどれくらい多いか?

演習 24理解

2値要素の個数を1個増やすと、表現できるコードの総数は元の何倍になるか?

このセクション: 0 / 4 問正解