第2講 変数
第6話 1+2+3の計算
変数を使い意義は、何度も使用することが出来ることが一つですが、
より根本的には箱に入っている値の加工や変更が出来ることです。
値の加工が出来るので、
1+2+3+・・・+10000
2+5+8+・・・+302
のような計算が出来るのです。
では、実際に
1+2+3の計算をさせてみましょう。
どうやるか皆さん考えてみてください。
解答例を30行下に書きます。
解答例
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要
int main() {
int a; //整数を入れる箱aを用意
a=1+2+3; //計算させる
cout<<a<<endl; //箱aの中身を表示
return(0); //mainを閉じるためのお呪い。
}
実行結果
で確かに出来ていますが、
このコードは発展性のないコードです。
将来は
1+2+3+・・・+10000
1×2×3×・・・×10
のような計算もさせたいので、
次のようにコードを変更しましょう。
#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を閉じるためのお呪い。
}
すると実行結果は
6
(これ以降は、画像ではなく上の表に緑で実行結果を表示します。)
中学生以上の方は、ここで『あれっ!!』ですよね。
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話の
『ただし、代入と=については実は数学とは少し異なります。』
という言葉にあります。