【日常のアルゴリズム】500円を片手に自動販売機に行ってみよう
日常生活の一例を使ってアルゴリズムを考えてみるシリーズ。今回は、自動販売機でジュースを購入する事例を使って「繰り返し処理」を考えてみたいと思います。
ゴール設定
- ゴールは500円で購入できるだけジュースを購入する
- ジュースを何本購入できて、お釣りがいくらかを求める
前提条件
- 購入する自動販売機は120円のジュースだけ販売している
- お釣りは返却レバーを下げない限り出てこない
今回のアルゴリズム
ではまず、今回のゴールに向けて、どんな作業(処理)が必要かを洗い出してみましょう。あなたも日頃、自動販売機でジュースを購入するシーンを思い浮かべてみてください。
必要な作業
- お金(500円)を入れる
- ジュースを選ぶ
- ジュースの購入ボタンを押す
- ジュースを取る
- 残金を確認する
- お釣りの返却レバーを下げる
- お釣りを取る
ざっと挙げてみると以上のような作業が必要でしょうか。次にこれらを組み合わせて、実際に購入できる限りジュースを購入する流れを考えてみましょう。
500円を家が手に自動販売機に行ってみよう
- お金を入れる(500円)
購入1回目
- ジュースを選ぶ(オレンジジュース)
- ジュースの購入ボタンを押す
- 出てきたジュースを取り出す
- 残金を確認する(380円)
- まだ残金でジュースが購入できるのでもう一度ジュースを購入する
購入2回目
- ジュースを選ぶ(りんごジュース)
- ジュースの購入ボタンを押す
- 出てきたジュースを取り出す
- 残金を確認する(260円)
- まだ残金でジュースが購入できるのでもう一度ジュースを購入する
購入3回目
- ジュースを選ぶ(サイダー)
- ジュースの購入ボタンを押す
- 出てきたジュースを取り出す
- 残金を確認する(140円)
- まだ残金でジュースが購入できるのでもう一度ジュースを購入する
購入4回目
- ジュースを選ぶ(サイダー)
- ジュースの購入ボタンを押す
- 出てきたジュースを取り出す
- 残金を確認する(20円)
- もうジュースを購入できない
- お釣りの返却レバーを下げる
- お釣りを取る
最終的に購入できたジュースは4本で、お釣りは20円でした。今回の場合、購入するジュースの種類は何でも良いのですが、雰囲気づくりのために記入してみました。
さて、いかがでしたでしょうか。今回は前提条件として購入するジュースの金額を固定していたのでシンプルな繰り返し処理になりました。これが金額もばらばらで合った場合のパターンは別の機会に解説してみたいと思います。
最後に今回のアルゴリズムのフローチャートを示します。