本記事では、Scratch(スクラッチ)3.0で使える「演算」カテゴリの「○かつ△」「○または△」「○ではない」ブロックを実例付きで分かりやすく解説しております。
「○かつ△」「○または△」「○ではない」ブロックは、制御ブロックなどで設定する条件を2つ同時に調べて1つの真偽ブロックとして使用する場合や、条件の真偽を逆転させる場合に使用します。
以下でもっと具体的に解説します。
Scratch(スクラッチ)のプログラミングを学ぶ上で、個々のブロックの本質を理解することはとても大事なことだと考えます。
お役に立てれば幸いです。
Scratch(スクラッチ)の基本的なことや全般的な内容に関しましては以下の別記事をご覧ください。
「演算」の「○かつ△」「○または△」「○ではない」ブロック 形状とオプション(Scratch3.0)
始めに、本記事で解説しますブロックの形状と指定可能なオプションについて説明します。
ブロックの形状
ブロックの形状は真偽ブロックです。
ブロックに書いてある条件を確認します。
指定可能なオプション
以下の値を指定できます。
定する場所 |
---|
(↑それぞれの赤枠部分) |
入力方法 |
真偽ブロック |
指定する内容 |
・2つ以上の同時に調べたい真偽ブロック ・真偽をひっくり返したい真偽ブロック |
単位 |
なし |
入力する文字種 |
なし |
備考 |
特記無し |
「演算」の「○かつ△」「○または△」「○ではない」ブロックの解説(Scratch3.0)
本記事で解説する内容や押さえておきたいポイントは以下のとおりです。
- ○と△の真偽ブロックが共に真のとき「○かつ△」は真
- ○と△の真偽ブロックのどちらか一方、もしくは両方が真のとき「○または△」は真
- ○が偽のとき「○ではない」は真
具体的な使い方を実例をまじえて解説します。
○と△の真偽ブロックが共に真のとき「○かつ△」は真
真偽ブロックは、条件を満たせば真、満たさなければ偽となります。
「○かつ△」ブロックは、真偽ブロックを2つ使って新たな条件を作ることができます。
例えば、以下の2つの条件があったとします。
- あなたは男性である
- 年齢が20歳より上である
上の1と2の条件は、それぞれ条件として使用できますが、例えば「あなたは男性、かつ、20歳より上」というように、2つの条件を合わせて新たな条件を作ることもできますね。
「あなたは男性、かつ、20歳より上」という条件は、男性であり20歳より上の場合のみ条件を満たすことになって、女性で22歳や男性で19歳、女性で15歳の場合は条件を満たしません。
整理しますと、以下の表のような結果になります。
男性である | 20歳より上である | 男性である、 かつ、 20歳より上である |
---|---|---|
真 | 真 | 真 |
偽 | 真 | 偽 |
真 | 偽 | 偽 |
偽 | 偽 | 偽 |
つまり、「○かつ△」ブロックの場合は、○の条件と△の条件が両方とも真の場合のみ「真」で、それ以外は「偽」ということになります。
Scratchで上の例のプログラムを作ってみましょう。
2つの質問に答えますと、ネコスプライトが真か偽か判断します。
○と△の真偽ブロックのどちらか一方、もしくは両方が真のとき「○または△」は真
「○または△」ブロックについても、上の「○かつ△」ブロックと同じように考えてみましょう。
「あなたは男性、または、20歳より上」という条件は、年齢は関係なくあなたが男性であるか、性別は関係なく20歳より上であるかというように、2つの条件のどちらか1つが条件を満たしていればよいという意味になります。
ですので、男性で25歳、男性で18歳、女性で22歳の場合は条件を満たします。
女性で18歳の場合は条件を満たしません。
整理しますと、以下の表のような結果になります。
男性である | 20歳より上である | 男性である、 または、 20歳より上である |
---|---|---|
真 | 真 | 真 |
偽 | 真 | 真 |
真 | 偽 | 真 |
偽 | 偽 | 偽 |
つまり、「○かつ△」ブロックの場合は、○の条件と△の条件が両方とも、もしくはどちらかひとつが真の場合に「真」で、両方とも偽の場合のみ「偽」ということになります。
Scratchで上の例のプログラムを作ってみましょう。
2つの質問に答えますと、ネコスプライトが真か偽か判断します。
○が偽のとき「○ではない」は真
「○ではない」ブロックは、○の真偽ブロックの真偽をひっくり返す場合に使用します。
つまり〇が真の場合は「○ではない」ブロックは偽に、○が偽の場合は「○ではない」ブロックは真になります。
「20歳より上である」という条件を例にしますと、「○ではない」ブロックによって、22歳は偽、18歳は真になります。
つまり、以下の表のような結果になります。
20歳以上である | 「20歳より上である」 ではない |
---|---|
真 | 偽 |
偽 | 真 |
「○ではない」ブロックの使いどころとしましては、制御ブロックの「もし◇なら」のようなブロックです。
「もし◇なら」は条件を満たす場合に特定の処理を行うブロックですが、特定の条件を満たさない場合に特定の処理を行う「もし◇でないなら」というブロックがあればよいのですが、現時点で無いんですよね。
そんな場合に「○ではない」ブロックを使うと便利です。
Scratchで上の例のプログラムを作ってみましょう。
質問に答えますと、ネコスプライトが真か偽か判断します。
まとめ
複数の条件を合わせて新たな条件を作ったり、条件を反転させるブロックは、今後プログラミングを学んでいくうえで避けて通れない重要なものです。
演算カテゴリのブロックの使い方を理解して楽しいプログラムを作ってみましょう!
本サイトでは他にもScratch(スクラッチ)に関する記事を公開しております。
よろしかったらご利用ください。
最後までお読みいただきありがとうございました!
(参考)
困ったときはいつもこのサイトを参照しています
コメント