小学校授業でのスクラッチ事例(クイズで条件分岐を学ぶ)
プログラミングの基本のひとつに条件分岐というものがあります。
「もしAなら、Bをする」といったものです。
この条件分岐をスクラッチで学ぶときのサンプル事例を作成しました。
クイズの問題を作って、正解かを判定するプログラムです。
クイズで学ぶ条件分岐の完成イメージ
問題を出す画面
ここでは「2×2は?」というクイズ(問題)を出しています。
答えは、下のボックスにキーボードから入力します。
正解だったときの画面
入力された答えを見て、正解だったら「正解用の画面」を出力。
不正解だった時の画面
入力された答えが間違っていた場合は、不正解の画面を出力します。
条件分岐のプログラム例
ネコのスプライト(キャラクター)に次のようなプログラムを組めば条件分岐を行えます。
(2×2は?)のところがクイズの問題。
答え=(4)のところがクイズの答えです。
【(2×2は?)と聞いて待つ】のブロックは、「調べる」の中にあります。
最初は(What's your name?)と聞いて待つになっているので、(What's your name?)をクイズの問題に書き換えます。
【答え】のブロックも、「調べる」の中(…と聞いて待つの下)にあります。
条件分岐のブロックがあるのは「制御」の中。
ここで使用するのは【もし…なら、でなければ】です。
上記のようにプログラムを組んで、実行すれば動きます。
4と入力したのに、ちがうよ!と不正解の判定になる理由
上の例と同じようにプログラムを組んで実行したら、4と入力したのに「ちがうよ!」と不正解の判定をされるのは、全角文字と半角文字の違いによるものです。
コンピュータでは全角文字の「4」と半角文字の「4」は違うものと判定します。
プログラムの中で書いた「4」と実行したときの入力画面から打った「4」が全角と半角になっていると違うものと判定されるのです。数字を答えにするときは気を付けてください。
授業でのプログラムの展開例
上に紹介したプログラムは、答えがあっていると「正解!」と言い、間違っていると「ちがうよ!」というものです。これを変更し、正解・不正解の処理を自由に組むこともできます。
- 正解だったら、ネコ(キャラクター)がジャンプする。
- 不正解だったら、ネコ(キャラクター)が小さくなる。
など、いろいろな処理が考えられます。
キャラクターはネコでなくても、好きなものでOKです。
条件分岐により処理(動作)を変えるプログラミングの勉強として活用してみてください。
【発展】正解するまで、何回も問題が繰り返されるプログラム
上のサンプルでは、間違った答えを入れると、「ちがうよ!」と表示されて終了します。
これを正解するまで問題を出し続けるようにプログラムを変更することもできます。
正解するまで問題を出し続けるプログラム
ここでは制御の中にある【…まで繰り返す】を使用しています。
発展例として参考にしてみてください。