問題解決能力育成において、プログラミング的思考は算数に劣る
今回はちょっと刺激的なタイトルにしてみました。
昨今、プログラミング的思考が『重要だ』ってことで、学習指導要領に入れられたりしてますよね。
意味がないとは思わないんだけど、ぶっちゃけ、ぼくはプログラミング的思考って算数の下位互換だと思っています。
どちらも『問題解決能力』を鍛える学問だけれど、算数のほうがより汎用性が高い。
プログラミング的思考を教育カリキュラムに突っ込んでまで、三角関数とかを後ろに遠ざける価値はないんじゃないかなぁ、と。
なんていうか、実用性が足りない気がするんですよね。
算数のほうが、ずいぶん人間向きですよ?
コンピュータは総当たりなどの力技が大有りなのに対して、人間の方はそうはいかない。
逆に人間は、再帰などを無限に想像できるのに対して、コンピュータはそのやり方だとあっという間にリソースを食いつぶす。
フィボナッチ数列がいい例で、人とコンピューターで解き方が明確に異なります。
プログラミング的思考って、実用上、考え方を機械向きの発想に変える必要があるのです。
そもそも論として、コンピュータは無限を扱えませんよね。
別に無限なんて扱えなくていいじゃん? と思われるかもしれないけれど、無理数も扱えません。
世の中さ。割り切れる問題ばっかじゃ、ありませんでしょ?
電卓を使えれば算数なんていらない、なんて必ずしも言えないんですよ。
一つ例をあげましょう。
今からやることは、要は、1-1です。
答えはそう、ゼロですね?
三角関数が出てくるけど、難しくないですからね?
sin(pi/4)-cos(pi/4)=?
pi/4はラジアンで、度数法で言うところの45度を意味しています。
軽くおさらいしましょうか?
さあ、『問題解決能力』の根幹たる、ラテラルシンキング(水平思考)の訓練です。
算数は、本来、ラテラルシンキング(水平思考)を習得できる学問なのです。
まず半径1の円を想像しましょう。
半径1のとき、円周の半分がpi。
piに対応する角度は180度(度数法)。
180/4=45度だからpi/4(ラジアン)は、度数法で45度。
以上。
さて、円の中心から45度の角度を想像してもらって、頭の中で、中心から縁に、縁から半円の直線部分に線を引いてみましょう。
45度と90度と45度の直角二等辺三角形がイメージできましたか?
1:1:ルート2とか習いましたでしょ?
あれの1-1ですね。
当然、答えは0になります。
ところがね?
コンピューターに解かせると、プログラミング言語によって、ゼロになったりならなかったりするんですよ。
手元にある環境だと、python,rust,excel,グーグルの検索窓が=0。
julia,r,そして、windows10の関数電卓が、≠0になります。
補償される精度が言語によって異なるため、ですね。
このように計算機って万能じゃない。
算数がわかってないと、間違いにすら気付けないことがあるのです。
一方で、三角関数って、実は簡単なんですよ?
半径1の円を想像することさえできれば、あとはすべて比率の話ですからね。
それをアホな教育で、『ラジアンの公式』『サインの公式』『コサインの公式』と意味不明な公式を無理矢理に詰め込むから、脱落者が続出するんですよ。
円の半径(斜辺)が1のときの垂辺の長さがサイン。底辺の長さがコサインなのです。
但し、角度はラジアン。
それだけの話。
ところで、ラジアンを最初に思いついた人は天才だと思います。
あの発想によって、後世の人の作業量を大幅に減らせた(問題解決できた)のですから。
算数って大事だよねぇ。
今回はそんなお話。




