前回は、Windowsの機能をつかって、InputBoxを出してみました。Windowsにはいろんな機能があって、それを関数という形で呼び出すことができることを確認しました。
今回は、条件によって動きが変わるプログラムについてみてみましょう。
毎度のことですがメモ帳でプログラムを記述します。
以下のプログラムを入力してください。
Dim weight
weight = InputBox ("体重を入力してください")
If weight > 50 Then
MsgBox("50kgより大きいので重量オーバーです")
Else
MsgBox("50kg以下なので大丈夫")
End If
間違いなく入力されたら、cond.vbsというファイル名で保存しましょう。
保存したら、ダブルクリックして実行です。
何か数字を入れてみます。まずは、[40]でも入れてみましょう。
そして、OKを押すと、、、
大丈夫らしいです。
もう一回やってみましょう。
何か数字を入れてみます。次は、[70]でも入れてみましょう。
そして、OKを押すと、、、
重量オーバーになってしまいました。
なにが起こっているのでしょう。一行づつ見てみましょう。
Dim weight
weight = InputBox ("体重を入力してください")
この部分は前回と同じですね。[weight]という変数(前回は表札と表現していました。)を使いますと、宣言して、InputBoxで数字を入力してもらいます。
ここまでは簡単!
If weight > 50 Then
MsgBox("50kgより大きいので重量オーバーです")
Else
MsgBox("50kg以下なので大丈夫")
End If
ここがポイントです。
詳しく見てみましょう。
If weight > 50 Then
これは、
もし、weightが50より大きかったら、
っていう意味です。
If なんちゃら Then
って来た場合は、なんちゃらの部分に、なにかしらの条件が来るわけです。
もし、なんちゃらだったら、Then から、Else またはEnd If までの処理を行います。
この場合、ThenとElseで囲まれている、MsgBox(“50kgより大きいので重量オーバーです”)って処理が行われるわけです。
んじゃ、Else から End if までは、さっきのなんちゃらじゃなかったらの場合に処理が行われるところです。
ですから、まとめると
もし、weightが50より大きかったら、
MsgBox("50kgより大きいので重量オーバーです")
んじゃなかったら
MsgBox("50kg以下なので大丈夫")
ってなるわけです。
条件を満たしたらこっち、満たさなかったらこっち、ってことです。
んじゃちょびっと複雑にしてみましょう。以下のプログラムを試してみてください。
Dim weight
weight = InputBox ("体重を入力してください")
If weight > 50 Then
MsgBox("50kgより大きいので重量オーバーです")
Else
If weight < 45 Then
MsgBox("45kg以下なので大丈夫")
Else
MsgBox("45kgより大きくて50kg以下なので、危険水域です")
End if
End If
これは、
もし、weightが50より大きかったら、 MsgBox("50kgより大きいので重量オーバーです") んじゃなかったら、 もし、weightが45より小さかったら、 MsgBox("45kg以下なので大丈夫") んじゃなかったら、 MsgBox("45kgより大きくて50kg以下なので、危険水域です")
ってことになります。
いろんな数字を入力して、実際にやって試してみてください。
実は今回で、プログラミングの基本となる点はすべて網羅しました。
変数、関数、条件分岐。この3つでほとんどのプログラムは表現できます。たったこれだけです。
思ったよりシンプルでしょう。またシンプルだけに、ごちゃごちゃしていることも感じられたと思います。
プログラマはこれらのシンプルなものを、ごちゃごちゃさせながら、複雑な処理をこなしていっているわけです。
簡単なのに、複雑。これがプログラムの本質だと思います。
集中力いっぱい使って、ひとつひとつ丁寧に追いかけていく。という作業が重要なわけです。
プログラマは毎日、こんなことをやっています。
あー。めんどくせぇ。と思った方、案外簡単だな、と思った方、それぞれだと思いますが、それぞれが、プログラマってこんなもんだなっていう入り口に立てたと思います。
これから先はすべてこれらの応用です。実際にプログラムを拡張して、いろんな応用技を試していきましょう。
今日のまとめ
- もし、なんちゃらだったら、こっち、んじゃなかったら、こっち
- んじゃどっちなんだか追いかけるのは結構頭がこんがらがる。。。
身長を入れないと太っているかはわからないのでは?