# 条件分岐、もし

その３（複雑な条件をチェックする）

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

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

> 「かつ」についての定義を書いてみます。
> （真）かつ（真）ならば・・・結果は、真。
> （偽）かつ（偽）ならば・・・結果は、偽。
> （真）かつ（偽）ならば・・・結果は、偽。
> どうでしょうか。
> 数学が得意な方なら、この説明で納得して頂けると思いますが、普通、これだけでは分からないと思います。
> どういうことかと言うと・・・歌謡曲を例にしてみましょう。

> もし、（その曲が、覚えやすい）かつ（プロデューサーが、有名） ならば、売れる。 違えば、売れない。

> 上の式は極論ですが、曲そのものが素晴らしく、かつ、プロデューサーに力があってはじめて、ヒット曲が誕生する世の中です。曲が良いだけでは、売れないし、いくらプロデューサーが良くとも、曲が駄作なら、売れないのです。
> ここで、「売れる」を、真に、「売れない」を、偽に、置き換えてみれば、上の、「かつ」の定義の意味がわかってもらえると思います。
> もうひとつ例を出してみましょう。次は、「こだわりの店」として騒がれる時の条件です。

> もし、（店員が、無愛想）かつ（ラーメンが、おいしい） ならば、こだわりの店。 違えば、普通の店。

> 店員が無愛想なだけで、ラーメンがまずくても、ラーメンが美味しいだけでは、だめなんです。店員が無愛想で、かつ、ラーメンが美味しくなくては、こだわりの店とは言えません。
> では、実際のひまわりのプログラムを作ってみましょう。

> 「あなたの年齢は？」と、尋ねる。 もし、(12{才}<=それ)かつ(それ<=15{才})ならば、「中学生でしょう」と、言う。

> これは、年齢を尋ね、１２歳から１５歳の間であれば、「中学生でしょう」と、表示するプログラムです。
> ここで、注目すべきは、「もし、（１２＜＝それ＜＝１５）ならば」と、書くと、エラーが出るか、正しく計算されないかのどちらかです。数値や文字の比較は、一度に、１組しか出来ないのです。
> そこで、（少し面倒ですが・・・）「もし、１２＜＝それ、かつ、それ＜＝１５ならば、」のように、条件を、「かつ」でつないで式を作ります。

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

> 次に、「または」の定義を見てみましょう。
> （真）または（真）ならば・・・結果は、真。
> （真）または（偽）ならば・・・結果は、真。
> （偽）または（偽）ならば・・・結果は、偽。
> です。これは、どちらか一方でも、真ならば、答えは、真であるということです。
> また、怪しいたとえを出してみます。
> 街角でよくなんとか塾とか英会話教室のビラ等を配られますよね？そのビラを渡す人の条件を書いてみます。

> もし、（職業が、学生）または（お金に余裕が、ありそう） ならば、ビラを渡す。 違えば、無視する。

> 「または」は、日常会話でもよく使うので、分かりやすいですよね。
> さて、実際のひまわりのプログラムを見てみましょう。

> 「あなたの年齢は？」と、尋ねる。 もし、それが、6{才}以下、または、それが、70{才}以上ならば,「入場無料です」と、言う。

> そのままの日本語としても、通じますよね。

## 省略形

> C言語を知っている人には、おなじみなんですが、「かつ」は、「&&」に、「または」は、「||」に省略して書くことが出来ます。

> もし、(5<=A)&&(A<=8)ならば（ 「Aは、５〜８の間です。」と、言う。 ）。

戻る