フローチャートの分岐とは?if文と条件分岐を動かして理解する
条件分岐は、プログラムや業務手順の流れを変えるための基本です。「もし条件を満たすならAへ進む。そうでなければBへ進む」という判断を、フローチャートではひし形と矢印で表します。
この記事では、フローチャートの分岐を、if文と対応させながら整理します。点数判定、在庫判定、会員判定の例を動かし、条件を変えると流れがどう変わるかを確認します。
フローチャートの分岐とは
分岐とは、条件によって次に進む処理を変えることです。たとえば「点数が60点以上なら合格、そうでなければ再学習」「在庫があれば購入、なければ入荷待ち」のような判断です。
フローチャートでは、条件をひし形の中に書きます。ひし形から出る矢印には「はい」「いいえ」などのラベルを付け、どちらへ進むのかを明確にします。
分岐を書くときの基本
- 条件はひし形に書く
- 条件は「はい」「いいえ」で答えられる形にする
- 分岐ラベルを矢印の近くに置く
- どちらの分岐にも矢印を描く
- 分岐後の処理が合流する場合は、合流先を分かりやすくする
分岐の条件があいまいだと、読む人によって判断が変わります。「高い場合」「良い場合」ではなく、「80点以上」「在庫が1以上」のように、判定できる形にします。
動かして理解する条件分岐
下の画面では、分岐の例を切り替えられます。値や条件を変えたら、まず結果を予想してください。その後で「1ステップ進める」または「最後まで実行」を押すと、予想が合っていたかを確認できます。
点数判定では、比較の不等号も変更できます。同じ点数でも「以上(>=)」と「より大きい(>)」では結果が変わることがあります。境界値を変えながら、条件式の違いを確認してください。
条件を変える
比較を変えると、境界値の扱いが変わります。たとえば60点と60点を比べると、>= は合格、> は再学習になります。
在庫が1以上なら購入へ進み、0なら入荷待ちに進みます。
有料会員なら特典を表示し、それ以外なら通常表示に進みます。
if文とフローチャートの対応
プログラムでは、分岐をif文で書きます。フローチャートのひし形に書いた条件が、if文の条件式に対応します。「はい」側は条件が真の場合、「いいえ」側は条件が偽の場合です。
JavaScriptの例
const score = 72;
const passScore = 60;
if (score >= passScore) {
console.log("合格");
} else {
console.log("再学習");
}
Pythonの例
score = 72
pass_score = 60
if score >= pass_score:
print("合格")
else:
print("再学習")
どちらのコードも、条件は「点数が合格点以上か」です。条件を満たす場合は合格、満たさない場合は再学習に進みます。
「以上」と「より大きい」の違い
条件分岐でつまずきやすいのが、不等号の違いです。「60点以上」は60点を含みますが、「60点より大きい」は60点を含みません。つまり、点数が60点で合格点も60点の場合、>= なら条件を満たし、> なら条件を満たしません。
| 条件式 | 意味 | 60点と60点の比較 |
|---|---|---|
score >= passScore | 合格点以上 | 合格 |
score > passScore | 合格点より大きい | 再学習 |
score <= passScore | 合格点以下 | 合格 |
score < passScore | 合格点より小さい | 再学習 |
score == passScore | 合格点と等しい | 合格 |
フローチャートでは、ひし形の中に書く条件がこの比較式に対応します。境界値を含めるのか、含めないのかを決めてから条件を書きます。
分岐でよくあるつまずき
- 条件があいまいで、はい・いいえを判断できない
- 片方の分岐だけを書いてしまう
- 分岐ラベルがなく、どちらへ進むか分からない
- 条件と処理の位置が近すぎて、矢印が読みにくい
- 分岐後に合流するのか、別々に終わるのかが分からない
分岐は、条件と結果の対応が見えることが大切です。図をきれいにするよりも、判断の根拠と進む先が誤解なく読めることを優先します。
条件式を考えるときのコツ
条件式は、できるだけ具体的にします。「会員なら」よりも「有料会員なら」、「商品があるなら」よりも「在庫数が1以上なら」の方が、コードにもフローチャートにも落とし込みやすくなります。
また、条件を反対にしたときの流れも確認します。「在庫があるなら購入へ進む」と書いた場合、「在庫がないならどうするか」も必要です。分岐では、条件を満たさない場合の処理を忘れないようにします。
関連記事でさらに学ぶ
フローチャート全体の基本は、動かしてわかるフローチャート入門で確認できます。繰り返し処理は、フローチャートの繰り返し処理の書き方も参考になります。
まとめ
分岐は、条件によって処理の流れを変える考え方です。フローチャートでは、条件をひし形で表し、「はい」「いいえ」の矢印で進む先を分けます。
if文を書く前にフローチャートで条件と分岐先を整理すると、コードで何を判定しているのかが分かりやすくなります。まずは小さな条件から、はい側といいえ側の両方を書いてみましょう。