事の始まり
先日、昼ご飯にカップ麺を食べようと思い、お湯を入れ、
少し長めの5分を待ちながら、後入れ小袋が2つあったのでよく読んでみると
「召し上がる直前にお入れください」
が2つある!?
どちらか片方を先に入れてしまうと「直前」という条件から外れてしまうのでは…?
ちょく‐ぜん【直前】 の解説 goo辞書
1 物事の起こったり行われたりするすぐ前。「出発—に事故が発生した」⇔直後。
2 すぐ前。目の前。「車の—を横断する」⇔直後。
かといって、両方同時に入れるような器用さは持ち合わせていない。
入れる順番で味が変わったりしてしまう可能性も排除できない。
こうしている間にも時間は経ち、麺は伸びていく一方…
プログラミング的思考
まだ4年目とはいえ自分もプログラマーの端くれとして、プログラミング思考で考えてみようと我に返った。
まず最初に思いついたのはif文だった。
var status = "chokuzen";
if(status = "chouzen") {
オレンジ小袋の直前入れる;
白小袋の直前入れる;
}
if文だと当たり前だが上に書いたものから実行されてしまう。
var status = "chokuzen";
if(status = "chouzen") {
//同時実行
オレンジ小袋の直前入れる 白小袋の直前入れる;
}
上のように同時実行できればいいのだが、そもそも同時入れが正解なのかもわからない。
次に視覚化するためにフローチャートに表してみた。
だいぶ不格好だが、こんな感じかなと…
フローチャート化したところで結局順番は決まってしまう。
まとめ
結局わからなかった。。。
自分はjavaしか触ったことがないので、もしかしたら他の言語でこれを解決できる考え方があるのかもしれない。
(Javaにもあるが、ただの自分の知識不足説もある。というかその可能性が高い)
先輩プログラマーの皆さんにもぜひこの件について良い考え方があれば教えていただきたい。
というかそもそも直前を2つ入れるメーカーが悪くないか…?
「直前1」「直前2」とかにしてくれれば、助かるのだけれど…
そんなことを考えながら、結局オレンジ小袋を先に入れ、伸びたカップ麺をすする午後12時半