Up 「コンピュータ」の場合 作成: 2010-07-29
更新: 2010-07-29


    免許科目「コンピュータ」は,これの前は「測量学」であった。 「もう測量学はないだろう。これからはコンピュータだろう。」というので,「コンピュータ」になった。 「コンピュータ」がどんな意味で教科「数学」に関する科目であるかの捉えがあって出発したというのではない。

    しかし「コンピュータ」は,幸い,無理なく教科「数学」に関する科目にすることができる。 すなわち,「コンピュータ」は,つぎの数学の主題を学習する科目として立てることができ,しかもよい科目になる:
    • 関数 (特に,「変数・定数」の概念)
    • 論理計算
    • 形式言語

    ここでは,「コンピュータ」がどのようにして「関数」の学ばれる科目になるのかということを,見ていく。


    先ず,このときの「コンピュータ」の授業は,「コンピュータ・プログラム」の授業である。 プログラム言語は,「関数」が学ばれるのに適切なものが選ばれる。 そして,そのプログラム言語は,結局,C言語ということになる。

     註 : このときのプログラム言語は,操作性・機能性・流行・先端性といった規準 (criteria) で選ばれるのではない。 <「関数」の学習になる>が,規準である。

    なぜC言語か?
    C言語では,プログラムが明示的に関数として書かれる。 特に,
    • 使用する変数を宣言しなければならない。
    • 入力を受ける変数の宣言は,関数の定義域 (始集合) の宣言になる。
    • 定数の導入が,明示的である。

        例:「関数 f : x ─→ 2x ( x:整数 )」のプログラム

          f( int x ) {
            #define a 2  

            return x * a;
          }

    プログラム処理では,メモリが使用される。 コンピュータは,このメモリを番号で管理する。
    プログラムでメモリを使用するときは,メモリを定め,このメモリの番号が<自分にとってわかりやすい文字列> (たとえば「x」) で指示されるようにする。 この文字列 (「x」) が「変数」である。

    プログラムでは,生(なま)の文字列/数 (たとえば「2」) を直接書くかわりに,この文字列/数を別の文字列 (たとえば「a」) に替え,置換の仕方 (a → 2 ) を指示するという手法を,よく使う。 この文字列 (「a」) が「定数」である。

    特に,「変数 (variable)・定数 (constant)」は,文字列の使い方の違いを表していることばである。 ──「変数」の意味は「変わる数」ではない。 変わるのは,メモリの中身である。


    中学数学では,「y=ax」が出てくる。
    教員は,文字x,y,aの意味,すなわち「変数・定数」の意味を説明できない。
    生徒は,「変数・定数」の意味を知らないまま,この主題の学習を済ます。
    そしてほとんどの人が,一生の間,「変数・定数」の意味を知る機会をもたない。

    「コンピュータ」は,「変数・定数」の意味を知る機会になる。
    実際,学校数学の「関数y=f(x)」は,「一個の等式にプログラム処理を表わしているところの関数」ということになる。 そして「コンピュータ」で学習する「関数」は,「関数=プログラム処理」である。

     註 : 「関数」の理論構築は,「関数=一意対応」から始まる。「関数=プログラム処理」は,「関数=一意対応」の上に築かれる。 「コンピュータ」は「関数=プログラム処理」を学習するところであり,「関数=一意対応」を学習するところではない。

    「コンピュータ」は,「変数・定数」の意味を知る機会になる。
    このことだけでも,「コンピュータ」の科目は重要である。