では、先ほどの 入れ子If練習問題10問 を、条件フロー図(可視化) にして、初心者でも分かりやすくまとめます。
ここでは ASCII図 で簡単に示します。
例題1:点数判定(50点以上・70点未満)
┌───────────┐
│ B2の点数 │
└─────┬─────┘
│
┌─────▼─────┐
│ score >=50? │
└─────┬─────┘
Yes │ No
│ │
┌────▼─┐ │
│ msg="合格"│ │
└────┬─┘ │
│
┌────▼────┐
│ score<70? │
└────┬────┘
Yes│No
│ │
┌───▼────┐
│ msg&="追加 │
│ レポート" │
└────────┘
例題2:年齢判定(成人・働き盛り・高齢者)
┌──────────┐
│ B2の年齢 │
└─────┬────┘
│
┌─────▼─────┐
│ age >= 20? │
└─────┬─────┘
Yes │ No
│ │
┌───▼──┐ │
│ 成人 │ │
└───┬──┘ │
│
┌────▼─────┐
│ age < 65? │
└────┬─────┘
Yes │ No
│ │
┌────▼─────┐
│ 働き盛り │
│ 高齢者 │
└──────────┘
例題3:数値判定(0以上・100未満)
┌───────────┐
│ B2の数値 │
└─────┬─────┘
│
┌─────▼─────┐
│ num >= 0? │
└─────┬─────┘
Yes │ No
│ │
┌───▼──┐ │
│ 正の数 │ │
└───┬──┘ │
│
┌───▼────┐
│ num<100? │
└───┬────┘
Yes│No
│ │
┌──▼────┐
│ 小さい数 │
│ 大きい数 │
└───────┘
例題4:曜日判定(平日・休日・水曜日)
┌───────────┐
│ B2の曜日 │
└─────┬─────┘
│
┌───────▼─────────┐
│ 土日? │
└─────┬───────────┘
Yes │ No
│
┌─────▼─────┐
│ 平日 │
└─────┬─────┘
│
┌─────▼─────┐
│ 水曜? │
└─────┬─────┘
Yes │ No
│
┌─────▼─────┐
│ 水曜は会議 │
└───────────┘
わかりました。では、練習問題5〜10の入れ子Ifフローチャート(ASCII図) を順番にまとめます。
例題5:温度判定(氷は溶ける・暑い・凍る)
┌───────────┐
│ B2の温度 │
└─────┬─────┘
│
┌─────▼─────┐
│ temp >=0? │
└─────┬─────┘
Yes │ No
│ │
┌────▼──┐ │
│ 氷は溶ける│ │
└────┬──┘ │
│
┌────▼─────┐
│ temp>=30? │
└────┬─────┘
Yes │ No
│ │
┌────▼─────┐
│ 暑い │
└──────────┘
│
┌─────▼─────┐
│ 凍る │ (temp<0)
└───────────┘
例題6:点数評価(秀・良・可・不可)
┌───────────┐
│ B2の点数 │
└─────┬─────┘
│
┌─────▼─────┐
│ score>=90? │
└─────┬─────┘
Yes │ No
│ │
┌─────▼──────┐
│ 秀 │
└────┬───────┘
│
┌────▼─────┐
│ score>=70? │
└────┬─────┘
Yes │ No
│
┌────▼─────┐
│ score>=50? │
└────┬─────┘
Yes │ No
│
┌────▼─────┐
│ 可 │
│ 不可 │
└──────────┘
例題7:偶数・奇数判定(大きい偶数)
┌───────────┐
│ B2の数値 │
└─────┬─────┘
│
┌─────▼─────┐
│ num Mod2=0? │
└─────┬─────┘
Yes │ No
│ │
┌────▼───┐ │
│ 偶数 │ │
└────┬───┘ │
│
┌────▼─────┐
│ num>=100? │
└────┬─────┘
Yes │ No
│ │
┌────▼─────┐
│ 大きい偶数 │
└──────────┘
│
┌─────▼─────┐
│ 奇数 │
└───────────┘
例題8:大きい・中くらい・小さい + 偶数/奇数
┌───────────┐
│ B2の数値 │
└─────┬─────┘
│
┌─────▼─────┐
│ num>=100? │
└─────┬─────┘
Yes │ No
│ │
┌────▼──┐ │
│ 大きい │ │
└────┬──┘ │
│
┌────▼─────┐
│ num>=50? │
└────┬─────┘
Yes │ No
│ │
┌────▼─────┐
│ 中くらい │
│ 小さい │
└──────────┘
│
┌────▼─────┐
│ 偶数? │
└────┬─────┘
Yes │ No
│ │
┌────▼─────┐
│ 偶数 │
│ 奇数 │
└──────────┘
例題9:色判定(赤・青・黄・不明)
┌───────────┐
│ B2の色 │
└─────┬─────┘
│
┌──────▼────┐
│ 赤? │
└─────┬─────┘
Yes │ No
│ │
┌────▼──┐ │
│ STOP │ │
└────┬──┘ │
│
┌────▼─────┐
│ 青? │
└────┬─────┘
Yes │ No
│
┌────▼─────┐
│ GO │
└────┬─────┘
│
┌────▼─────┐
│ 黄? │
└────┬─────┘
Yes │ No
│
┌────▼─────┐
│ 注意 │
│ 不明 │
└──────────┘
例題10:点数 + 偶数/奇数
┌───────────┐
│ B2の点数 │
└─────┬─────┘
│
┌──────▼────┐
│ score>=80? │
└─────┬─────┘
Yes │ No
│ │
┌────▼──┐ │
│ 優秀 │ │
└────┬──┘ │
│
┌────▼─────┐
│ score>=60? │
└────┬─────┘
Yes │ No
│ │
┌────▼─────┐
│ 普通 │
│ 努力が必要 │
└────┬─────┘
│
┌────▼─────┐
│ 偶数? │
└────┬─────┘
Yes │ No
│ │
┌────▼─────┐
│ 点数は偶数 │
│ 点数は奇数 │
└──────────┘
💡 まとめポイント
- 条件は上から順に確認 → Yes / Noで枝分かれ
- 入れ子Ifは「条件の中に条件がある」場合に使う
- ASCII図やフローチャートにすると、条件の流れが一目で理解できる
- フローを描くことで、初心者でも迷わずコードが書ける
