Up | コンピュータ | 作成: 2014-11-27 更新: 2014-12-06 |
またこのことにより,形式言語理論のシミュレーターである。 「コンピュータ」のこの意味は,つぎの2様の主題を導く: 「オートマトン」は,「形式言語理論を実現する方法」である。 「コンピュータ・プログラム」は,「形式言語の使用」である。 「オートマトン」については,ここでは触れない。 (Cf. 『チューリング機械開発システムの作成』) ここでは,「コンピュータ・プログラム」について述べる。 コンピュータ・プログラムは,コンピュータを「関数」にするものである。 コンピュータが「関数」になるとは,入力に対し出力を返す機械になるということである。 プログラミングは,形式言語の使用である。 そこで,プログラミングがわかるようになることは,形式言語がわかるようになることである。 以下は,「プログラミングがわかる」の内容で,数学教育学が特に係わるものの例である。 (1)「論理の厳格」の概念がわかる コンピュータは,「論理の厳格」が貫徹される世界である。 プログラミングの間違いは,プログラマーにとってのことで,コンピュータの関知するところではない。 コンピュータは,プログラムの内容をそのまま実行するだけである。 プログラミングを間違うとは,別のプログラムをつくるということである。 実際,もし間違いを大目に見るコンピュータがあったとしたら,それは危なくて使えないコンピュータである。 間違いには,文法の間違いと意味の間違いがある。 文法の間違いは,今日では,プログラミング・システムに内蔵の文法チェッカーが「間違い」を知らせてくれるようになっている。 一方,意味の間違いは,プログラマーにとっての「意味の間違い」であり,コンピュータにとってはこれが意味である。 コンピュータは,これを忠実に実行するのみである。 コンピュータのメモリ管理も内容になるプログラムでは,メモリに関係する記述のミスは,コンピュータの暴走/フリーズを招く。 こうなったときは,コンピュータの再起動となる。 プログラミングの修行は,こうして「論理の厳格」を自ずと身につけるものになる。 翻って,「論理の厳格」の修行になる。 (2)「定数 (constant)・変数 (variable)」の概念がわかる 扱い得ていないのは,そもそも「定数・変数」が何かをわかっていないからである。 定数・変数の別は,形式言語理論では記号の文法的振る舞いの違いであり,意味がわかりにくい。 プログラミングだと,定数・変数の別は記号の機能的違いになり,意味がわかるようになる。 定数は,一定値に置換される記号である。 プログラミングで「定数の定義文」に慣れることは,「定数」がわかることである。 変数は,メモリ (place-holder) につけられた名前である。
学校数学は,「定数・変数の記号はアルファベット文字一つ」の固定観念をつくるふうになっている。 プログラミングでは,定数・変数の記号は,定数・変数の用途を言い表すことばの文字列 (長い文字列) にする。 プログラミングの修行には,学校数学の「定数・変数の記号はアルファベット文字一つ」に感化されることを防ぐ効用もある。 (3)「関数 (function)」の概念がわかる プログラミングは,小さな関数を組み合わせて目的の関数を実現するものである。 こうして,プログラミングができるようになることは,「関数」がわかっていくことである。 |