第2講 変数
第6話 =の意味
=は数学の=では決してありません。
数学の=は等しいという意味ですが、
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の計算が実現できていることがわかります。
ですが、コード
Module Module1
Sub Main() '私は社長だ。
Dim a As Integer '整数を入れる箱を用意
a = 0 '初期化
'以下計算
a = a + 1
a = a + 2
a = a + 3
'以上計算
Console.WriteLine(a)
End Sub
End Module
は褒められたものではありません。
もし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行も書き続けなければならないからです。
同じような繰り返しは人間がやるのではなくコンピュータにやらせるべきです。