Excel で遊ぶ手作り数学シミュレーション [田沼晴彦/講談社]
表題では『 Excel で 〜 』となっていますが、内容を見る限りは『 Excel VBA で 〜 』としたほうが良いような気がします。余計なお世話かもしれませんけどね。Excelで遊ぶ手作り数学シミュレーション―グラフ機能とVBAプログラムを自在に操る (ブルーバックス) 中古価格 |
VBA(Visual Basic for Applications)を用いてグラフィックスを描きながら数学を学べます。
数学の内容自体はかなり易しいです。著者は高等学校に勤めておられるそうなので、なるべく高校数学の範囲を超えないように気をつかって記述してくれています。ですから高校2年生以上の学力がある人にとってはむしろ VBA の入門書としておすすめしたいです。
数学を題材にすると自然な形で VBA の知識を習得できます
別の本の紹介の頁で「数学が得意な人は Excel を学ぶのに有利です」というようなことを言いましたが、同じことは VBA にもいえます。実際、プログラミング言語というものは厳密な論理構造の上に成り立ちますから、数学的思考法と相性が良いのです。VBA はプログラミングの世界では(不当なほどに)評価が低いのですが、Excel は普通の仕事場に普及した表計算ソフトです。 VBA は Excel を制御する言語ですから VBA をマスターすればもう1つ高い水準で Excel を扱うことができます。したがって、将来専門のプログラマーになるのではなく、「 Excel のスキルにもう1つ上乗せして仕事に生かしたい」と思う人にはぴったりの言語だといえます。
ところが VBA を学びたい人のための入門書というのは本当に少ないです。一般に VBA 入門書というものに目を通してみると、データ型宣言や For Next など基本事項の説明のあと、名簿、工程表、納品表の作り方などオフィス向けのプログラムの組み方などが載っていたりしますが、実はこういうプログラムは意外と初心者にとっては難しいのです。まだコードなんて一行も書いたこともないのに、いきなり「こう書け」と言われて面食らう人も多いはずです。
「え? 逆じゃないの? 数学のほうが難しいでしょ」
と思われるかもしれませんが、初等数学のためのプログラムというものは(もちろん内容によりますが)、簡素で易しいものが多いのです。それは多分に数学とプログラム言語の相性によるものが大きい思います。もともと論理構造が似ているので、比較的短いコードで記述できるのです。そうした意味でも数学を使って VBA を学び始める、というのはベストな選択だと思います。
そして何より、数学が好きでプログラミングにもちょっと興味がある、という人にとっては何より「とても楽しい本」なのです。エクセルだけでは静止画しか描けませんが、VBA は動的グラフィックスを描くことができます。しかもそれがとても短いコードで実現できます。
まだプログラムを学んだばかりなのに「こんな段階で動くグラフィックスを作れちゃうの!?」と感動すること間違いなしです。最終章(8章)では楕円の方程式を用いて "惑星の運動をシミュレーションする" というところまで辿り着きます。「初心者がこんなすごいの作っちゃっていいのー!?」と叫んでしまうはずです。
一般的な VBA 入門書の多くはオフィスで使用するための実用的なコードを紹介しているので、動的なものはほとんどありません。仕事の役には立ちますが、さほど感動するような類いのものではありません。喜びや驚きの感情を伴っていたほうが人間の脳は知識を吸収しやすいといわれていますから、特に基礎を学ぶ段階では本書のように知的好奇心を刺激する内容であったほうが良いと思われます。
本書に含まれる数学的内容は以下の通り:
・2次関数
・三角関数
・素数と完全数
・円の方程式
・極方程式(正葉曲線、楕円曲線)
この本を読み通せば VBA の基礎的な土台は出来上がっているはずです。
そのあとに一般的 VBA 入門書を手に取れば、とてもスムーズに VBA の知識を吸収していけるはずです。
次の段階で読むべき入門書についても、いずれ紹介する予定です。