Hoicos Blog

Author: あぼかど

Scratchで鶴亀算をやろう!

Hoicosプログラミング教室

小学生にとっては理解が難しすぎる鶴亀算をScratchを使って簡単に理解しよう
306752 1024x768 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

みなさんこんにちは。今回の記事の内容は鶴亀算です。

鶴亀算と聞いてアレルギー反応が出る方はどれくらいいますでしょうか。私は少なくとも高校まで反応が出ました(笑)

小学校で教えてもらった時は理解するのを諦めて全部違う方法で問題を解いていた記憶があります。

今回はScratchを使って鶴亀算を完璧に理解してアレルギーを克服しましょう!

Scratchの初期設定

スプライトを削除

今回はスプライトも背景も使いません。

下のように猫のスプライトを消してまっさらな状態にしてください。

a4facb9f79c96e6ee373202cc50f9e0b - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

変数を作る

変数を二つ導入します。下の写真の赤い丸をクリックして変数を入れましょう。

8775951174597163f0a84b17fe62a527 1024x740 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

変数の名前ですが、「鶴の数」「亀の数」の二つを作ります。

下の画面のようにステージに表示されたらOKです!

21c4341994f6fc071b2557afc9675643 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

初期設定は以上です!

鶴亀算の問題1

最初はこのような問題を考えてみましょう。

鶴と亀が合わせて80匹います。足の本数は全部で200本です。鶴と亀の数はそれぞれ何匹でしょう?

答えをいうと、鶴が60匹、亀が20匹です。この二つの数字をプログラムを使って出してみましょう。

問題1を解くサンプルプログラム

958a62dc84959ca2b50b843617aa0c1e - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生
問題1鶴亀算のサンプルプログラム

このプログラムを実行すると下のようにステージに答えが表示されます。

2c99e8615581d05898f2a2b26217391c - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

まず考え方をみる前に上のサンプルプログラムを作ってみよう!

Scratch鶴亀算の考え方

鶴亀算とは…

最初に鶴亀算の復習をしましょう。

ある二つの数のわからないものがあるとします。その二つについて二つ条件がわかっています。では、それぞれの数はいくつでしょう。という問題を解くのに使う計算方法です。

問題1の例は、わからないものが鶴と亀の数ですね。この二つについて、

条件1:合計数が80匹である

条件2:足の合計が200本である

という二つの条件があります。


これについて鶴亀算を用いてみましょう。下のような表を考えます。

04455396964135807619adf31c2d38b0 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

最初適当に鶴の数を80匹、亀の数を0匹とします。適当と言っても(鶴の数+亀の数)=80になるようにします。

この時の足の総数を考えると、80×2で160本です。残念ながら200本ではないですね。

次に鶴の数を1匹減らして亀の数を1匹増やします。この時足の総数は162本です。まだまだ200本には足りません。

これを続けると鶴の数を60匹、亀の数を20匹とした時、なんと足の総数が200本になりました!

地道に計算してようやく出した値ですがこんなことをしなくても簡単に出したい!っていうのが鶴亀算です。計算している途中に気付いた方もいるかもしれませんが、鶴の数を1匹減らし亀の数を1匹増やすと足の数は2本増えます

これを使えば最初足の総数が160本だったので、200-160=40をして40÷2=20とすれば20回減らしたり増やしたりすれば良いことがわかります。よって、鶴の数を20減らし、亀の数を20増やせば足が200本になります。

プログラムで考えるには…

プログラムでも同じように、まず最初に鶴の数を80、亀の数を0にします。

dcfe90f69aae2b421ae23f21701499c9 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

次に、鶴の数を1減らし、亀の数を1増やします。

5ee4484655a6dac85f4cec10361a2b71 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

上のプログラム(鶴の数を1減らし、亀の数を1増やす)をいつまで続けるかがミソです。

これはもう一つの条件である足の総数が200本を使いましょう。

5876580f7544074006cfbab20a0d3b77 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

こうなるまで足し引きを続ければ良いので、

959b1d058ed1ec276cf2200ae7eb2216 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

こういうプログラムが完成します。

鶴亀算の問題2

足が4本の鶴と足が6本の亀がいます。(←変だけど許して!)鶴と亀の合計は220匹です。また、足の合計は1120本です。さて、鶴と亀の数はそれぞれ何匹でしょうか?

問題2を解くサンプルプログラム

db2707f16d07fc32754e8233ba801013 - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生
問題2鶴亀算サンプルプログラム

答えはこうなります。

066efff4d7164aea750c989db22f3b3d - Scratchで鶴亀算をやろう!-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

答えは一緒になったかな?

最後に

鶴亀算について理解を深めることができましたか?

実際、鶴亀算は連立二次方程式を使えばもっと簡単になるのであまり触れる機会はないと思います。しかし、ちゃんと理解しておくことも重要です。

Scratchを使うと考え方の道筋をみることができるので、しっかり理解することができます。Scratchを使った方がわかりやすかった方もいるのではないでしょうか。

今回の鶴亀算のプログラムをもっと一般的にして二次方程式を自動で解けるようなプログラムも面白いかもしれませんね^^


この記事がいいと思ったら↓のシェアボタンから

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。