本連載では、書籍『子どもの“プログラミング的思考”をグングン伸ばす本』の中から、Excelの機能を使って作ったゲーム(VBAではない)を通じて、コンピュータがどう考えているのかを学べる章を厳選して転載する。「Excelの機能を使う」こと自体も「プログラミング」に通じていることを体感してほしい。今回はプログラミングで重要となる「数」について。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『子どもの“プログラミング的思考”をグングン伸ばす本(2017年3月1日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
※編集部注:前回記事「ExcelのIndirect関数は「参照の参照」ができて、お利口さんなんだ」はこちら
次の日、ダイゴ君がちょうど宿題が終わった頃、お父さんがダイゴ君の部屋にやって来ました。ダイゴ君は今度はどんなゲームだろうとワクワクしています。お父さんはダイゴ君にUSBメモリーを手渡しました。
この中のファイルを開いてごらん
今度は、画面の中にメッセージが書かれています。お父さんを見ると、ニコニコしながらゲームをするように催促しています。
疑問に思いながらもダイゴ君は、お父さんに言いました。
7を選んだよ。ラッキーセブンの7だよ
いい数字を選んだね。さて、その数字には仲のいい友達がいるんだよ。6と3なんだ。ダイゴは知ってたかい?
そんなの初めて聞いたよ。本当かな?
本当かどうか、色のついたセルに6と3を入力してごらん
ダイゴ君は半信半疑で、63と入力して[Enter]キーを押しました。すると、あら不思議、7がずらずらとたくさん出てくるではありませんか。
ほら、友達に呼ばれて7がたくさん出てきただろう
わけがわからないよ。何だ、これ? それじゃあ別の数字を選んでもいい?
お父さんはこっくりとうなずきました。
今度は、8を選んだからね。8だよ
8だね。8の友達は7と2なんだよ
じゃあ、9は? 9の友達は何と何?
8と1だよ
じゃあ、4は?
4の友達は、3と6だよ
あれ? 7の友達は6と3だったぞ…
4の友達と7の友達は一緒じゃないか。お父さん
でも、順番が大事なんだよ。順番が
いいところに気が付いたと言わんばかりにお父さんは笑っています。ダイゴ君は、最後にもう一つ5の友達を尋ねました。
5の友達は4だけなんだよ。さびしいから45と入力してほしいなあ
ダイゴ君は、今までのやり取りを紙に書いてじっと考え込みました。きっと規則があるはずだとにらんだからです。勘の良いみなさんはもう気づきましたか?
入力する数字は、選んだ数字に9をかけた答えになっています。7×9=63ですね。ちなみにダイゴ君は考えること30分、見事このルールを見破りました。
さて、この数字を入力するとなぜ選んだ数字がたくさん出てくるのでしょうか。それは、B列3行目に次の計算式が設定されているからです。
=12345679*C3
やってみるとわかりますが、1から9のどの数字を選んでもちゃんと選んだ数字がたくさん現れます。お父さんと同じ年代の方は電卓でこのゲームを経験したことがあるのではないでしょうか。念のために申し上げますが、計算式で使用している大きな数値には8がありません。12345679ですよ。
数字って不思議ですよね。
Copyright © ITmedia, Inc. All Rights Reserved.