『=』の数学とプログラミングにおける違い
今回は、かなり初歩的な話題です。
『=』という記号は小学生でも知ってると思いますが、一般的には、同じであるという関係を表す記号で、イコールと呼ばれてます。
まずは、数学における『=』の意味を考えてみましょう。
突然ですが、
-
A+1=0
-
B+1=1+B
この1,2の式の違いは、わかりますか?
例えば、1番目の式を見てみると、
A+1=0
3+1=0 A=3を代入
4=0
つまり、A=3の場合は、A+1=0は、成立しないとわかるでしょう。
A+1=0
(-1)+1=0 A=-1を代入
0=0
A=-1の場合に、A+1=0は、成立つことがわかるでしょう。
このように、1番目の式のようにある値の時のみ、左辺と右辺が等しい式のことを方程式と言います。
次に、2番の式を見てみると、明らかに、Bがどんな値を取っても、左と右が同じであるという関係になることがわかるでしょう。このような2番目の式のことを恒に等しいという意味で恒等式と言います。
方程式と恒等式を合わせて等式と言います。
つまり、数学では、『=』は、等式を表すのに用いる記号です。
一方、プログラミングでは、言語によっては、『=』を数学と同じように使う場合もありますが、Java、C、Pythonなどの主要な言語では、
『=』は、代入の意味で使われることが多いです。例えば、
int c=1; ①
c=c+1; //右辺=c+1=1+1 ②
このプログラムを実行すると、c=2になります。①では、整数型の変数cの初期値として1を代入してます。②は、不思議に思う人がいるかもしれませんが、ここでの『=』は、右辺の値を先に計算して、結果を、左辺のcに代入とする意味です。
このように、『=』は、数学では、等式を表す記号として、CやJavaなどの主要な言語では、
右辺の値を左辺に代入するという意味で用いられるので、違いをよく覚えておきましょう。