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を返します。

まとめ:真偽値を使って、プログラミングしよう

プログラミングでは、「もし~なら」などの条件分岐を使って、この場合はこの処理をしたいということが多くあります。

そのときに、真偽値を使うことで色々なゲーム作りにも活用することができます。

真偽値の考え方や使い方を、スクラッチで試して慣れていきましょう!