3.1 for文 -紫帽子のC++



例題

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まで変化させて表示すればいいので、フローチャートを作成すると以下のようになります。
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