オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

方程式とプログラミングって似ているかも!?

»

連休が終わったところですが、なんとなく休日っぽい話題です。。昨晩、中学1年の娘が予習中の方程式に関する質問をしてきました。まだ単なる1次方程式なのですが、方程式の勉強では2つ躓くポイントがあるのかな、と感じました。

まず、単純に方程式を計算することです。要するにxの値を求めることですが、これが意外と引っかかるようです。面白いのが、係数が「3」などのように、整数ならできるのに、「3/5」などの分数になるとわからなくなったり、分数と整数が混ざるとなおさらわからなくなるようです。係数自体の複雑さに惑わされて、余計なことを考えるのが悪いだけで、実際は単純にルール通り、左辺と右辺に同じ値をかけたり引いたりするだけなのですが、それが係数や式の見た目の複雑さで混乱するようです。

次に、文章問題を式に表すことで躓くようです。こちらも基本的には、質問された値をxにして、文章をそのまま式に置き換えれば良いだけなのですが、文章で扱っているのが、個数とか金額の話題だとすんなり式を作れるのに、速度になるととたんにわからなくなるようです。同じ問題を金額の話題に置き換えればすぐに式を作れるのに、速度だと良くわからなくなるのです。速度がなぜ難しそうに感じるかというと、おそらく、
・秒速・分速・時速がある
 でもお金も十円・百円・千円とあるので似たようなものという気がする・・・
・秒・分・時がそもそも10倍単位ではない
 これは少し面倒に感じるかも
・速度は現実の世界と少し感覚が合わない
 現実の世界では、加速・減速があり、一定速度というのはまずないから?
まあ、いずれにしても、「分」とか「分速」とか言われると、何となく難しそうに感じてしまうのでしょう。そうすると、「分速90mで10分あると・・・」と自分の頭の中で細かい計算をし始めてしまい、文章を単に式に置き換える、という作業ができなくなるようです。

この感覚は何かと似ているなぁ、とぼんやり考えていたのですが、プログラミングですね。プログラミングも、文法通りに書けばいいのに、余計なことを考えて書けなくなったり、仕様をプログラムに置き換えれば良いのに、今考えなくて良いことまで考えてしまい、進まなくなる、という点がそっくりです。個別の関数の役割を知っていたり、文法を知っているのに、考え込んでしまってソースを書き進められない状態になってしまう人は初心者にたくさんいます。

人それぞれ、性格も考え方も違うので、得意不得意が当然あるのですが、大切なことは、今考えるべきことだけに頭のレベルを合わせておくことではないかと思います。文章を式にする、あるいは、仕様をソースにする、という作業の時には、そのレベルより深いことやその先のことはとりあえず放置し、まずはやるべき作業を終えることが大切です。それから次の段階に進めばよいのです。方程式の場合は、わからないものをとりあえずxと表現して式を作ってみればよいわけですし、プログラミングの場合は抽象化や構造化、関数化はとても効果的です。

わかってしまえば簡単なことなのですが、慣れない人にとっては考え込んでしまうことは、方程式やプログラミング以外にもたくさんありますね。大抵は、難しく考えすぎてしまうことで先に進まなくなるのでしょう。はたして娘はすんなりと乗り越えてくれることやら・・・。

Comment(0)