← チャプター一覧
第1章 · プログラムの旅
✍️ コードはどうやって動くの?
人間が書く「プログラム」はただのテキスト。でもコンピュータは0と1しか理解できない。このギャップはどうやって埋まるのだろう?今から旅に出よう 🚀
1def add(a, b):
2    return a + b
3 
4result = add(3, 5)
5print("答え:", result)
⬇️
01001000 01100101 01101100 01101100 01101111...
🤔 どうやって変換するの?
第1章 · Step 1/5
📄 Step 1:ソースコード
プログラムはまず「ソースコード」として書かれる。人間が読めるテキストファイル。コンピュータにはまだ意味がない。
📝add.py
1# 2つの数を足す関数
2def add(a, b):
3    return a + b
4 
5result = add(3, 5)
6print("答え:", result)
💡 ソースコードは人間のための言語で書かれている。英語・数字・記号の組み合わせ。コンピュータにはまだ理解できない!
第1章 · Step 2/5
⚡ Step 2:コンパイル — 翻訳の魔法
ソースコードはコンパイラという翻訳プログラムに渡される。3段階で、人間語をコンピュータ語に変換する!
📄 ソースコード
def add(a,b): return a+b
↓ 字句解析(トークン化)
🔤 トークン列
[DEF] [ID:add] [(] [ID:a] [,] [ID:b] [)] [:] ...
↓ 構文解析・最適化
⚙️ 機械語(バイトコード)
LOAD_FAST 0  BINARY_ADD  RETURN_VALUE
第1章 · Step 3/5
🧠 Step 3:メモリへのロード
コンパイルされた命令はメモリ(RAM)に読み込まれる。メモリは番地(アドレス)のついた棚の集まり。セルをクリックして確認しよう!
🟣 命令(コード) 🔵 データ ⚪ 空き
👆 セルをクリックすると詳細が表示されます!
第1章 · Step 4/5
🔥 Step 4:CPUが命令を実行する
CPUはメモリから命令を1つずつ取り出し、3ステップで処理する。フェッチ → デコード → 実行(これを繰り返す!)
📥
フェッチ
命令を取り出す
🔍
デコード
命令を解読する
実行
演算・処理

📊 レジスタ

PC0x0000
A0x00
B0x00
ALU0x00
第1章 · Step 5/5
🎉 Step 5:結果が画面に出る!
CPUが計算を終えると、OSを通じて画面への出力が行われる。システムコールで「この文字を表示して」と依頼するのだ!
$ python add.py
💡 print()を呼ぶとPythonがシステムコールを発行。OSがディスプレイドライバを通じてピクセルを書き換え → 文字が見える!✨
第1章 · クイズ
📝 理解度チェック!
Q1. ソースコードを機械語に変換するプログラムは? 🤔
🌐 ブラウザ
⚙️ コンパイラ
🗄️ データベース
📡 ルーター
🎉

第1章クリア!

プログラムが実行される道筋を
ソースコード → コンパイル → メモリ → CPU → 出力
と追うことができた!

📚 今日学んだこと

  • ソースコードは人間のために書かれたテキスト
  • コンパイラが機械語(0と1)に変換する
  • 命令はメモリ(RAM)に格納される
  • CPUがフェッチ→デコード→実行を繰り返す
  • OSのシステムコールで画面に結果が表示される