例題
for文を使って1~10までの整数の和を求めるプログラムを作成してください。
概要
例題は今まで習った文法だけでも解くことができ、
int sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
とすればよいです。
しかし、このコードでは1~100の和を求めたいときは右辺の数字が100個となり、それを手書きで書くのはかなり面倒です。
こういう処理を行う上で役立つfor文と呼ばれるものがあるので紹介します。
for文の使い方
for文は似たような処理を反復で行うようなときに使われる文法です(似たものとして「while」や「do~while」なども存在します)。
そして、for文は以下のように記述します。
for(変数の初期化; 条件式; 処理X){ //内部処理 }
for文は以下のように条件式が偽になるまで、処理を続けます。
このような図はフローチャートと呼ばれます。
実際のプログラムを用いた解説
ここで、1~10までの数字をfor文で表示するプログラムを考えます。
for文で変数iを1~10まで変化させて表示すればいいので、フローチャートを作成すると以下のようになります。
これをコードにすると次のようになります。
#include <iostream> int main() { for (int i = 1; i <= 10; i = i + 1) { std::cout << i << std::endl; } }
ここで、注意すべきはi=i+1です。
数学的には意味不明ですが、プログラムにおいて=でつなぐ ⇒ 右辺を左辺に代入するなので、iを1だけ増やすという意味です。
例題の解答
ソースコード
解答例(タッチで開きます)
#include <iostream> int main() { int sum = 0; for (int i = 1; i <= 10; i = i + 1) { sum = sum + i; } std::cout << sum << std::endl; }
実行結果
55