2020年からの小学校でのプログラミング教育必修化に伴って、プログラミングへの関心が高まっています。
そして、教育用のプログラミング言語として人気があるのが、スクラッチ(Scratch)で、色々なゲームや作品を作ることができます。
でも、ゲーム作りだけでなく、プログラミングの基本や考え方も学んでみたいというお子さんや、学ばせたいという親御さんもいらっしゃるのではないでしょうか?
そこで、学びプラスでは「スクラッチで学ぶプログラミング」シリーズを公開中です!
今回は、スクラッチを使って、真偽(True, False)の考え方を理解していきたいと思います。この真偽の考え方は、プログラミングや数学でも用いられるので、ぜひ理解していきましょう!
目次
【スクラッチ】真偽値(しんぎち)とは何?
真偽値(しんぎち)とは、「真」か「偽」のどちらが入っている値のことです。
もっと簡単に言い換えると、「真」は「正しい(True)」、「偽」は「間違っている(False)」といえます。
では、スクラッチで真偽値を見ていきましょう。
数字の大きさ比較ができるブロック(比較演算ブロック)を使っていきます。
「演算」の中から、〇>50 ブロックを選んできます。
100は50より大きいので、この式は「正しい」です。
このブロックは、式が正しい場合は、True(トゥルー) という値を返します。
では、同じブロックの中身を変えていきます。
0は50より大きくないので、この式は「間違っている」です。
そのためこのブロックは、False(フォルス)という値を返します。
比較演算ブロックは、他にもこのようなものがあります。
〇<50 ブロックは、数字を比較して小さければ、Trueを返します。 そうでなければFalseを返します。
〇=50 ブロックは、数字を比較して同じ値であれば、Trueを返します。そうでなければFalseを返します。
なお、プログラミングの世界では、真偽値のことを「ブール値」(boolean)ともいわれるので、覚えておくと良いでしょう!
まとめると、
「真」は、その式が「正しい」(True)ということ
「偽」は、その式が「間違っている」(False)ということ
【スクラッチ】真偽値を使ってみよう
では、真偽値をどのように使うのか解説していきます!
先ほどの比較演算ブロック(〇>50 ブロック)を使っていきます。
そして、真偽値を使うために、「制御」から、もし~なら ブロックを選んできます。
このプログラムの意味は、もし100が50より大きいならば、こんにちは!と言います。
100は50より大きい(正しい)ので、比較演算ブロックは、Trueを返します。
もし~なら ブロックは、Trueが返されたときに、その中の処理(この場合はこんにちは!と言う)を実行します。
では次に、このプログラムはどうなるでしょうか?
このプログラムを実行しても、こんにちは!と言いません。
その理由は、0は50より大きくない(間違っている)ので、比較演算ブロックはFalseを返すためです。
もし~なら ブロックは、Falseが返されると、その中の処理を実行しません。
このように「制御」のブロックを使うことで、真偽値を使ったプログラムを作ることができます。
制御のブロックの詳細は、以下のページでも解説しています!
【スクラッチ】条件「かつ」、「または」を使ってみよう
次に、 「かつ」と「または」についてを解説していきます。
「かつ」や「または」は、比較演算ブロックを複数使って、真偽値を返すブロックを使います。
では、早速見ていきましょう。
条件「かつ」で真偽値を返す
「かつ」というのは、2つの条件がどちらも正しい場合にTrueを返します。
「演算」の、<>かつ<> ブロックを使っていきます。
このプログラムでは、100は50より大きい(正しい)、そして70は50より大きい(正しい)ので、Trueを返します。
また、2つの条件のどちらかが間違っているときや、どちらも間違っているときは、Falseを返します。
次のプログラムは、100は50より大きい(正しい)ですが、0は50より大きくない(間違っている)ので、Falseを返します。
このブロックは、どちらの条件も正しいときに処理をおこないたいときに使います。
条件「または」で真偽値を返す
「または」というのは、2つの条件のどちらかが正しい場合に、Trueを返します。
「演算」の、<>または<> ブロックを使っていきます。
100は50より大きく(正しい)、0は50より大きくない(間違っている)ですが、どちらかの条件が正しければ、Trueを返します。
どちらかの条件が正しければTrueを返すので、どちらの条件も正しい場合もTrueを返します。
どちらの条件も間違っている場合は、Falseを返します。
まとめ:真偽値を使って、プログラミングしよう
プログラミングでは、「もし~なら」などの条件分岐を使って、この場合はこの処理をしたいということが多くあります。
そのときに、真偽値を使うことで色々なゲーム作りにも活用することができます。
真偽値の考え方や使い方を、スクラッチで試して慣れていきましょう!