条件分岐、もし

その3複雑な条件をチェックする


さてさて、「もし」の使い方を、覚えて頂いたところで、日本語プログラムの真髄?へ挑戦です。


もし、AかつBならば、・・・

「かつ」についての定義を書いてみます。

(真)かつ(真)ならば・・・結果は、真。
(偽)かつ(偽)ならば・・・結果は、偽。
(真)かつ(偽)ならば・・・結果は、偽。

どうでしょうか。
数学が得意な方なら、この説明で納得して頂けると思いますが、普通、これだけでは分からないと思います。
どういうことかと言うと・・・歌謡曲を例にしてみましょう。
もし、(その曲が、覚えやすい)かつ(プロデューサーが、有名)
  ならば、売れる。
  違えば、売れない。
上の式は極論ですが、曲そのものが素晴らしく、かつ、プロデューサーに力があってはじめて、ヒット曲が誕生する世の中です。曲が良いだけでは、売れないし、いくらプロデューサーが良くとも、曲が駄作なら、売れないのです。

ここで、「売れる」を、真に、「売れない」を、偽に、置き換えてみれば、上の、「かつ」の定義の意味がわかってもらえると思います。

もうひとつ例を出してみましょう。次は、「こだわりの店」として騒がれる時の条件です。
もし、(店員が、無愛想)かつ(ラーメンが、おいしい)
  ならば、こだわりの店。
  違えば、普通の店。
店員が無愛想なだけで、ラーメンがまずくても、ラーメンが美味しいだけでは、だめなんです。店員が無愛想で、かつ、ラーメンが美味しくなくては、こだわりの店とは言えません。

では、実際のひまわりのプログラムを作ってみましょう。
「あなたの年齢は?」と、尋ねる。
もし、(12{才}<=それ)かつ(それ<=15{才})ならば、「中学生でしょう」と、言う。
これは、年齢を尋ね、12歳から15歳の間であれば、「中学生でしょう」と、表示するプログラムです。
ここで、注目すべきは、「もし、(12<=それ<=15)ならば」と、書くと、エラーが出るか、正しく計算されないかのどちらかです。数値や文字の比較は、一度に、1組しか出来ないのです。

そこで、(少し面倒ですが・・・)「もし、12<=それ、かつ、それ<=15ならば、」のように、条件を、「かつ」でつないで式を作ります。

もし、AまたはBならば、・・・

次に、「または」の定義を見てみましょう。

(真)または(真)ならば・・・結果は、真。
(真)または(偽)ならば・・・結果は、真。
(偽)または(偽)ならば・・・結果は、偽。

です。これは、どちらか一方でも、真ならば、答えは、真であるということです。

 また、怪しいたとえを出してみます。
 街角でよくなんとか塾とか英会話教室のビラ等を配られますよね?そのビラを渡す人の条件を書いてみます。
もし、(職業が、学生)または(お金に余裕が、ありそう)
  ならば、ビラを渡す。
  違えば、無視する。
「または」は、日常会話でもよく使うので、分かりやすいですよね。

さて、実際のひまわりのプログラムを見てみましょう。
「あなたの年齢は?」と、尋ねる。
もし、それが、6{才}以下、または、それが、70{才}以上ならば,「入場無料です」と、言う。
そのままの日本語としても、通じますよね。

省略形

C言語を知っている人には、おなじみなんですが、「かつ」は、「&&」に、「または」は、「||」に省略して書くことが出来ます。
もし、(5<=A)&&(A<=8)ならば(
  「Aは、5〜8の間です。」と、言う。
)。

戻る