一分間スクラッチ講座 | 算数アプリで足し算・引き算・掛け算・割り算の作り方
今回は、Scratchで作る「算数アプリ」についてご紹介します。
Scratchの変数や乱数、質問ブロックを使うと、足し算・引き算・掛け算・割り算のクイズアプリを作ることができます。
下の動画は、不定期配信の「ファイブボックス 1分間スクラッチ講座」です。
ご興味のある方は、あわせてご覧ください。
ファイブボックス一分間スクラッチ講座
計算アプリの作り方 足し算編
引き算編
かけ算編
割り算編
1.足し算アプリを作る
まずは、足し算のクイズから作っていきます。
変数を2つ用意する
最初に、次の2つの変数を作ります。
Num1:1つ目の数字
Num2:2つ目の数字
この2つの変数にランダムな数字を入れて、足し算の問題を作ります。

足し算アプリの流れ
旗が押されたとき、次の処理を行います。
旗が押されたら
ずっと以下の処理を繰り返す(何度も連続でプレイを行う)
変数:Num1に1~100までの乱数を代入
変数:Num2に1~100までの乱数を代入
「Num1」と「␣+␣」と「Num2」と「␣=␣?」
※ ␣は半角スペースで、見やすくするために入れています。もし入力された質問の答えとNum1+Num2の答えが等しければ
「正解!」と2秒言うそうでなければ(質問の答えと足し算の答えが違うなら)
「残念、答えは・・・」と2秒言う
さらに「Num1+Num2」の値を2秒言う

たとえば、Num1が54、Num2が23の場合は、
54 + 23 = ?のような問題が表示されます。

入力欄に答えを入れると、正解か不正解かを判定してくれます。
2.引き算アプリを作る
次に、引き算のクイズを作ります。
引き算も、基本的な考え方は足し算と同じです。
ただし、1つだけ注意点があります。
たとえば、
23 - 54のように、Num1よりNum2の方が大きい場合、答えがマイナスになります。
マイナスの計算をまだ習っていない場合は、少し難しくなってしまいます。
そこで今回は、答えがマイナスにならないようにします。
一時保存の変数を用意する
引き算では、Num1とNum2を入れ替える場面があります。
そのために、新しく変数:一時保存 を作成します

この変数は、Num1とNum2を交換するときに、一時的にNum1の値を保存しておくために使います。
Num1とNum2を入れ替える考え方
もしNum1がNum2より小さい場合、そのまま引き算をすると答えがマイナスになります。
そこで、次のようにNum1とNum2を入れ替えます。
もし Num1 < Num2 なら
一時保存 に Num1 を入れる
Num1 に Num2 を入れる
Num2 に 一時保存 を入れるたとえば、最初に
Num1 = 23
Num2 = 54だった場合、入れ替えた後は
Num1 = 54
Num2 = 23になります。これで、
54 - 23という問題になり、答えがマイナスになりません。
引き算アプリの流れ
基本の動きは足し算と同じになります。違う部分は下の太字の部分です。
旗が押されたら
ずっと以下の処理を繰り返す(何度も連続でプレイを行う)
変数:Num1に1~100までの乱数を代入
変数:Num2に1~100までの乱数を代入
もし Num1 が Num2 より小さければ
変数:一時保存 に Num1 を代入
Num1 に Num2 を代入
Num2 に 一時変数を代入(Num1にはNum2の値が入っている)
「Num1」と「␣-␣」と「Num2」と「␣=␣?」
もし入力された質問の答えとNum1 - Num2の答えが等しければ
「正解!」と2秒言うそうでなければ(質問の答えと引き算の答えが違うなら)
「残念、答えは・・・」と2秒言う
さらに「Num1 - Num2」の値を2秒言う

これで、常に答えが0以上になる引き算クイズが作れます。
3.掛け算アプリを作る
次は、掛け算です。
掛け算は、足し算と同じように作ることができます。
ただし、Num1とNum2の範囲を大きくしすぎると、問題が難しくなりすぎます。
今回は例として、次の範囲にします。
Num1:1から20までの乱数
Num2:1から10までの乱数
掛け算アプリの流れ
基本の動きは足し算と同じになります。違う部分は下の太字の部分です。
旗が押されたら
ずっと以下の処理を繰り返す(何度も連続でプレイを行う)
変数:Num1に1~20までの乱数を代入
変数:Num2に1~10までの乱数を代入
「Num1」と「␣×␣」と「Num2」と「␣=␣?」
もし入力された質問の答えとNum1 * Num2の答えが等しければ
「正解!」と2秒言うそうでなければ(質問の答えと掛け算の答えが違うなら)
「残念、答えは・・・」と2秒言う
さらに「Num1 * Num2」の値を2秒言う
Scratchでは、掛け算の記号は「*」(アスタリスク)を使います。

画面上の表示では「×」と見せてもよいですが、計算ブロックでは「*」を使う点に注意しましょう。
4.割り算アプリを作る
最後に、割り算のクイズを作ります。
割り算では、答えが小数になる場合があります。
たとえば、
7 / 2のような問題では、答えが整数になりません。
今回は、答えが整数になる割り算の問題を作ります。
割り切れる問題を作る考え方
割り算では、Num1を「答え」になる数字として使います。
まず、次のように乱数を入れます。
Num1:1から20までの乱数
Num2:1から10までの乱数そして、
一時保存 = Num1 * Num2にします。
たとえば、
Num1 = 6
Num2 = 4だった場合、
一時保存 = 6 * 4
一時保存 = 24になります。
この状態で、
24 / 4 = ?という問題を出せば、答えは必ず割り切れる整数(6)になります。
つまり、答えはNum1になります。
割り算アプリの流れ
基本の動きは足し算と同じになります。違う部分は下の赤字の部分です
旗が押されたら
ずっと以下の処理を繰り返す(何度も連続でプレイを行う)
変数:Num1に1~20までの乱数を代入
変数:Num2に1~10までの乱数を代入
変数:一時保存 に Num1 * Num2 の値を代入
「一時保存」と「␣/␣」と「Num2」と「␣=␣?」
もし入力された質問の答えとNum1 が等しければ
「正解!」と2秒言うそうでなければ(質問の答えと掛け算の答えが違うなら)
「残念、答えは・・・」と2秒言う
さらに「Num1 」の値を2秒言う

Scratchでは、割り算の記号は「 / 」(スラッシュ)を使います。
今回は、一時保存に「Num1 × Num2」の値を入れているので、
一時保存 / Num2の答えは、必ずNum1になります。
これで、割り切れる割り算のクイズを作ることができます。
まとめ
今回は、Scratchで算数アプリを作る方法を確認しました。
作った内容は、次の4つです。
足し算アプリ
引き算アプリ
掛け算アプリ
割り算アプリ
足し算では、2つの乱数を足して答えを判定しました。
引き算では、答えがマイナスにならないように、Num1とNum2を必要に応じて入れ替えました。
掛け算では、乱数の範囲を調整して、答えやすい問題にしました。
割り算では、先に掛け算で答えを作っておくことで、必ず割り切れる問題を作りました。
今回は四則演算をそれぞれ独立した形で作りました。
ただ、このままだとアプリとしては少しバラバラです。
次回は、これらをまとめて、よりアプリらしく遊べる形に改造していきます。
ファイブボックス一分間スクラッチ講座 の記事はこちらでまとめてあります。
ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。
いいなと思ったら応援しよう!
よろしければ応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます!