連載
» 2017年10月23日 05時00分 公開

自分の人生に関係ないと思っていた割り算がプログラミングの世界ではとても重要エクセル親子ゲームで学ぶ“コンピュータっぽい考え方”(5)(4/4 ページ)

[横山達大,著]
前のページへ 1|2|3|4       
おわりに

 「おわりに」を書こうとしたら、ダイゴ君に話しかけているお父さんの声が聞こえてきました。どうやらクイズを出しているようです。

01201?012012

 ?マークに入る数字は何かというクイズらしいですよ。みなさんならおわかりでしょう。

 ダイゴ君もわかったようです。答えは「2」ですね。

 数字の並びに規則性を見いだせるかどうかの問題ですね。みなさんやダイゴ君は「0」「1」「2」が周期的に並んでいることを理解したのです。答えを出すまでには頭の中で色々な仮説を立てては検証作業をしているのですが、人間の頭脳はかなり優秀で、それを無意識に近い状態で行ったり、瞬時に行ったりしているので、自分自身でもその過程をいちいち詳しく覚えてはいません。その結果、ひらめきのような形で答えを導き出してしまうのです。

 おや、お父さんがダイゴ君に話しかけていますよ。

 「それでは、これらの数字が規則的にずっと続いているとして、左から1000番目の数字は何かわかるかな?」

 どうですか? みなさんはどう考えますか?

 このような問いを投げかけられると人間は意識して考えるようになります。

 なぜなら、目の前の数字だけ見つめていても答えがわからないからです。かといって、1000番目まで数字を書き続けるだけの根気も出てきませんよね。

 さて、連続した3つの数字が周期的に繰り返されていることに着目しましょう。こんなときは1から始まる整数をそれぞれ3で割ってみるのです。

 何か気づいたのではないでしょうか。

 そうです。3で割った余りに注目してください。どんな数字でも、余りは0か、1か、2となります。これらの数字は余りが表示されているのです。

1から始まる整数と、それぞれを3で割ったときの余り

 ただし、お父さんの問題の数字は、0から始まっていますね。つまり、1ずれているのです。従って、例えば左から1番目の数字は、1から1を引いた数0を3で割った時の余りなのです。ちょっとだけ数学っぽく言うと、「左からn番目の数字は、n-1を3で割った余りである」ということになります。

 数字が周期的に並んでいるときは、割り算を使うと答えがわかるのです。プログラミングの世界では、割り算はとても重要なのです。

 お父さんがダイゴ君に話しています。お父さんの言葉を、「おわりに」の言葉にしましょう。

 「自分の人生に関係ないと思っていた割り算がプログラミングの世界ではとても重要であるように、僕らが勉強していることは、きっとどこかで役に立つんだよ。だから、いろんなことを吸収していこうね」


書籍紹介

子どもの“プログラミング的思考”をグングン伸ばす本

子どもの“プログラミング的思考”をグングン伸ばす本

横山達大著
秀和システム 1,700円

お父さん、お子さんを頭のいい子に育てたいなら、小学生の今がチャンスです! 本書は、お父さんが仕事に使う表計算ソフトのエクセルを使って、お子さんを「頭のいい子」に育てる子供向けプログラミング思考育成の入門書です。エクセルを使った12種類のゲームで、親子で楽しくプログラミング的思考を学び、考えることや、プログラミングの楽しさを体験しましょう! エクセルゲームの無料サンプルダウンロードサービス付き。


注文ページへ


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。