micro:bitプログラミング(7)「論理」を使おう!(3)

「論理」を使おう(3)

前回からの続きで「論理」の最終回です!
最後に残っている「真偽値」について説明します!

シミュレーターでも実機と同じ使い方ができるようになっていますので、今回も無料でできますよ🌟
実機を買うのは、遊び方や使い方を覚えてからでも遅くありません💖

真偽値

命令ブロックの「論理」の中を見てみましょう。
前回までに勉強した「条件判断」と「くらべる」の下に「真偽値」というのがありますね。

「真偽値」ブロック

「真偽値」ブロック



今日はこのうちの「かつ」、「または」、「ではない」について説明したいと思います。

かつ

条件ブロック「かつ」をよく見ると「<> かつ <>」となっているのがわかります。左右の<>には、前回作ったような条件が入ります。

例えば

  • <明るさが100以上だったら>
  • <温度が10度以下だったら>
  • <Aボタンを押していたら>

などですね。

これらの条件を「かつ」で繋げ「<条件A>かつ<条件B>」のような「複数の条件をまとめた条件」を作るのがこのブロックです。
この「かつ」というのは条件A条件Bがどちらもでないといけません。

例えば

  • 国語のテストで90点以上、かつ、算数のテストで80点以上

という条件があった場合について考えましょう。

No. 国語のテスト 算数のテスト 真偽値
(1) 100 100
(2) 90 80
(3) 85 75
(4) 100 75
(5) 85 100

  • (1)と(2)はどちらも条件をクリアしているので、真
  • (3)はどちらも条件をクリアしていないので、偽
  • (4)は算数の点数がクリアできていないので、偽
  • (5)は国語の点数がクリアできていないので、偽

となります。

それと初心者がやりがちな次の二つの条件に気をつけてください!

どっちか一つが成り立てばOKという条件を書いてしまう

これは例えば次のような条件です。

  • 「明るさ」が120以上、かつ、「明るさ」が100以上

明るさが120以上あれば前の条件も後ろの条件もクリアしてしまいます。ということは

  • 「明るさ」が120以上だったら

という一つの条件にまとめられるので、後ろの条件は要りませんね。

一方が真なら一方が偽になる条件を書いてしまう

これは例えば次のような条件です。

  • 「明るさ」が50より小さい、かつ、「明るさ」が100より大きい

条件Aが真になれば条件Bが偽になり、条件Aが偽になれば条件Bが真になるので、絶対にどちらも真になりません。

または

条件ブロック「または」を見ていきましょう。

よく見ると条件ブロック「かつ」と似ていますね?

実は「かつ」と「または」は同じブロックなんですねー。「▼」をクリックすることで「かつ」と「または」を切り替えることができますよ!

でも、見た目は似ていても中身は違いますよ!

「かつ」は「どちらも真」である必要がありましたが、「または」は「どちらかが真」ということを表します。

次のような条件

  • 国語のテストで90点以上、または、算数のテストで80点以上

があった場合について考えましょう。

No. 国語のテスト 算数のテスト 真偽値
(1) 100 100
(2) 90 80
(3) 85 75
(4) 100 75
(5) 85 100

  • (1)と(2)はどちらも条件をクリアしているので、真
  • (3)はどちらも条件をクリアしていないので、偽
  • (4)は算数の点数がクリアできていませんが、国語のテストはクリアしているので、真
  • (5)は国語の点数がクリアできていませんが、算数のテストはクリアしているので、真

となります。

どちらか一つが真であれば成り立つので、真の方が多くなりますね。

ではない

実はこれ、ちょっとややこしい条件なのでさらっとだけ触れます。

今後このブログ内でも触れることがあるかもしれませんが、現段階では混乱するだけだと思うので、本当に簡単に触れて終わります。

「ではない」は見ての通り、前に条件が必要です。

条件とは、例えば

  • 国語のテストが90点以上である
  • 信号が青である

というものですね。

この条件ブロックは、上の条件の後に「ではない」をくっつけます。

すなわち「ではない」をくっつけることによって、↑の条件が↓のように変わります。

  • 国語のテストが90点以上ではない
  • 信号機が青ではない

でも、これって実は「論理」命令ブロック内の「くらべる」の条件ブロックで表現できてしまうんです。。。(今の所、ですが)

なので、しばらくmicro:bitに慣れるまでは無視していいと思います。

最後に

ようやく「論理」ブロックを一通り説明できました。

さらっとしか触れていない「ではない」や、全く説明しなかった「真」「偽」のブロックについては、もう少し勉強を進めてから説明しますね。

多分、今の段階で詳しく説明しちゃうと頭が混乱して「micro:bitなんか嫌いだーーーーっっ!」ってなっちゃうのでw

今日はmicro:bitの勉強という感じがしませんでしたねw

次回からはまたmicro:bitを触って色々やっていこうと思います。

最後まで読んでいただいてありがとうございました🤗

コメント