2017年8月28日

算数の教科と一緒にできそうな「数を数える」プログラミング

これから小学校でもプログラミング教育が始まっていき、色々な人がプログラミングに関わってくるだろうと思います。そこで各教科と組み合わせて教材などと一緒に学校や家庭でも簡単にできそうなプログラミング学習を紹介していこうと思います。もしかしたら説明やプログラミングに間違いがあるかもしれませんが、参考にできるところだけでも是非ご覧になってください。


「ねこに1~20までの数字を数えさせてみよう」をプログラミングしてみる

今回はビジュアルプログラミング言語Scratchを使って算数の教科と一緒にできそうなプログラミング学習をやってみようと思います。

やってみるプログラミングは「ねこに1~20までの数字を数えさせてみよう」です。

早速ねこに1~20までの数字を数えさせてみたいと思いますが、ここでは変数を使ってねこに数えさせてみようと思います。

変数というのは数字などを入れておく箱みたいなもので、例えば変数という箱に100を入れれば100になって、その100という数字が入った箱から60を引けば変数という箱の中には40という数字が入っていることになります。お金を使ったり入れたりするお財布とかをイメージしてもらうと良いかもしれませんね。プログラミングをしてみたら使い方や役割がわかってくると思いますので、変数を使って実際に作っていこうと思います。


まずは数字を入れる変数numberを作ります。numberに1という数字を入れたら、次にそのnumberという変数の中身をねこが言います。言い終わったらnumberの中身を1つ増やします。増やした変数の中身をまたねこが言います。これを20回繰り返したらねこに1~20までの数字を数えられそうです。実際のプログラミングがこちらです。

blog_programming_num1

このプログラミングを見て「同じ命令ばっかり繰り返しているなぁ…」とか「似た命令ばっかり書いていると面倒くさい!」とか思いましたか?・・・はい、私もそう思ってしまいましたので20までの数字を数えるつもりが10までの数字しか上のプログラミングでは数えておりません。

20まで数字ぐらいならこの書き方でもなんとかなりそうですが、これが1000回数えることになってしまったら面倒くさすぎてやる気を失ってしまいますよね。こういった同じような処理をしたい場合にはとても便利な方法があります。それがくり返し処理です。実際にくり返し処理を使って書き換えたプログラミングがこちらになります。

blog_programming_number_2

ゴチャゴチャしていた前の書き方とは一転してとてもスッキリしました。このような書き方であれば、面倒くさい作業もなく1000回だろうがお構いなしです。それに見やすくなっているのもすごくいいですね。それでは実際にねこに数を数えさせたプログラミングがこちらです。

blog_programming_number_3


もし数を数えるプログラミングができたら、これを発展させてもっと面白いものを考えてみるのもいいかもしれません。例えばこちらのプログラミングは偶数の時だけねこの色が変わっちゃうプログラミングです。

blog_programming_number_4

こちらがそのプログラミングです。

blog_programming_number_5

ここでは変数、くり返し処理の他に条件分岐という方法も使われています。条件分岐は日常生活においてすごく身近な考え方であり、例えば「もしのどが渇いてたら飲み物を飲む」とか「もし寝る前になったら歯をみがく」とかも条件分岐みたいなものです。このプログラムでは偶数、つまり変数numberの数を2で割ったとき、余りが0だった場合のときだけねこの色を変えるようにしています。


他にも条件分岐を組み合わせれば、「3の倍数だけねこの色が変わって、5の倍数だけ犬になって、3と5の倍数だけリアルな犬になる」ことだって出来てしまいます。

blog_programming_number_6

こんな風に自由な変化を加えることができるのもプログラミングの魅力です。


今回の数を数えるという簡単そうなプログラミングでも、変数やくり返し処理、足し算や掛け算、割り算など様々な考えが組み合わさってプログラミングされていることが実際にやってみるとわかると思います。計算ドリルを使って足し算や引き算などの練習とこのプログラミング学習を一緒にやってみると、より理解が深まると思いますし、頭の体操にもなると思います。この他にも色々な数の数え方をプログラミングするのも面白いかもしれませんね。