こんにちは!
フリーランスエンジニアのかたやまです。
今回は、プログラミングの基本ルール「順次・分岐・反復」のうち、「分岐」を分かりやすく解説します。
分岐ってなに?
分岐とは、「条件によって実行する処理を変えること」です。
日常にも条件によって処理(行動を)変えることがあると思うので、イメージしやすいと思います。例えば、雨が降っていたら傘を持って出るという日常行動にも、以下のように条件と処理(行動)に分けることができると思います。
【条件】雨が降っているとき
【処理】傘を持って外に出る
ほとんどの場合、「もし〇〇なら、〇〇する」と表現することができます。
この分岐は、日常のあらゆるところに存在するので探してみるだけで楽しめると思います。以下に例をたくさん載せておきますので、参考にしてみてください。すべて条件と処理の組み合わせになっていることが分かります。
- もし赤信号なら、ブレーキを踏んで止まる(車の運転)
- もし120円が入ってきたら、液晶に120を表示して、120円以下の商品のボタンを光らせる(自動販売機)
- もし7時になったら、アラームを鳴らす(目覚まし時計)
- もしリモコンの電源を押されたら、ライトをつける(照明)
- もしシャンプーが空になったら、詰め替える(ディスペンサー)
- もしコントローラーの右ボタンを押したら、画面の主人公が右に進む(ゲーム)
- もしエンターキーを押されたら、改行する(Microsoft Word)
- もし×ボタンをクリックされたら、アプリを閉じる(プラウザ)
- もし人が近づいてきたら、扉を開ける(自動とびら)
「分岐」で意識すべき3つのポイント
分岐について、意識すべきことは3つあります。
1.分岐が誤っていないか
分岐には、条件と処理があります。どちらか一方でも間違ってしまと、やりたいことが実現できないことがあります。
野球を例えに条件が誤っている場合を考えてみましょう。
- もし2アウトになったら、攻守交替する。
野球の攻守交替は3アウトのため、条件が誤っています。次に、車の運転を例えに処理が誤っている場合を考えてみましょう。
- もし赤信号なら、そのまま直進する。
当然、赤信号のときはブレーキを踏んで止まらなければなりません。このように条件と処理のどちらか一方でも間違うと自分の意図と異なる結果になることがあるので、意識してプログラミングすることが大切です。
2.分岐が不足していないか
分岐の条件が不足している場合でも、やるべき目的を達成できないことがあります。
例えば、中学校で学年ごとに教室を案内する場合を考えてみましょう。
- もし1年生なら、教室Aに移動すること
- もし3年生なら、教室Cに移動すること
簡単な例ですが、この場合2年生への支持が漏れています。このように分岐の条件が足りていないかどうかについても意識する必要があります。
3.条件に当てはまらない場合を想定できているか
条件に当てはまらない場合についても、処理(行動)を指定してあげることが大切です。プログラミングの場合は、「それ以外の場合は」という条件を指定することが度々あります。
例えば、条件によって傘を外出にもっていくかどうかを考えてみましょう。
- もし晴れなら、傘をもっていかない
- もし曇りなら、傘をもっていかない
- もし雨なら、傘を持っていく
この例は一見すると正解のように見えますが、細かい条件を見落としています。もし雪だったら?もしみぞれだったら?もしあられだったら?と言った条件の場合、行動(処理)が決められていません。
こういった条件の漏れ無くすために「それ以外の場合は」という条件を指定すると漏れなく条件指定をすることができます。このことを考慮して、傘の例をもう一度考えてみましょう。
- もし晴れなら、傘をもっていかない
- もし曇りなら、傘をもっていかない
- それ以外の場合は、傘を持っていく
このように指定することで、条件漏れがなく、必ず行動(処理)がセットになります。プログラミングにおいて、非常に大切な考え方なので理解しておいてください。
まとめ
プログラミングの基本ルール「分岐」の解説は以上です。「もし〇〇なら、〇〇する」と表すことができるため、日常から探しやすく想像しやすいと思います。最後の「それ以外の場合は」という考え方は非常に重要なので、しっかり理解しておいてください。
では、また次回!