論理式の連結

 前回、論理とは何か?と言うテーマで記事を書きました。コンピューターでは様々な計算を論理演算として行なっており、論理演算を行なうための式を論理式と言います。そしてコンピューターを動かすプログラム自体が大きな論理式であるとも言えます。大規模で複雑なプログラムを構築する場合、複数の論理式を連結することがあります。論理式を連結する符号(記号)を論理演算子と言います。

 ここでは、代表的な論理演算子、論理積(AND:アンド)と論理和(OR:オア)について述べます。

論理積(AND:アンド)

 論理演算では、論理式が成り立つ場合を「TRUE(真)」、成り立たない場合を「FALSE(偽)」と表します。また、「TRUE(真)」は「1」は「FALSE(偽)」は「0」と表すこともあります。詳細はこちら。 

 以下の例では、左側の論理式A( x が3以上 )と右側の論理式B( x が5以下 )を論理積(AND:アンド)で連結しています。この論理式が「TRUE(1)」になるのは、論理式A、論理式Bともに「TRUE(1)」の場合だけになりますので、両方の式が成り立つ x の値は3~5の値になります。

x >= 3 AND x <= 5

 以下の表1ように論理積(AND:アンド)で連結された論理式すべてが、「TRUE(1)」の場合のみ A AND B の結果が「TRUE(1)」、それ以外はすべて、「FALSE(0)」となります。以下のベン図1では、論理式A、論理式Bともに成り立つ場合(TRUE)のみ A AND B が成り立つ(TRUE)ので、その範囲はAとBの円が重なった、オレンジ色の部分になります。

論理式A論理式BA AND B
TRUE(1)TRUE(1)TRUE(1)
FALSE(0)TRUE(1)FALSE(0)
TRUE(1)FALSE(0)FALSE(0)
FALSE(0)FALSE(0)FALSE(0)
表1:論理積(AND:アンド)
ベン図1:論理積(AND:アンド)

 もし分かりにくい場合はかけ算をしてみてください。論理式Aも論理式Bも「TRUE(1)」なら、1×1で1つまり A AND B の結果は「TRUE(1)」。論理式Aか論理式Bのどちらかでも「FALSE(0)」なら、0をかければ答えはすべて0になるので、A AND B の結果は「FALSE(0)」になります。論理積(AND:アンド)は「積」つまりかけ算なのです。また、A AND Bは日本語でA かつ Bと表すと、より分かりやすいと思います。

論理和(OR:オア)

 以下の例では、左側の論理式A( x が5以上 )と右側の論理式B( y が5以上 )を論理和(OR:オア)で連結しています。この論理式が「TRUE(1)」になるのは、論理式A、論理式Bどちらかでも「TRUE(1)」の場合になります。

x >= 5 OR y >= 5

 以下の表2ように論理和(OR:オア)で連結された論理式のうちどれかひとつでも、「TRUE(1)」の場合、 A OR B の結果はすべて「TRUE(1)」になります。「FALSE(0)」になるのは、論理和(OR:オア)で連結されたすべての論理式が、「FALSE(0)」になるときだけです。以下のベン図2では、論理式A、論理式Bどちらかが成り立つ場合(TRUE)は A OR B が成り立つ(TRUE)ので、その範囲はAとBの円すべて。オレンジ色の部分になります。

論理式A論理式BA OR B
TRUE(1)TRUE(1)TRUE(1)
FALSE(0)TRUE(1)TRUE(1)
TRUE(1)FALSE(0)TRUE(1)
FALSE(0)FALSE(0)FALSE(0)
表2:論理和(OR:オア)
ベン図2:論理和(OR:オア)

 もし分かりにくい場合はたし算をしてみてください。論理式Aも論理式Bも「TRUE(1)」なら、1+1で2(0ではない)つまり A OR B の結果は「TRUE(1)」。論理式Aも論理式Bも「FALSE(0)」なら、0+0で0 つまりA OR B の結果は「FALSE(0)」になります。論理和(OR:オア)は「和」つまりたし算なのです。また、A OR Bは日本語でA もしくは Bと表すと、より分かりやすいと思います。

人生はOR(オア)で行こう!

 ここまでで、皆さんはすでにお気づきでしょうか?論理積(AND:アンド)は、連結する論理式が増えれば増えるほどどんどん合致する(TRUEになる)条件が少なくなること。一方、論理和(OR:オア)は連結する論理式が増えれば増えるほどどんどん合致する(TRUEになる)条件が多くなることを。

 例えば、ガールフレンドを探しているとします。人の好みは様々なので、条件がいくつかあったとします。それをすべて論理積(AND:アンド)で連結してしまうと、かわいい AND やさしい AND おっぱいおおきい となりすべての条件を満たさなくてはならなくなります。そうすると対象の女の子は極端に少なくなってしまいます。

ベン図3:論理和(OR:オア)

 一方、条件を論理和(OR:オア)で連結すると、かわいい OR やさしい OR おっぱいおおきい となり、どれかひとつでも条件を満たせばよいので、対象の女の子は大いに増えることになります。

ベン図4:論理積(AND:アンド)

 このように好みの条件の幅を広げ、お相手のよいところをたくさん見つけて、歩み寄り、受け入れる姿勢を大切にすれば、多くの人が幸せになれるかもしれません。心にOR(オア)を。人生はOR(オア)で行きましょう!

 最後にひとつだけ言わせていただきます。女性を容姿や胸の大きさで判断するのはよくないことです。

個別指導IT塾
ロボットプログラミング教室
オンライン英会話
PC修理・トラブル対応・カスタム
PC販売・中古PC販売・不要PC回収
インターネット回線・セキュリティ