イコールの深い意味
プログラミング へ戻る
大学生のための数学 へ戻る
2014.03.22


次のような十進BASIC のプログラムがあります。

   DEF y = x + 2
   DEF z = x ^ 2 + 2 * x
   LET x = 1
   IF y = z THEN
     PRINT "y は z に等しい。"
   END IF
   IF y < > z THEN
     PRINT "y は z に等しくない。"
   END IF
   END



これをC言語のプログラムに移植すると、 次のようになります。

   int main ( )
   {
     int x, y, z ;
     y = x + 2 ;
     z = x ^ 2 + 2 * x ;
     x = 1 ;
     if ( y = = z ) {
       printf ( "y は z に等しい。¥n") ;
              }
     if ( y ! = z ) {
       printf ( "y は z に等しくない。¥n") ;
              }
   }



  C言語のプログラムには = = という記号があります。 これは十進BASIC の = と同で、 左辺と右辺とが等しいということを表しています。 C言語の =  は 左辺の変数に右辺のものを代入するという意味です。

  十進BASIC は、 あることが決まるまでは無の世界で、 あることが決まると、 それによって次のあることが決まって、 「 Aが真である。 だからBは真である。 」 というふうに、無から始まって次々と真理が登場してきます。 十進BASIC の = は、 It is the number 1. の is に相当します。 それは「 It は the number 1 である。」という真の命題を表す記号であるとも言えます。

  一方、 C言語は最初にいろんな数をとる可能性がある変数( 代数 )を紹介します。 そして、 あることが決まると、 それが変数に対して制約をしてくるために、 変数の取りうる範囲の可能性が狭小化されます。 制約をしてくるということは、 変数に何かが代入されるということです。 C言語の = は、 It gets the role( 役 )of the number 1. の gets the role of に相当します。