イコールの深い意味
プログラミング へ戻る
大学生のための数学 へ戻る
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 に相当します。