top of page

一分間スクラッチ講座 算数アプリの作り方

このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。


今回は算数アプリについてご紹介いたします。

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



1,足し算偏


変数を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秒言う


足し算アプリのスクリプト

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

足し算アプリの動き

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以上になる引き算ができました。


3,掛け算編


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

ただし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まで暗算でおぼえるようです。


4,割り算編


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

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

今回は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の個別指導のオンラインレッスンを行っています。

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

Bình luận


bottom of page