その3(複雑な条件をチェックする)
さてさて、「もし」の使い方を、覚えて頂いたところで、日本語プログラムの真髄?へ挑戦です。
「かつ」についての定義を書いてみます。
(真)かつ(真)ならば・・・結果は、真。
(偽)かつ(偽)ならば・・・結果は、偽。
(真)かつ(偽)ならば・・・結果は、偽。
どうでしょうか。
数学が得意な方なら、この説明で納得して頂けると思いますが、普通、これだけでは分からないと思います。
どういうことかと言うと・・・歌謡曲を例にしてみましょう。
上の式は極論ですが、曲そのものが素晴らしく、かつ、プロデューサーに力があってはじめて、ヒット曲が誕生する世の中です。曲が良いだけでは、売れないし、いくらプロデューサーが良くとも、曲が駄作なら、売れないのです。
もし、(その曲が、覚えやすい)かつ(プロデューサーが、有名)
ならば、売れる。
違えば、売れない。
ここで、「売れる」を、真に、「売れない」を、偽に、置き換えてみれば、上の、「かつ」の定義の意味がわかってもらえると思います。
もうひとつ例を出してみましょう。次は、「こだわりの店」として騒がれる時の条件です。
店員が無愛想なだけで、ラーメンがまずくても、ラーメンが美味しいだけでは、だめなんです。店員が無愛想で、かつ、ラーメンが美味しくなくては、こだわりの店とは言えません。
もし、(店員が、無愛想)かつ(ラーメンが、おいしい)
ならば、こだわりの店。
違えば、普通の店。
では、実際のひまわりのプログラムを作ってみましょう。
これは、年齢を尋ね、12歳から15歳の間であれば、「中学生でしょう」と、表示するプログラムです。
「あなたの年齢は?」と、尋ねる。
もし、(12{才}<=それ)かつ(それ<=15{才})ならば、「中学生でしょう」と、言う。
ここで、注目すべきは、「もし、(12<=それ<=15)ならば」と、書くと、エラーが出るか、正しく計算されないかのどちらかです。数値や文字の比較は、一度に、1組しか出来ないのです。
そこで、(少し面倒ですが・・・)「もし、12<=それ、かつ、それ<=15ならば、」のように、条件を、「かつ」でつないで式を作ります。
次に、「または」の定義を見てみましょう。
(真)または(真)ならば・・・結果は、真。
(真)または(偽)ならば・・・結果は、真。
(偽)または(偽)ならば・・・結果は、偽。
です。これは、どちらか一方でも、真ならば、答えは、真であるということです。
また、怪しいたとえを出してみます。
街角でよくなんとか塾とか英会話教室のビラ等を配られますよね?そのビラを渡す人の条件を書いてみます。
「または」は、日常会話でもよく使うので、分かりやすいですよね。
もし、(職業が、学生)または(お金に余裕が、ありそう)
ならば、ビラを渡す。
違えば、無視する。
さて、実際のひまわりのプログラムを見てみましょう。
そのままの日本語としても、通じますよね。
「あなたの年齢は?」と、尋ねる。
もし、それが、6{才}以下、または、それが、70{才}以上ならば,「入場無料です」と、言う。
C言語を知っている人には、おなじみなんですが、「かつ」は、「&&」に、「または」は、「||」に省略して書くことが出来ます。
もし、(5<=A)&&(A<=8)ならば(
「Aは、5〜8の間です。」と、言う。
)。