Scratchでわり算の答えを確かめるプログラムを作る
カリキュラム
hr.icon
https://gyazo.com/32faf97141d69b7adca37d36b768d224
緑の旗を押してプログラムを実行すると,わられる数とわる数,商とあまりを求められるので,確かめたい数を入力します.すると,プログラムはそこで終わります.これをわられる数とわる数に対して商とあまりが正しいかどうかを言うようにプログラムを作ります.
ここで,https://gyazo.com/bb32248a84206c9f5856e9a081d51716ブロックで入力された数は変数https://gyazo.com/5fb06541e2d5deb7788c4cf28ce85394ブロックに入ります.https://gyazo.com/a4bb1d2df8e6d1561ce0c7c2b4c61b9fブロックは,その数を変数https://gyazo.com/c02a31595b034d4a2e502b97b7afb8edブロックに入れます.同様にhttps://gyazo.com/8b6e6bd86abef1bd65f59081c7a2b459ブロックは,入力された数を変数https://gyazo.com/2cd585cdd0eb33e25c923e403933060cブロックに入れます.同様にhttps://gyazo.com/b854fe05076a5bea8c829e11d7ff83eaブロックとhttps://gyazo.com/3e2537fed224616f2b22a0ccf55193ceブロックにも入力された数が入ります.
条件分岐を理解する
https://gyazo.com/7229359979f3aa5833e76d1f64db6e56は条件分岐ブロックです.上の6角形の部分https://gyazo.com/ddaec6a02f203b9e07b37daae73c0541に条件式を入れ,その条件式が成り立った場合は上側の窪みhttps://gyazo.com/660b55274e825dadae59a2528e5a00eeに入れられたブロックが実行され,成り立たない場合は下側の窪みhttps://gyazo.com/862fac775fa2a58643007ad64c924191に入れられたブロックが実行されます.
条件式ををつくる
わられる数,わる数,商,あまりの関係としては,最も基本は わる数×商+あまり がわられる数と等しいことです.つまり入力された数で等式が成り立てば,入力されたわられる数÷わる数の答えが,入力された商とあまりで正しいということになります.
等式が成り立つかどうかを判定する条件式ブロックが,等式ブロックhttps://gyazo.com/3959bab10c33947a5c3f2f2e989c403dブロックです.右側と左側に同じ数が入っていると成り立つ,異なると成り立たないという結果になります.数ではなく,数を計算する加算ブロックや乗算ブロックを組み合わせた式を入れることもできます.
では,わられる数,わる数,商,あまりの関係が正しいかどうかを判定する条件式を作ってみましょう.
なお,3つ以上の数の加減剰余算をしたい場合,例えば3×4+5を計算したい場合,この時は3×4の結果と5を足すと2つの数の加減剰余算に分けることができるので,まずhttps://gyazo.com/6e9363dda812e841dadda55de1060569を作り,これをhttps://gyazo.com/265c1f051db47d6c96fc9adcd0b93fe3の中に入れて,https://gyazo.com/93a68b20da5b15af4612c1e64756cad5と作ることができます.
完成させよう
最後に,わられる数,わる数,商,あまりの関係が正しいかどうかを言うように,https://gyazo.com/ef0c2045c7e450baf4f7f1d807ff96b9とhttps://gyazo.com/7bf1c9a87f68425dc3ad2764363a8ab5を条件分岐ブロックの中に入れて完成させましょう.
正解例を次に示します.
https://gyazo.com/4aabf778f1b7bd9f614106b1f627f07b
hr.icon
わる数とあまりの関係も確かめるようにしよう
先に作ったプログラムまでは同じように作ってください.
割り算では,あまりがわる数より小さくなるように商を求めます.10÷3は,商が2,あまりが4では,まだわる数3よりあまりが大きいので間違いです.正解は商が3,あまりが1です.
先に作ったプログラムでは,商が2,あまりが4と入れても「ただしいよ」と言ってしまいますので,これを直します.
条件分岐をもう一つ入れる
先に作ったプログラムでは,正しいと判定した中に間違いがあると言うことなので,その部分にもう一つ条件分岐ブロックを入れます.そして条件分岐先に,https://gyazo.com/ef0c2045c7e450baf4f7f1d807ff96b9とhttps://gyazo.com/7bf1c9a87f68425dc3ad2764363a8ab5を入れてしまいましょう.
https://gyazo.com/856b2b7f1f53889ccd30b79479c7ddcd
条件式を作る
関係が正しい条件は,あまりがわる数より小さいことです.この時使い条件式ブロックは不等式ブロックhttps://gyazo.com/467a4b44f18d7e0c0a005c83da067386です.左側に入れた数が右側に入れた数より小さければ成り立つ結果となります.では,条件式を作ってプログラムを完成させてみてください.
正解例を次に示します.
https://gyazo.com/b9c09ecd4d07feb6060e83aacbd1426d
スッキリさせる
今作ったプログラムでは,https://gyazo.com/7bf1c9a87f68425dc3ad2764363a8ab5ブロックを2回使っています.工夫をすることで1回だけにすることができます.正しいのは二つの条件式https://gyazo.com/d847d546b14a8add702d0e01318ab97fとhttps://gyazo.com/e77d62fc0ccebf173664f2aa718976bcの両方が成り立つ時で,その場合はhttps://gyazo.com/ef0c2045c7e450baf4f7f1d807ff96b9を実行し,成り立たない時はhttps://gyazo.com/7bf1c9a87f68425dc3ad2764363a8ab5を実行すれば良いわけです.
この時二つの条件式が成り立つかどうかを調べる条件式ブロックが論理積条件式ブロックhttps://gyazo.com/023a01feab36699ed2a54bc739f63631です.左側に入れた条件式と右側に入れた条件式の両方が成り立つ時だけ成り立つ結果となります.
では,作ってみてください.
正解例を次に示します.
https://gyazo.com/6b56f9d93ba120884baddec2c07ccaaf
Copyright 2017- NaokiKato, IML at Tokyo Gakugei University, All right reserved.