バイブコーディングの土台

Day 3制御フロー — 順次・分岐・反復

分岐 — if は分かれ道。もし〜なら、そうでなければ

条件によって進む道を変えるのが分岐(if / else)。

分かれ道を作るのが「分岐」

順次実行だけだと、いつも同じ手順しか踏めません。でも現実には「もし雨なら傘を持つ、そうでなければ持たない」のように、状況で行動を変えたい場面があります。これを実現するのが分岐です。の二つめの部品ですね。

たとえるなら

分岐は道の分かれ道です。目の前に「はい/いいえ」の看板があり、答えによって進む道が変わります。もし条件が本当(はい)なら右の道、そうでなければ(いいえ)左の道、というイメージです。

プログラムでは「もし〜なら」を if(イフ)、「そうでなければ」を else(エルス)と書くことが多いです。Pythonでも TypeScript でも書き方の見た目は少し違いますが、考え方はまったく同じです。

TEXT
もし 年齢 が 18以上 なら
    「大人料金です」と表示する
そうでなければ
    「子供料金です」と表示する
分岐の擬似コード(考え方は言語共通)

なぜ分岐が必要?

同じ入力にはいつも同じ返事しかできないプログラムは、案内板としては不便です。状況に応じて反応を変えられるからこそ、アプリは「使えるもの」になります。分岐は、プログラムに判断力を持たせる最初の一歩です。

条件は「本当(true)か、うそ(false)か」で判定されます。年齢が18以上、というのは本当かうそかどちらかに決まりますよね。この真偽の考え方が分岐のエンジンです。詳しくは[[statclienrequest(状態)や値の話ともつながっていきます。

分岐なし(いつも同じ)

誰が来ても「大人料金です」としか言えない

TEXT
「大人料金です」と表示する

分岐あり(状況で変わる)

年齢を見て料金を出し分けられる

TEXT
もし 年齢<18 なら 子供料金
そうでなければ 大人料金

分岐は三つ以上に増やすこともできます。「もしA、そうでなくもしB、そうでなければC」のように、分かれ道をいくつも並べられます。ただし増やしすぎると流れが読みにくくなるので、シンプルさは大切です。

AIにはこう頼む

「このifで、どういう時に上の道に進んで、どういう時に下の道に進むのか、条件を日本語で言い換えて」と頼むと、分岐の判断基準がはっきりします。生成コードのバグは、この条件の勘違いから生まれがちです。

  • 分岐=条件によって進む道を変える仕組み(if / else)
  • 条件は「本当か、うそか」で判定される
  • 考え方は言語共通。書き方の見た目だけが違う
  • 増やしすぎると読みにくい。条件はシンプルに

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

分岐(if / else)の役割として最も適切なものは?

Q2

分岐の条件は、最終的に何で判定される?

Q3

分岐(if / else)とは何か、分かれ道のたとえを使って説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。