「論理」を使おう(1)
今回は前回で紹介した「論理」についてもう少し詳しく説明します。
シミュレーターでも実機と同じ使い方ができるようになっていますので、今回も無料でできます🌟
実機を買うのは、遊び方や使い方を覚えてからでも遅くありません😁
「論理」って何?
「論理」なんて言うとちょっと難しそうに聞こえますよね? でも大丈夫です!
これは「もしAだったら、Bする」と言い換えることができます。皆さんも使っていることなんですよ🌼
例えば、
- もしテストで100点をとったら、100円あげる。
- もし信号が青だったら、横断歩道を渡る。
など、日常でも使っていますよね?
これと同じことをmicro:bitに教えてあげることなんです👍
前回は
- もし明るさが100より大きければ、音を鳴らす。
としました。
この
- テストで100点をとったら
- 信号が青だったら
- 明るさが100より大きければ
のことを条件と呼びます。
また
- 100円あげる
- 横断歩道を渡る
- 音を鳴らす
のことを処理と呼びます。
これをmicro:bitの命令に置き換えると
- もし条件が真なら、処理をする。
となります。
あれれ??
見覚えのない言葉がでてきました・・・
真って何でしょう??
真と偽
実は「論理」にはもう一つ覚えなければならない言葉として「真(しん)」と「偽(ぎ)」があります。
さっきの文章で見ていくと、次の黄色いマークがついている箇所が「真偽」となります。
- もしテストで100点をとったら、100円あげる
- もし信号が青だったら、横断歩道を渡る
- もし明るさが100より大きければ、音を鳴らす
詳しく見ていきましょう。
例題1
- もしテストで100点をとったら、100円あげる
上の文では、テストが100点であることが「真」となります。ですが、テストで100点とれるかどうかは分かりませんよね?
つまり
- テストが100点だった=真
- テストが100点じゃなかった=偽
となります。
例題2
- もし信号が青だったら、横断歩道を渡る
上の文では、信号が青であることが「真」となります。でも、信号は時間によって変わりますよね?
つまり
- 信号が青=真
- 信号が赤=偽
となります。
例題3
- もし明るさが100より大きければ、音を鳴らす
上の文では、明るさが100であることが「真」となります。でも、明るさも朝と夜では違ってきますよね?
つまり
- 明るさが100である=真
- 明るさが90である=偽
- 明るさが80である=偽
- 明るさが70である=偽
- …
となります。
まとめ
めちゃくちゃ簡単に言うと、
- 「真」というのは、条件に合っていること
- 「偽」というのは、条件に合っていないこと
なんです。
micro:bitで考えよう
では、真偽がわかったところで、これをmicro:bitに当てはめて考えてみましょう。
mirco:bitの「論理」命令は次のような形になっています。
この命令ブロックを配置しただけではmicro:bitは動作しません。なぜだか分かりますか?
上の文章と比べてみると分かりやすいかもしれません。
- もし信号が青だったら、横断歩道を渡る。
- もし真だったら、 。
そう。
1にある条件と処理が、2にはありませんね。この二つがないと論理命令は動きません。
では、まず条件を作りましょう。
条件を作ろう!
micro:bitで条件を作るには「論理」から「くらべる」のところにあるブロックをクリックします。2つ並んでいますが、実はどちらも同じブロックなので、どちらをクリックしても構いません。
このブロックは左の数字(0)、記号(=)、右の数字(0)があり、それぞれを変えることができます。
左右の数字にはいろんな数字を入れることができますが、あまり大きな数を入れてしまうと「1e+23」のようによく分からない数字が入ってしまいます。大きな数についてはずっと後で説明しますが、しばらくは1000くらいまでを入力するようにしましょう。
さて、この先の説明をするにあたって、どちらも数字だと分かりにくくなるので、左の数字を「明るさ」に変えてしまいましょう。
ちなみに、「明るさ」にはmicro:bitがセンサーで取得した「明るさの数字」が入っています。この数字は0(とても暗い)から255(とても明るい)のうちのどれかになります。
-
「入力」から「明るさ」をクリックします。
-
「明るさ」を「条件」の左側にドラッグします。
これで準備完了です。
つぎは、真ん中の「=」について説明します。
「=」は等号(とうごう)と呼ばれるもので、いくつか種類があります。クリックして変えることができますが、それぞれの意味は次の通りです。
- = は「明るさ」と右の数字が同じ、という意味です。
- ≠ は「明るさ」と右の数字が違う、という意味です。
- < は右の数字が「明るさ」より大きい、という意味です。
- ≦ は右の数字が「明るさ」以上、という意味です。
- > は「明るさ」が右の数字より大きい、という意味です。
- ≧ は「明るさ」が右の数字以上、という意味です。
どの条件を作ってもいいのですが、分かりやすくするためにここでは>を使い、右の数字を100にしましょう。
これで「明るさ」が「100」より大きいという条件ができました!
この条件を「論理「もし[真▼]なら」の中に入れましょう。
これで論理「もし「明るさ」が100より大きいなら」の完成です!
処理を決めよう!
さあ!完成までもう少しです。
「論理」命令には条件と処理が必要でしたね?
条件のところまでは出来ているので、ここでは処理を決めましょう!
micro:bitの処理は無数にありますが、ここでは前回と同じく音を鳴らすことにしましょう!
「音楽」から「音を鳴らす(Hz)[真ん中のド] 長さ[1▼拍]」をクリックします。
これを先ほどの「論理」命令の中に入れましょう。
おめでとうございます‼️
これで論理命令「もし「明るさ」が100より大きかったら、音を鳴らす」の完成です‼️‼️
鳴らしてみよう!
とうとう論理命令が完成しましたね✨
では早速鳴らしてみましょう♪
と言いたいところですが、このままだとmicro:bitは動いてくれません。。。
というのも、micro:bitは論理命令だけだと「いつやればいいの?」が分からないんですね🤔
ですので、micro:bitに「いつやればいいのか」を教えるために、前々回や前回でやったように「Aボタンが押された時」とか「ずっと」などの命令の中に論理命令を入れてあげましょう。
ここでは「ずっと」の中に入れることにします。
いままで分かりにくかったブロックそれぞれに色がつきましたね。これはmicro:bitに正しく命令が送れますよ、という合図なんです。
とうとう完成しました!
では画面左のシミュレーターで明るさを変えてみましょう🔆
実行する
画面左のシミュレーターの左上に「明るさ」を示すマークがついています。
このマークをマウスでドラッグして動かすことで、明るさを0から255の範囲で動かすことができます。
「明るさ」が100より大きくなければ(0-100)、音が鳴らないことを確認してください。
「明るさ」が100より大きければ(101-255)、音が鳴ることを確認してください。
ちゃんと動きましたか?
動かない場合は最初から見直してみましょう。
最後に
「論理」命令はとてもよく使います。これがないとmicro:bitの本領を全く発揮できない!と言ってもいいくらい大事な命令ですので、他にも色々試してみて、ぜひ使いこなせるようになってください!
次回は「論理」命令ブロックに残っているその他の命令を説明します。
最後までご覧いただき、ありがとうございます。
ではまた!
コメント