Lesson.28 条件分岐(3) 範囲の分岐
大雑把に分岐
今までは「=」で、完全に一致した場合でした。
しかし、数値の場合、ここからここまでの範囲といったような、広い範囲で分岐処理をしたい場合があります。
今回は今日が「昼」か「夜」かを判断するプログラムを考えます。
ここでは便宜上昼は0時から12時まで、夜を13時から23時までとします。
不等号で分岐
比較対象がこの数よりも「大きい」や「小さい」といったようなことを判断するには、不等号を使います。
不等号とは「<」や「>」のことですね。
ではさっきの例でプログラムを考えます。
今回の例の場合、現在の「時」が13よりも小さければ「昼」ということにすればよいですね。
例:
if hour(now) < 13 then
msgbox "昼です。"
else
msgbox "夜です。"
end if
msgbox "昼です。"
else
msgbox "夜です。"
end if
このように「=」の代わりに不等号を使うだけです。
大丈夫ですね?
また、この「<」や「>」は「=」を含まないのでその数自体は含まないということになります。
数学では「<」に似たやつで「≦」というやつがありますよね。
日本語で言うと前者が「未満」、後者が「以下」ということになりますね。
VBSでもこの「以下」という表現があります。
但し、「≦」とは書かずに、「<=」と書きます。同様に「>=」もあります。
なので上の例はこう書き直せます。
例:
if hour(now) <= 12 then
msgbox "昼です。"
else
msgbox "夜です。"
end if
msgbox "昼です。"
else
msgbox "夜です。"
end if
練習
現在の「日」が「上旬」か「下旬」かを判定するプログラムを書け。
但し上旬は1-15日、下旬はその他とする。
解答
if day(now) < 16 then
msgbox "上旬です。"
else
msgbox "下旬です。"
end if
msgbox "上旬です。"
else
msgbox "下旬です。"
end if