数学的帰納法

 プログラマの数学、第4章では数学的帰納法について書かれている。
 ここで、とても興味を惹かれたのはCで書かれた「配列の要素の和を求める関数」を数学的帰納法という視点から解説されているところだ。


 ここで私が、「おーいいね。これは楽しい。」って思えたことがひとつある。
 それは、プログラムのループを構成するのに数学的帰納法が役立つという記述。たぶん、これは誰もが無意識に行っているかもしれない。だけど、私たちが、ループを考えるときにどういう風に考えているかを知る。ということは、誰かにそれを理解してもらうときに、どう考えたらいいのかをアドバイスしやすい。ということだ。
 逆に言えば、自分が説明されたときに理解しやすいということでもある。


 C言語の授業で、学生が始めにつまづくのは(同じ研究室の子の話によると)繰り返し処理らしい。for文などだ。私も、while文には泣かされたタイプなので、分かるような気がする。
 今度誰かに繰り返し処理や、再帰的な処理を説明することがあったら、数学的帰納法的な視点を心がけて説明してみようと思う。

ポイント
数学的帰納法は、繰り返し処理の理解を助ける。