素早く大量に計算する/中高数学駆け込み寺 素数判定の巻

さっそく第二回のコンテンツを案内します.

先送りにせず積極的に取り組んでみてください.

前回の復習

前回は次の視点から話をしました.

ただでさえ大変な算数・数学学習に加えて, プログラムを読み書きする訓練も必要で, 全くもって楽ではありません. しかしその苦労に十二分に応えてくれるすぐれた方法です.

今回は別の視点からコンピューター利用の算数・数学を議論しましょう. 素早く大量に計算できるメリットを考えます.

手の早さと量の関係

私はよくTwitterで中学・高校の教員や塾の先生とやり取りしていますし, 彼ら・彼女らのコメントもよく見ています. その中で時々次のような話が出てきます.

よく次のような意見も見かけます.

「一つ一つの質が大事だから早くやるよりもゆっくり丁寧にやる方が大事」.

もちろん状況に応じてこちらの方が重要な場合もあります. しかし実際に多くの児童・生徒を見てきた人からすると, こと学習に関して言えば, 手が早いと試せることも増え, 守破離でいう離, つまり自分なりの工夫をしはじめられるタイミングも早くなり, それが一年・二年と続くと圧倒的な差として出てきてしまうとのこと. ミスをしないように工夫するようになって, 「ゆっくり丁寧派」より早く・正確になるようです.

極端に言えば器用な人間の方が早く上達すると言っていて, 血も涙もない話です. しかし一つの現実として受け止めるべき話です.

補足: プログラマーとしてのコメント

念のため書いておくと, 「面倒な計算は電卓ですればよく, 暗算や筆算の練習なんていらない」といった類のしょうもない話ではありません.

私はスパコンを使った超大規模数値計算プログラムの開発をしていたことがあります. そのとき, 書いたプログラムのバグ取りのために, 凄まじい量の手計算をしたことが何度もあります.

もちろんプログラムで計算させる何兆回レベルの計算はしませんしできません. しかし理工系の人であっても手計算ではやりたくないレベルの規模の計算を手計算し, プログラムでの計算結果と比べてどこが問題か突き止めたことがあります. もちろん電卓的な検算も組み合わせて検証していましたが, 凄まじい手計算力が必要な場面はあります.

話を戻して: 早く大量に計算できる楽しさ

話がそれたので元に戻りましょう. 早く大量に計算できるといいことがある話です. ミニ講座の案内ページにも書いたように, 実応用でも大事な視点です.

ここではまた違う視点から紹介しましょう.

まず, 早く大量に計算できるとそれ自体楽しいのです.

案内ページでも素数判定のプログラムを書いた小学生の話をしました. 実際に例えば次のページでその事例が紹介されています.

最強の勉強法はそれに没頭し, 楽しむことだとよく言われます. 創意工夫でいろいろなことが見えてきて, それがまたさらに学習意欲をそそります. 楽しんで取り組めていると, 課題が見つかってうまくいかず詰まっているときでさえ, 意欲が挫かれることはなく, むしろ「この難敵をどう倒そうか?」と燃えてくるのです.

数学と帰納的なアプローチ

算数・数学系の活動にこれをあてはめてみましょう. 数学はよく演繹の学問と呼ばれます. 実際, 最終的にはゴリゴリの理詰めで計算し, 証明をつける必要があります.

しかし新たな面白い事実を見つける過程では大量の試行錯誤が必要です. ああでもない・こうでもないと大量に実験する必要があるのです. この大量の実験にプログラミングが援用できることがあります. このミニ講座のテーマの素数判定はまさにその典型例です.

男の子たちは大きな素数を発見するたびに「おおおお!!これは!素数だァー!」「5ケタのを発見した!」って叫んでたから本当に将来有望である(嬉しい)

このミニ講座では少なくとも11桁の素数を計算で求めています. 少し時間をかければもっと大きな素数も簡単に求められます. 大人, それも数学を専攻し, プログラムを書いて飯を食ったこともある人間からすれば, それほど大した計算ではありません. 少なくともプログラムを書いて計算する観点からは.

しかしそんなスレた大人の理屈はどうでもいいのです. 子供(特に男の子?)は「すごく大きいモノを見る」だけでも楽しいのです. その大きさも子供サイズの5桁で十分です. しかも自分で作った機械(プログラム)でそれを見つけたとなればどれだけ楽しいか. 特に算数・数学が苦手な人なら大人でも感動できる話のはずです. こういう素朴な感覚を忘れてはいけません.

勉強のモチベーションになるならこれで十分です. 楽しくなってきたら私達の勝ちです.

もちろん何が楽しいかは人によって様々です. ここではこの大量の計算で見える世界を楽しむ趣味がある人に向けてミニ講座を作っています. 実際にこれを楽しむ人がいるからです. 小学生にさえいます.

私自身, 何時間どころか何日レベルの大規模計算を本格的に回したとき, その大規模計算に挑むというただそれだけで楽しかった記憶が鮮明にあります. 実験, そして理論と合った正しい答えが出るかどうか以前の話です. こんな楽しみ方もあるのだと伝えたい, その一心でこのミニ講座を作っています.

そして広く公開してたくさんの人からコメントをもらい, ブラッシュアップを続けて実際に多くの子供に遊んでもらいたいと思っています.

今回はこの辺で終わります. 次回は素数判定講座としては最終回です. ぜひ楽しみにお待ちください.

最後にコンテンツ再案内

前回までに配布したコンテンツへのリンクもまとめて再掲しておきます.

アンケートにご協力ください

何かご意見や感想があれば次の読者アンケートまでお願いします.

回答は確約できませんが, 直接返事をご希望ならこのメールへの返信でも構いません.

またメールします.