【身近な例】プログラミングの基本ルール 「分岐」を日常生活から探してみよう

【身近な例】プログラミングの基本ルール 「分岐」を日常生活から探してみよう

こんにちは!
フリーランスエンジニアのかたやまです。

今回は、プログラミングの基本ルール「分岐」を日常生活から探してみようと思います。前回は、「分岐とは何か?」ということを中心に解説しましたが、今回は「日常生活から分岐を発見」してみようと思います。

これを読めば、プログラミング思考を日常に活かすことができ、論理的思考や好奇心を鍛えられると思います。たくさんの例を紹介するので、自分の身の回りでも同じように探してみてください!

日常生活にある3つの分岐処理

1.スターバックス

1つ目の例は、有名なカフェのスターバックスです。分岐は、複数の選択肢がある場合に活躍するので、メニューの多いスターバックスは良い例です。

分岐処理を使って、「スターバックスの注文受付ロボット」を考えてみましょう!①→②→③の順番で注文を聞いて、お客さまの注文によって行動を変えます。

① メニューを聞く「いらっしゃいませ!ご注文はお決まりでしょうか?」

  • もし店のメニューにある商品を言われたら、「かしこまりました」と答えて②に進む
  • もし店のメニューにない商品を言われたら、「申し訳ありませんが、当店では扱っていない商品です」と答えて、もう一度注文を聞く。

② サイズを聞く「サイズはいかがなさますか?」

  • もし作成できるサイズを言われたら、「かしこまりました」と答えて③に進む
  • もし作成できないサイズを言われたら、「申し訳ありませんが、当店ではそのサイズでお作りすることができません」と答えて、もう一度サイズを聞く。

③ ホット/アイスを聞く「ホットとアイス、どちらになさいますか?」

  • もしホットと言われたら、ホットの商品を作って提供する
  • もしアイスと言われたら、アイスの商品を作って提供する

条件や状況によって、処理(行動)を変えていることが分かると思います。プログラミングをするときも、発生する状況を考えて、あらかじめ処理を決めておくことが大切です。今回は条件を少なくして考えましたが、例えば②のとき「一番大きいやつ」と言われたら?、③のとき「アイスの氷抜き」と言われたら?などもっと細かく考えて、処理(行動)を決めておくと、より親切なロボットができあがります。

ちなみに①→②→③は順番に実施するため、順次になっていることが分かると思います。

2.プログラミング学習

2つ目の例は、プログラミング学習です。このサイトのテーマであり、みなさんも興味をもっている分野だと思うので、考えやすいのではないでしょうか。

分岐処理を使って、「プログラミング学習方法の紹介ロボット」を考えてみましょう!①→②→③の順番で質問して、お客さまにぴったりなプログラミング学習方法を紹介します。

① 料金を聞く「お金をかけてでもプログラミングを学びたいですか?」

  • もし「はい」と言われたら、プログラミングスクールを紹介する
  • もし「いいえ」と言われたら、②に進む

② 学びの環境を聞く「パソコンをもっていますか?」

  • もし「もっていない」と言われたら、コードを書かないプログラミング学習「プログラミングの第一歩」を紹介する
  • もし「もっている」と言われたら、③に進む

③ プログラミング言語を聞く「学びたいプログラミング言語がありますか?」

  • もし「ない」と言われたら、プログラミング思考を学ぶために、コードを書かないプログラミング学習「プログラミングの第一歩」を紹介する
  • もし「もっている」と言われたら、無料で学べるプログラミング学習サイトの「ドットインストール」や「progate」を紹介する

プログラミング学習に限らず、他の分野でも同じように分岐を考えることができます。お客さまにアンケートを答えてもらって、回答によってお客さまにぴったりな条件を紹介するということは、日常でもよく目にすると思います。

3.自動販売機

3つ目の例は、自動販売機です。街中に置いてある身近なコンピュータのため、仕組みを考えてみることは非常におもしろいと思います。

分岐処理を使って、「お金を入れられたときの動き」を考えてみましょう!入れられるお金は小銭だけで考えてみます。

① 何円が入れられた?大きさ、重さ、材質などで何円かを判断

  • もし大きさ、重さ、材質が500円と同じなら、500円と判断する
  • もし大きさ、重さ、材質が100円と同じなら、100円と判断する
  • もし大きさ、重さ、材質が50円と同じなら、50円と判断する
  • もし大きさ、重さ、材質が10円と同じなら、10円と判断する
  • それ以外の場合は、コイン返却口にお金を戻す

② どのランプを光らせる?

  • もし合計金額がジュースの値段より多かったら、ジュースのランプを光らせる
  • もし合計金額がジュースの値段より好くなかったら、ジュースのランプを光らせない
  • もしジュースが売り切れだったら、何円入れられてもジュースのランプを光らせない

③ どのボタンが押された?

  • もしランプの付いているボタンを押されたら、押されたランプのジュースを取り出し口に出す
  • もしランプの付いていないボタンを押されたら、何もしない
  • もし返却レバーを押されたら、お金をコイン返却口に戻す

自動販売機をの仕組みを簡単に解説しました。ポイントは①の「それ以外の場合は」という条件です。入門編でも解説した非常に重要な考え方です。

まとめ

今回の「日常生活から分岐を探してみよう」は以上です。分岐は、考えられる条件を洗い出して、条件にあった処理を行うことが大切です。

何か作りたいものや達成したい目標があったら、今回のように分岐のプログラミング思考を活かすことができます。
達成するための方法はどれぐらいあるだろう?他にはないだろうか?もし○○だった場合はどのような結果になるだろう?考える条件に漏れはないか?と丁寧に漏れなく考えることで、目標達成ができる確立はかなり上がると思います。

では、また次回!

プログラミングを学ぶカテゴリの最新記事