第2講 変数
第6話 1+2+3の計算
変数を使い意義は、何度も使用することが出来ることが一つですが、
より根本的には箱に入っている値の加工や変更が出来ることです。
値の加工が出来るので、
1+2+3+・・・+10000
2+5+8+・・・+302
のような計算が出来るのです。
では、実際に
1+2+3の計算をさせてみましょう。
どうやるか皆さん考えてみてください。
解答例を30行下に書きます。
解答例
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
class Program //初心者はお呪い=決まり事と思い一切気にしない
{
static void Main(string[] args) //私は社長だ。
{
int a; //整数を入れる箱aを用意
a = 1 + 2 + 3; //計算させる
Console.WriteLine(a); //箱aの中身を表示
}
}
}
実行結果
で確かに出来ていますが、
このコードは発展性のないコードです。
将来は
1+2+3+・・・+10000
1×2×3×・・・×10
のような計算もさせたいので、
次のようにコードを変更しましょう。
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
class Program //初心者はお呪い=決まり事と思い一切気にしない
{
static void Main(string[] args) //私は社長だ。
{
int a; //整数を入れる箱aを用意
//以下計算
a = 0;
a = a + 1;
a = a + 2;
a = a + 3;
//以上計算
Console.WriteLine(a); //箱aの中身を表示
}
}
}
すると実行結果は
中学生以上の方は、ここで『あれっ!!』ですよね。
a = a + 1;
a = a + 2;
a = a + 3;
っておかしくない?
例えば、
a = a + 1;
は右辺のaを左辺に移項して、
a - a = 1;
から
0 = 1;
となってしまって矛盾してしまうではないか、
と思った中学生は、賢い生徒です。
確かに、=が数学のイコールなら
a = a + 1;
a = a + 2;
a = a + 3;
はあり得ません。
では、どういうことでしょうか。
ヒントは、第2講第2話の
『ただし、代入と=については実は数学とは少し異なります。』
という言葉にあります。