今回勉強する「もし」が使えるようになれば、貴方のプログラムの幅は、ぐーんと、広がるでしょう!
「もし」は、条件によって、プログラムの処理や動作を、変えることができます。
もし、もし、カメよ、カメさんよ〜童話をプログラムでシミュレーションする
「もし」という命令を使うと、条件が正しいとき、正しくないときの2つに、処理を分けることが出来ます。
「もし」の書式は、
と、なります。(違えばは、省略が可能)
もし、○○が、○○(以上|以下)ならば、(正しいときの処理)。
違えば、(正しくない時の処理)。
あの、有名な童話を、プログラムにするならば・・・
![]()
![]()
このプログラムでは、カメとウサギの時速を比較しているだけで、ウサギが休憩するということを、考慮にいれていない為、結果、必ず、ウサギが勝ってしまいます。
カメの速さ={時速}100{m}
ウサギの速さ={時速}500{m}
もし、カメの速さが、ウサギの速さ以上ならば、「カメの勝ち」と、言う。
違えば、「ウサギの勝ち」と、言う。
次に、ウサギと、カメの、競争するコースの距離を設定して、ウサギとカメの走行時間より、勝負を決定するプログラムを書いてみましょう。怠惰なウサギは、途中で、何時間か休憩するという、童話通りのシミュレーションです。 さすがに、5時間もウサギが休憩していると、カメが勝ちますね。
カメの速さ={時速}100{m}
ウサギの速さ={時速}500{m}
コース距離=600{m}
ウサギの休憩時間=5{時間}
{走行時間の算出}
カメの時間=コース距離÷カメの速さ
ウサギの時間=コース距離÷ウサギの速さ+ウサギの休憩時間
「カメは、{カメの時間}時間かかった」と、言う。
「ウサギは、{ウサギの時間}時間かかった」と、言う。
もし、カメの時間が、ウサギの時間以下ならば、「カメの勝ち」と、言う。
違えば、「ウサギの勝ち」と、言う。
上の例で見た通りなんですが、カメと、ウサギの比較する値が、変わると、実行するプログラムの処理を、変えることが出来るというのが、ポイントです。
試しに、カメの速さ、ウサギの速さ、コースの距離、ウサギの休憩時間などの、数値部分を、変更してみると、最終的な結果(ウサギが勝つか、カメが勝つか)が、変わるので、動作がよく分からない人は、納得がいくまで、数値をいじってみてください。
ユーザーとのコミュニケーション
ソフトの利用者に、数字を入力してもらって、その値に従ってプログラムを動かす場合があります。
そんなときにも、「もし」が、活躍します。
以下のプログラムは、ユーザーが入力した財布の中身の金額に応じて、買うことの出来る商品を表示します。
「財布の中身はいくら?」と、尋ねる。
もし、それが、10{円}以上ならば、「10円チョコが買えるね」と、表示。
もし、それが、120{円}以上ならば、「ジュースが飲めるね」と、表示。
もし、それが、500{円}以上ならば、「牛丼が食べれるね」と、表示。
もし、それが、1000{円}以上ならば、「ランチが食べれるね」と、表示。
もし、それが、3000{円}以上ならば、「お寿司が食べれるね」と、表示。
数当てゲーム
コンピューターの考えた数字を、ユーザーが言い当てるという、至極単純なゲームを作ってみましょう。
この、数当てゲームっていうのが、単純であるが故に、面白くて病み付きになってしまうんです。
3回(
正解=乱数(3の)+1{1〜3までの適当な数を得る}
「1から3までの数字を入力」と、尋ねる。
もし、それが、正解ならば、「当たり」と、言う。
違えば、「はずれ。答えは、{正解}だった」と、言う。
)。