プログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。
今回は「演算ブロック」のうちの「真」「偽」を返すブロックについて解説します。
1. 演算ブロックについて
スクリプトタブの「演算」のところをクリックする表示されるのが、演算ブロックです。
前回の記事で、演算ブロックは計算だけでなく、「真」「偽」という値(答え)を返したり、文字を返したりするブロックもあるとご紹介しました。
今回は「真」「偽」を返すブロックについて実験してみたいと思います。
2. 「真」「偽」を理解しよう
「真」「偽」って慣れていないと聞き慣れない言葉ですね。子供にもわかりやすい言葉にすると「ホント」「ウソ」が近いかもしれませんね・・・じゃあ、プログラミングでどんなときが真でどんな時が偽かを解説したいと思います。
2-1. 比較演算をやってみよう
例えば、仮にこんなブロックがあったとします。(実際にはこんな使い方はしませんが。)この式はおかしいですよね?1が4より大きいなんていうことはあり得ません。
このブロックをクリックしてみましょう。すると・・・
演算の結果、このブロックは「false」という値を返しました。
falseは日本語で「偽」=「式が正しくない」という意味です。
では、式が正しい時はどういう値が返ってくるでしょうか?正しい式にして、ブロックをクリックすると
演算の結果、このブロックは「true」という値を返しました。
trueは日本語で「真」=「式が正しい」という意味になります。
パッと見て計算を行っていないようなブロックも、「真」「偽」を返す演算を行っているので演算ブロックに含まれているんですね。
2-2. 「真」「偽」を返すブロックはどんなときに使うの?
足し算、引き算、掛け算、割り算の四則演算は使い方のイメージがわかりやすいですが、「真」「偽」を返すブロックはどんなときにつかうのでしょうか?
「真」「偽」を返すブロックは、次の制御ブロックと一緒に使います。
例えば、こんな使い方ができますよ。
このプログラムを実行すると・・・
ネコが「真」と言いました。「もし-なら」のすぐ下には、演算ブロックが「真」を返したときに実行される処理を入れておきます。「でなければ」の下の部分には演算ブロックが「偽」を返したときに実行される処理を入れておきます。
念のため、「偽」の時の処理も確認してみましょう。
このプログラムを実行すると・・・
はい。ネコは「偽」と言いました。演算ブロックが「偽」を返したときには、「でなければ」のところのプログラムが実行されることがわかりました。
3. 複雑な条件式はどうやって表現する?
プログラミングで欠かせない条件分岐。子供達には「かつ」「または」「でない」という言葉が難しいようです。これをわかりやすく伝える方法を子供達と一緒に考えましたのでご紹介します。
3-1.「かつ」「または」「でない」を子どもたちに教えるには
下の図のブロックはどんな使い方をするかというと、条件式を組み合わせたいときに使います。
例えば、こんな使い方をしますよ。
大人は「かつ」「または」「でない」が分かりますが、子供達にはちょっと難しい概念です。そんな時は、漫画「ワンピース」を題材に使って説明しています。
(1)ワンピースで「かつ」を説明する。
『海賊』かつ『海軍』は・・・?これは王下七武海です。(正確にはちょっと違うみたいなんですが、子どもたちは分かってくれました。)下の図でいうと、赤い部分です。
(2)ワンピースで「または」を説明する。
『海賊』または『海軍』は・・・?これは、海賊と海軍両方になります。下の図の赤い部分です。民間人や天竜人は対象外ですね。(たぶん)
(3)ワンピースで「ではない」を説明する。
『海賊』ではない・・・?は、海賊以外の人全部ということになります。下の図の赤い部分です。
「かつ」「または」「でない」の意味は、3-4年生ぐらいの子どもには少し難しいようです。5-6年生になってくるとちょっとづつ理解ができるようなので、焦らずゆっくり教えてあげてください。
2-3. 大なりイコール(≧)小なりイコール(≦)がない!
大なりイコール(≧)は「大なり(>)」かつ「イコール(=)」で式を作りましょう。
小なりイコール(≦)は「小なり(<)」かつ「イコール(=)」で式を作りましょう。
例えば・・・上の式がa≧3、下の式はb≦0です。
3. 「真」「偽」を返す演算ブロックまとめ
この記事では次のようなことをお伝えしました。
・「真」「偽」を返すブロックもある
・「かつ」「または」「でない」はワンピースで説明する
・大なりイコール(≧)小なりイコール(≦)は「かつ」で作る
「真」「偽」のところは、少し難しい概念ですが、ここが理解できればプログラミング初級者を脱出できます!試しにいろいろな数字を入れて、どんな値が返ってくるか実験してみてくださいね。