今回は、スクラッチ(Scratch)やMakecodeの「かつ」「または」「ではない」ブロックの使い方を解説します。
- 真(true) と 偽(false)って何?
- 「かつ」「または」「ではない」ブロックの使い方を知りたい
という人向けです。
「かつ」「または」「ではない」ブロックが使えるようになると、条件分岐(もし~なら)で複雑な条件を使えるようになりますよ。
スクラッチを使って解説します。(MakeCodeなど他の言語でも考え方は同じです。)
なるべくむずかしい言葉は使わないようにしました。お子さんに説明する時の参考にしてください。
真(true) と 偽(false)とは
スクラッチの六角形のブロックは真偽(しんぎ)ブロックといいます。
MakeCodeも真偽ブロックは六角形です。
そもそも真(しん)と偽(ぎ)って何?ってことですが、カンタンに言うと
- 真はそうだよ
- 偽はちがうよ
という意味です。
英語で、真はtrue、偽はfalseと表現されます。
真偽ブロックはブロックの条件をみて、そうだったら真、ちがったら偽を返すブロックです。
「かつ」「または」「ではない」ブロックも真偽ブロックのひとつ。ブロックの中に入れた値どうしをくらべて、真または偽を返します。
かつ … AND(論理積)
両方とも真の場合のみ、結果は真
「かつ」ブロックは、2つの条件の両方が真なら、真を返すブロックです。それ以外の場合は、偽になります。
A | B | A かつ B |
---|---|---|
偽 | 偽 | 偽 |
偽 | 真 | 偽 |
真 | 偽 | 偽 |
真 | 真 | 真 |
上の表は真理値表といいます。真理値表は、入力の全ての組み合わせと対応する結果を表にしたものです。
「かつ」ブロックの使用例
ネコのスプライトをおしたとき、ネコが赤と黒にふれていたなら「おはよう!」と2秒言うプログラムです。
ふれているのが赤だけだったり、黒だけだった場合はセリフを言いません。
または … OR(論理和)
どちらかひとつでも真の場合、結果は真
「または」ブロックは、2つの条件のどちらかひとつでも真なら、真を返すブロックです。
A | B | A または B |
---|---|---|
偽 | 偽 | 偽 |
偽 | 真 | 真 |
真 | 偽 | 真 |
真 | 真 | 真 |
「または」ブロックの使用例
ネコのスプライトをおしたとき、ネコが赤または黒にふれていたなら「こんにちは!」と2秒言うプログラムです。
ふれているのが赤だけだったり、黒だけだった場合でもセリフを言います。
ではない … NOT(否定)
真なら偽に、偽なら真に
「ではない」ブロックは、値を反転するブロックです。真なら偽を、偽なら真を返します。
A | Aではない |
---|---|
真 | 偽 |
偽 | 真 |
「ではない」ブロックの使用例
ネコのスプライトをおしたとき、ネコが赤ふれていないなら「こんばんは!」と2秒言うプログラムです。
赤にふれている状態だとセリフを言いません。
まとめ
「かつ」「または」「ではない」ブロックの使い方について解説しました。
- かつ … 両方が真なら、真
- または … どちらかひとつでも真なら、真
- ではない … 値を反転する(真→偽、偽→真)
かつ(AND)、または(OR)、ではない(NOT)などのように真(true、1)または偽(false、0)の2つの値を使って演算することを、論理演算(ろんりえんざん)といいます。