第3講 for文の学習
第2話 for文とは?
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) {
int w;
w=0;
w=w+1;
w=w+2;
w=w+3;
w=w+4;
w=w+5;
w=w+6;
w=w+7;
w=w+8;
w=w+9;
w=w+10;
label1->Text=w.ToString();
}
};
}
動きをトレース(コンピュータの動きを追うこと)してみましょう。
となって、確かに1+2+3+4+5+6+7+8+9+10の計算ができています。
しかし、このプログラムもコンピュータの特長を全く生かしていません。
同じようなものの繰り返しは人間がするものではなく、繰り返しはコンピュータにさせたいものです。
そこで、繰り返し処理であるfor文が登場するわけです。
for(i=1;i<11;i++){
・
・
・
}
は同じことを10回繰り返す命令です。
(i=1;i<11はiの範囲が1以上で11未満であることを示しています。
i++はi=i+1を略して書いたものです。
C言語の特徴は、省略した書き方ができることにあります。
今まで、
int w;
w=0;
のように書いてきましたが、
int w=0;
とまとめて書くこともできます。
最初の値を代入することを初期化といいますが、
変数の宣言と初期化を同時に行うこともできるのです。
i++はi=i+1ですから、iはひとつずつ増えることになります。
もちろん、i=i+1はi←i+1でした。
このfor文を使えば先のプログラムは、
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) {
int i,w=0;
for(i=1;i<11;i++){
w=w+i;
}
label1->Text=w.ToString();
}
};
}
となります。
for文の部分は、iが1から10まで変化しながら10回繰り返されることになります。
繰り返すので繰り返し処理といいます。
繰り返し処理は、for文以外に、while文、do...while文がありますが、
これは第6講で学ぶ予定にになっています。
iが1,2,3,・・・と変化しながらw=w+i; を10回繰り返すのですから、
結局先のトレースと同じ結果になります。
今回もトレースしてみましょう。
1回目
i=1から
w=w+iはw=w+1です。
1回目の処理の終わりにi++すなわちi=i+1が実行されi←1+1から2に変わります。
2回目
i=2ですから
w=w+iはw=w+2です。
2回目の処理の終わりにi++すなわちi=i+1が実行されi←2+1から3に変わります。
3回目
i=3ですから
w=w+iはw=w+3です。
3回目の処理の終わりにi++すなわちi=i+1が実行されi←3+1から4に変わります。
4回目
i=4ですから
w=w+iはw=w+4です。
4回目の処理の終わりにi++すなわちi=i+1が実行されi←4+1から5に変わります。
・
・
・
このプログラムはすっきりしましたし、これはコンピュータの利点を生かしています。
汎用性と普遍性のあるプログラムだからです。
例えば、11を101と変更すれば、
1+2+3+・・・+100
の計算をさせることができます。
また、for(i=color="#0000ff">5;i<101;i++)と変更すれば、
5+6+7+・・・+100
の計算をさせることができます。
尚、
for(i=1;i<11;i++){
w=w+i;
}
と{]の中が1文しかないときは、
for(i=1;i<11;i++)w=w+i;
と記述することもできます。
ですが、複数文のときは
for(条件式){
A;
B;
C;
}
と記述しなければなりません。
それでは皆さん、
2+4+6+・・・+100を計算させるためには、
どのように変更したらよいでしょうか。
第1話へ 第3話へ
vc++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る