ファイブボックス一分間スクラッチ講座のアイキャッチ画像
一分間スクラッチ講座 算数アプリの作り方(基本編)

このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。
スクラッチ講座、投稿記事のまとめはこちら(一分間スクラッチ講座 まとめ)でご参照ください。

今回は足し算、引き算、掛け算、割り算ができる算数アプリ、基本編のご説明です。

下の動画は不定期配信の「ファイブボックス 一分間スクラッチ講座」です。ご興味のある方は併せてご参照ください。

足し算偏

変数を2つ用意します

  • Num1:1つ目の数字
  • Num2:2つ目の数字
変数を2つ用意

旗が押されたとき以下の処理を行います。

旗が押されたら

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

これで下の図のように、足し算のクイズができました。入力欄に数字を入れると、正解かはずれか教えてくれます。

足し算アプリの動き

引き算編

引き算の場合も同様に、上で作成したNum1、Num2を活用します。

このとき、Num1がNum2より大きい場合は答えは正の数(0以上の数)になるりますが、Num2の方が大きい時、答えは負の数になってしまいます。マイナスの学習をしていれば答えることができますが、まだマイナスの概念がない場合、答えることができません。

サンプルでは、答えがマイナスにならないような方法をご説明します。

事前に新たな変数:一時保存 を用意します。

これはNum1 と Num2 を交換する際に、一時的にNum1 の値を保存しておく変数です。

Num1とNum2を交換するための一時変数を用意

基本の動きは足し算と同じになります。違う部分は下の赤字の部分です。

旗が押されたら

  • ずっと以下の処理を繰り返す(何度も連続でプレイを行う)
    1. 変数:Num1に1~100までの乱数を代入
    2. 変数:Num2に1~100までの乱数を代入
    3. もし Num1 が Num2 より小さければ
      1. 変数:一時保存 に Num1 を代入
      2. Num1 に Num2 を代入
      3. Num2 に 一時変数を代入(Num1にはNum2の値が入っているので)
    4. 「Num1」と「␣␣」と「Num2」と「␣=␣?」
    5. もし入力された質問の答えとNum1 – Num2の答えが等しければ 「正解!」と2秒言う
    6. そうでなければ(質問の答えと引き算の答えが違うなら) 「残念、答えは・・・」と2秒言う  さらに「Num1 – Num2」の値を2秒言う
引き算のスクリプト

これで常に、答えが0以上になる引き算ができました。

掛け算編

掛け算は足し算同様、マイナスの値にはならないので、足し算のスクリプトを活用すればいいですね。

ただしNum1,Num2の乱数の範囲が大きいので、任意で調整します。サンプルではNum1を 1~20 までの乱数、Num2を 1~10 までの乱数にしてみました。

基本の動きは足し算と同じになります。違う部分は下の赤字の部分です。

旗が押されたら

  • ずっと以下の処理を繰り返す(何度も連続でプレイを行う)
    1. 変数:Num1に1~20までの乱数を代入
    2. 変数:Num2に1~10までの乱数を代入
    3. 「Num1」と「␣×␣」と「Num2」と「␣=␣?」
    4. もし入力された質問の答えとNum1 * Num2の答えが等しければ 「正解!」と2秒言う
    5. そうでなければ(質問の答えと掛け算の答えが違うなら) 「残念、答えは・・・」と2秒言う  さらに「Num1 * Num2」の値を2秒言う
掛け算のスクリプト

インドでは19×19まで暗算でおぼえるようです。

割り算編

割り算は答えが整数にならない場合があります。今回は答えが整数で割り切れる問題を作ってみたいと思います。

引き算で作った変数:一時変数を活用します。

今回はNum1 が答えになるように問題を作ります。

Num1に1~20までの乱数、Num2に1~10までの乱数をそれぞれ代入し、変数:一時保存にはNum1×Num2 の値を代入します。

出題内容は「一時保存 / Num2」になります。(割り算の記号は「/」スラッシュ)

基本の動きは足し算と同じになります。違う部分は下の赤字の部分です。

旗が押されたら

  • ずっと以下の処理を繰り返す(何度も連続でプレイを行う)
    1. 変数:Num1に1~20までの乱数を代入
    2. 変数:Num2に1~10までの乱数を代入
    3. 変数:一時保存 に Num1 * Num2 の値を代入
    4. 一時保存」と「␣/␣」と「Num2」と「␣=␣?」
    5. もし入力された質問の答えとNum1 が等しければ 「正解!」と2秒言う
    6. そうでなければ(質問の答えと掛け算の答えが違うなら) 「残念、答えは・・・」と2秒言う  さらに「Num1 」の値を2秒言う
割り算のスクリプト

これで割り算の計算プログラムができました。

四則演算、それぞれ独立した動きはできましたが、一貫性がないので次回はアプリとして楽しめるように改造します。


ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。

ご興味のある方は当サイト、オンラインレッスンから、無料体験授業へお問い合わせ下さい。

TOP