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

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

[横山達大,著]
ゲームの解説

 999を掛けるのがポイントです。例をとって解説しましょう。

 思い描いた数字を487とします。この数字に999を掛けた答えは、486513になります。

 この下3桁である513と元の数字の487を見比べるとあるルールに気付きます。この2つを足した答えは1000になるのです。

 1000−513=487

 理由を説明しましょう。

 ある数をAとするとA×999は、次のように変形できます。

 A×(1000−1)
 A×1000−A×1

 つまり、下3桁の値は、1000からAを引いた値なのです。

 ダイゴ君は、この計算式をエクセルに仕込んでいたのです。シート2のセルA1に次の計算式を設定しておいたのです。

 =1000-SUM(Sheet1!1:1048576)

ダイゴ君が仕込んでいた計算式

father

ダイゴ、素晴らしいゲームをありがとう。よく考えたね


 お父さんは、本当にうれしい気持ちでいっぱいでした。ダイゴ君が自分の頭で考えて、お父さんのためにゲームを作ってくれたことに。

father

最高のプレゼントだよ、ダイゴ。最高の誕生日プレゼントだ。ありがとう


 ダイゴ君は、キョトンとしています。そしておもむろに言いました。

daigo

え!? お父さんの誕生日は、まだ3ヶ月も先でしょ…


father

バレたか…


 お父さんは、照れくささと、嬉しくてたまらない気持ちをダイゴ君に気づかれないようにするのに精一杯で、すぐに返事ができませんでした。

daigo

今度はお父さんがゲームを用意してよ。プログラムの勉強も続けていきたいから


 お父さんがうれしそうにうなずいたのは言うまでもないでしょう。

 二人がその後どんなゲームを楽しんだのか、どんなプログラムを作れるようになったのかは、また次の機会にお伝えすることにしましょう。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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