【子ども向け】論理演算(かつ・または・ではない)とは?Scratchを使ってわかりやすく解説

プログラミングをしていると、「もし~ならどうする?」という判断はんだんがたくさん出でてきます。

たとえば、

  • ボタンをおしたら動うごく
  • ぶつかったら止とまる
  • スコアが10以上いじょうになったらクリア

のように、「条件じょうけん」によって動うごきを変かえる必要ひつようがあります。

 

でも、条件じょうけんが2つ以上いじょうになると、

  • こっちも、あっちも…どう考かんがえればいいの?
  • 「かつ」「または」「ではない」って出でてきたけど、これっていったい何なに?
  • 言葉ことばの意味いみがにていて混乱こんらんする

と なやむことが あるかもしれません。

 

そこで、この記事きじでは論理演算(ろんりえんざん)の考かんがえ方かたを、むずかしい言葉ことばをできるだけ使つかわずに説明せつめいします。

論理ろんり演算えんざんは、

  • 真しん(true) =はい・正ただしい
  • 偽にせ(false)=いいえ・正ただしくない

のどちらかで考かんがえて、物事ものごとを決きめたり 考かんがえたりする方法ほうほうです。

「かつ(AND)」「または(OR)」「ではない(NOT)」これら3つのルールを組くみ合あわせることで、プログラムに「どんなときに動うごくのか」「どんなときは動うごかないのか」を、伝つたえることができます。

 

スクラッチで例れいをあげながら、ひとつずつ説明せつめいしていくので、安心あんしんして読よみ進すすめてくださいね。(MakeCodeなど他ほかの言語げんごでも考かんがえ方かたは同おなじです)

 

スポンサーリンク

真(true) と 偽(false)とは

真偽ブロック

プログラミングでは、ものごとを「はい」「いいえ」で判断はんだんするときに、

  • 真しん(true)
  • 偽ぎ(false)

という2つの値あたいを使つかいます。

「はい/いいえ」をそのまま表あらわす値あたいだと考かんがえると、イメージしやすいです。

 

たとえば、

  • 「今いま、雨あめがふっている?」 → ふっていれば真しん、ふっていなければ偽ぎ
  • 「宿題しゅくだいをおわらせた?」 → おわっていれば真しん、まだなら偽ぎ

というように、きかれたことが「正ただしいかどうか」を判断はんだんして使つかいます。

 

スクラッチでは、この「真しん」か「偽ぎ」かを返かえすブロックが六角形ろっかくけいになっていて、「真偽しんぎブロック」と呼よばれます。
MakeCodeでも真偽しんぎブロックは六角形ろっかくけいになっています。

 

論理演算 3つのルール

論理ろんり演算えんざんには、特とくに大事だいじな3つのルールがあります。

  • かつ(AND)  :両方りょうほうとも正ただしいときだけ、結果けっかも正ただしい
  • または(OR)  :どちらか一ひとつでも正ただしければ、結果けっかは正ただしい
  • ではない(NOT):反対はんたいの意味いみにひっくり返かえす

では、ひとつずつ説明せつめいしていきます。

 

かつ … AND(論理積)

「かつ(AND)」は、2つのことが どちらも真しんだったときにだけ OK(真しん)になる考かんがえ方かたです。

論理演算 AND

両方とも真の場合のみ、結果は真

たとえば、

  • 「雨あめがふっている かつ 寒さむい」
  • 「宿題しゅくだいができている かつ お手伝てつだいもした」

この2つのことが両方りょうほうほんとう(真しん)なら、結果けっかも真しんになります。
どちらかひとつでも できていなかったら偽ぎです。

A B A かつ B
偽ぎ 偽ぎ 偽ぎ
偽ぎ 真しん 偽ぎ
真しん 偽ぎ 偽ぎ
真しん 真しん 真しん

上うえの表ひょうは真理値表しんりちひょうといいます。条件じょうけんの組くみ合あわせと結果けっかをまとめたものです。

 

「かつ」ブロックの使用例

Scratch かつブロック

ネコのスプライトをクリックしたとき、ネコが「赤あか」と「黒くろ」のどちらにもふれているなら「おはよう!」と言いうプログラムです。

「かつ」ブロックは、2つの条件じょうけんの両方りょうほうが真しんなら 真しんを返かえし、それ以外いがいの場合ばあいは 偽ぎを返かえします。

そして「もし~なら」は、条件じょうけん(~の部分ぶぶん)が真しんのときに中なかの処理しょりを動うごかすブロックです。

つまり、

  1. 赤あかに触ふれた? → はい(真しん)
  2. 黒ぐろに触ふれた? → はい(真しん)
  3. 「赤あかに触ふれた(真しん)」 かつ 「黒くろに触ふれた(真しん)」 → はい(真しん)
  4. 「もし~なら」ブロックの「~」の部分ぶぶんが真しんになるので、中なかの処理しょり(「おはよう!」と言いう)が動うごく

という流ながれになっています。

2つの「はい(真しん)」がそろったときだけ真しんになるので、ネコは「赤あかだけ」「黒くろだけ」のときには何なにも言いわない、というわけです。

 

または … OR(論理和)

「または(OR)」は、どちらか1つでも真しんならOK(真しん)! という考かんがえ方かたです。

論理演算 OR

どちらかひとつでも真の場合、結果は真

たとえば、

  • 晴はれ または くもりなら 運動会うんどうかいをやる
  • ぼうしかぶる または 日焼ひやけ止どめをぬって 外出がいしゅつする

どちらかひとつでもできていれば真しんです。
両方りょうほうできていないときだけ偽ぎになります。

A B A または B
偽ぎ 偽ぎ 偽ぎ
偽ぎ 真しん 真しん
真しん 偽ぎ 真しん
真しん 真しん 真しん

 

「または」ブロックの使用例

Scratch またはブロック

ネコのスプライトをクリックしたとき、ネコが赤あかまたは黒くろにふれているなら「こんにちは!」と言いうプログラムです。

「または」ブロックは、2つの条件じょうけんのどちらかひとつでも真しんなら、真しんを返かえします。
なので、ふれているのが「赤あかだけ」「黒くろだけ」のときでも「こんにちは!」と言いいます。

 

ではない … NOT(否定)

「ではない(NOT)」は、真しんと偽ぎを反対はんたいにする考かんがえ方かたです。

論理演算 NOT

真なら偽に、偽なら真に

  • 「ライトが消きえている ではない」 → ライトがついている
  • 「雨あめがふっている ではない」   → 雨あめはふっていない

このように、反対はんたいの意味いみになります。

A Aではない
真しん 偽ぎ
偽ぎ 真しん

 

「ではない」ブロックの使用例

Scratch ではない

ネコのスプライトをクリックしたとき、ネコが赤あかにふれていないなら「こんばんは!」と言いうプログラムです。

「ではない」ブロックは、値あたいをひっくり返かえす(真しん⇔偽ぎを入いれかえる)ブロックです。

つまり、

  1. 赤あかに触ふれた? → いいえ(偽ぎ)
  2. 「赤あかに触ふれた(偽ぎ)」ではない → 偽ぎの反対はんたいなので 真しん
  3. 「もし ~ なら」ブロックの「~」が真しんになるので、中なかの処理しょり(「こんばんは!」と言いう)が動うごく

という流ながれになります。

赤あかにふれているときは「赤あかにふれた? → はい(真しん)」となるので、
真しん ではない → 偽ぎとなり、ネコは何なにも言いいません。

 

まとめ

真しん(true)と偽ぎ(false)という2つの値あたいを使つかって判断はんだんするしくみを、論理ろんり演算えんざんといいます。

  • 真しん・偽にせ → はい・いいえ を表あらわす
  • かつ(AND)  :両方りょうほうとも正ただしいときだけ、結果けっかも正ただしい
  • または(OR)  :どちらか一ひとつでも正ただしければ、結果けっかは正ただしい
  • ではない(NOT):反対はんたいの意味いみにひっくり返かえす

最初さいしょは少すこしむずかしく見みえるかもしれませんが、じつは生活せいかつの中なかでも自然しぜんと使つかっている考かんがえ方かたです。

論理ろんり演算えんざんがわかると、プログラムに「どんなときに動うごくのか」をはっきり伝つたえられるようになります。

たとえばゲームなら、

  • 敵てきにぶつかっていなくて、ジャンプボタンをおしたら
  • スコアが10以上いじょうまたは宝石ほうせきをゲットしたら

…といったように、思おもいどおりのルールや動うごきを作つくれるようになります。

少すこしずつ練習れんしゅうしていけば、きっと自分じぶんの作品さくひんがもっとおもしろく、もっと自由じゆうになりますよ。
あせらず、一歩ぽずつ進すすんでいきましょう!

 

\【PR】オールカラー総ルビで読みやすい/
タイトルとURLをコピーしました