第2講 変数
第7話 =の意味
=は数学の=では決してありません。
数学の=は等しいという意味ですが、
a=2;
ならば箱aに2を入れるという操作です。
aといういう箱が2に等しいのではなく、
aという箱に2を入れるという意味にすぎません。
ですから、
a=2;
は
a←2;
とイメージした方が正しいわけです。
入れるすなわち代入を=で表しているわけです。
すると、一連の謎のコード
a=0;
a=a+1;
a=a+2;
a=a+3;
の意味も見えてきます。
まず、
a=0;
によって、箱aには0が入っています。
この状態で
a=a+1;
の操作が行われます。
図で参照と書いてありますが、
箱の中身を見ることを参照といいます。
緑の枠が右辺のa+1に対応します。
0+1は1ですから、=すなわち←によって、
箱aに1が入っていきます。
a=0;
によって箱aには0が入っていたわけですが、
新しい数値1が0をはじき飛ばします。
データは箱の中でしか生きられませんので、
はじき飛ばされた0は消滅の運命を辿ります。
よって、箱aの中身は1に変わります。
次の
a=a+2;
はどうなるかと申しますと
a←1+2
から箱aの中身は3となります。
最後
a=a+3;
によって
a←3+3
から箱aの中身は6となります。
以上によって、
a=0;
a=a+1;
a=a+2;
a=a+3;
の計算から1+2+3の計算が実現できていることがわかります。
ですが、コード
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要
int main() {
int a; //整数を入れる箱aを用意
//以下計算
a=0;
a=a+1;
a=a+2;
a=a+3;
//以上計算
cout<<a<<endl; //箱aの中身を表示
return(0); //mainを閉じるためのお呪い。
}
は褒められたものではありません。
もし1+2+3+・・・+100の計算なら
a=0;
a=a+1;
a=a+2;
a=a+3;
a=a+4;
a=a+5;
a=a+6;
・
・
a=a+100;
と似たようなコードを100行も書き続けなければならないからです。
同じような繰り返しは人間がやるのではなくコンピュータにやらせるべきです。
で、第3講の課題は繰り返し処理for文となるわけですが、
第3講に入る前に簡単に触れた参照について説明しておくという任務が残っています。