07_制御構文_繰り返し(for文)

はじめに

この資料では、「for文」を使った繰り返し処理について学びます。for文は回数が決まっている繰り返しに使われる構文で、while文に比べて記述が簡潔になるという特徴があります。


for文の基本構造

for ( i を 開始値 から 終了値 まで 増分 ずつ増やす )
    処理
endfor

例:

整数型: i

for ( i を 1 から 5 まで 1 ずつ増やす )
    i を出力
endfor

// 出力:1 2 3 4 5


while文おさらいとfor文との対比

繰り返しの構造として、カウンター変数を用いた while文 の典型的な形があります:

整数型: i ← 1

while ( i が 5 以下 )
    i を出力
    i ← i + 1
endwhile

// 出力:1 2 3 4 5

上記の書き方は、for文ではより簡潔に次のように記述できます:

整数型: i

for ( i を 1 から 5 まで 1 ずつ増やす )
    i を出力
endfor

// 出力:1 2 3 4 5

このように、カウンター変数の初期化、条件、更新がひとまとめに書けるのが for文の利点です。

for文では先頭の1行内に ・カウンター変数 ・初期値 ・増分 を記載するため、いくつからいくつまで繰り返しを行うかが最初に明示されています。 慣れるまでは分かりにくいかもしれませんが、慣れると大変便利です。


for文の応用例(if文と組み合わせ)

整数型: i
整数型: count ← 0

for ( i を 1 から 5 まで 1 ずつ増やす )
    if ( i MOD 2 が 0 と等しい )
        count ← count + 1
    endif
endfor

count を出力

// 出力:2(偶数は2と4の2回)


理解度チェック問題

問題1:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: i
整数型: sum ← 0

for ( i を 1 から 3 まで 1 ずつ増やす )
    sum ← sum + i
endfor

sum を出力
解説を表示 正解:**イ** 1 + 2 + 3 = 6

問題2:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: i

for ( i を 1 から 4 まで 2 ずつ増やす )
    i を出力
endfor
解説を表示 正解:**イ** 増分が2のため、1 → 3と2回繰り返す。

問題3:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: i
整数型: count ← 0

for ( i を 1 から 6 まで 1 ずつ増やす )
    if ( i MOD 3 が 0 と等しい )
        count ← count + 1
    endif
endfor

count を出力
解説を表示 正解:**イ** 3と6が3の倍数 → countは2

問題4:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: i

for ( i を 5 から 1 まで -1 ずつ増やす )
    i を出力
endfor
解説を表示 正解:**イ** カウントダウンの繰り返し。

問題5:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: i
整数型: total ← 0

for ( i を 2 から 10 まで 2 ずつ増やす )
    total ← total + i
endfor

total を出力
解説を表示 正解:**イ** 2 + 4 + 6 + 8 + 10 = 30