条件によって処理を分ける、もし


今回勉強する「もし」が使えるようになれば、貴方のプログラムの幅は、ぐーんと、広がるでしょう!
「もし」は、条件によって、プログラムの処理や動作を、変えることができます。


もし

もし、もし、カメよ、カメさんよ〜童話をプログラムでシミュレーションする
「もし」という命令を使うと、条件が正しいとき、正しくないときの2つに、処理を分けることが出来ます。

「もし」の書式は、
もし、○○、○○(以上|以下)ならば、(正しいときの処理)。
違えば、(正しくない時の処理)。
と、なります。(違えばは、省略が可能)

あの、有名な童話を、プログラムにするならば・・・

  
カメの速さ={時速}100{m}
ウサギの速さ={時速}500{m}

もし、カメの速さ、ウサギの速さ以上ならば、「カメの勝ち」と、言う。
違えば、「ウサギの勝ち」と、言う。
このプログラムでは、カメとウサギの時速を比較しているだけで、ウサギが休憩するということを、考慮にいれていない為、結果、必ず、ウサギが勝ってしまいます。
次に、ウサギと、カメの、競争するコースの距離を設定して、ウサギとカメの走行時間より、勝負を決定するプログラムを書いてみましょう。怠惰なウサギは、途中で、何時間か休憩するという、童話通りのシミュレーションです。
カメの速さ={時速}100{m}
ウサギの速さ={時速}500{m}

コース距離=600{m}
ウサギの休憩時間=5{時間}

{走行時間の算出}
カメの時間=コース距離÷カメの速さ
ウサギの時間=コース距離÷ウサギの速さ+ウサギの休憩時間
「カメは、{カメの時間}時間かかった」と、言う。
「ウサギは、{ウサギの時間}時間かかった」と、言う。

もし、カメの時間が、ウサギの時間以下ならば、「カメの勝ち」と、言う。
違えば、「ウサギの勝ち」と、言う。
さすがに、5時間もウサギが休憩していると、カメが勝ちますね。

 上の例で見た通りなんですが、カメと、ウサギの比較する値が、変わると、実行するプログラムの処理を、変えることが出来るというのが、ポイントです。

 試しに、カメの速さ、ウサギの速さ、コースの距離、ウサギの休憩時間などの、数値部分を、変更してみると、最終的な結果(ウサギが勝つか、カメが勝つか)が、変わるので、動作がよく分からない人は、納得がいくまで、数値をいじってみてください。


ユーザーとのコミュニケーション
 ソフトの利用者に、数字を入力してもらって、その値に従ってプログラムを動かす場合があります。
そんなときにも、「もし」が、活躍します。

 以下のプログラムは、ユーザーが入力した財布の中身の金額に応じて、買うことの出来る商品を表示します。
「財布の中身はいくら?」と、尋ねる。
もし、それ、10{円}以上ならば、「10円チョコが買えるね」と、表示。
もし、それ、120{円}以上ならば、「ジュースが飲めるね」と、表示。
もし、それ、500{円}以上ならば、「牛丼が食べれるね」と、表示。
もし、それ、1000{円}以上ならば、「ランチが食べれるね」と、表示。
もし、それ、3000{円}以上ならば、「お寿司が食べれるね」と、表示。
数当てゲーム

  コンピューターの考えた数字を、ユーザーが言い当てるという、至極単純なゲームを作ってみましょう。
 この、数当てゲームっていうのが、単純であるが故に、面白くて病み付きになってしまうんです。

    正解=乱数(3の)+1{1〜3までの適当な数を得る}
    「1から3までの数字を入力」と、尋ねる。
    もし、それ、正解ならば、「当たり」と、言う。
    違えば、「はずれ。答えは、{正解}だった」と、言う。
)。

戻る