06_制御構文_繰り返し(while文)

はじめに

この資料では、「while文」と「do〜while文」を用いた繰り返し処理について学びます。繰り返し処理は、条件を満たす限り同じ処理を何度も実行するために使用されます。


while文(前判定型)の基本構造

while ( 条件 )
    処理
endwhile

例1:

整数型: i ← 0

while ( i が 4 以下 )
    i を出力
    i ← i + 1
endwhile
出力はどうなる? // 出力 0 1 2 3 4

__

例2: 例1との違いはわかりますか?

整数型: i ← 0

while ( i が 4 より小さい )
    i を出力
    i ← i + 1
endwhile
出力はどうなる? // 出力 0 1 2 3
__

例3: 例1、例2との違いはわかりますか?

整数型: i ← 1

while ( i が 4 より小さい )
    i を出力
    i ← i + 1
endwhile
出力はどうなる? // 出力 1 2 3

while文の典型的な構造(カウンター変数の利用)

while文では、次のような流れでカウンター変数を使った繰り返し処理がよく使われます:

  1. カウンター変数を宣言
  2. ループ前に初期化(例:0や1)
  3. 条件が成り立つ間繰り返す
  4. 処理の最後でカウンターを更新(例:+1など)

例:

整数型: i ← 1

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

// 出力: 1 2 3 4 5


do〜while文(後判定型)の基本構造

do
    処理
while ( 条件 )

例:

整数型: x ← 0

do
    x ← x + 1
while ( x が 3 未満 )

x を出力  // 結果: 3

break文(ループの途中で終了)

ある条件に達した時点でループを終了したい場合には、break を使います。

整数型: x ← 1

while ( x が 10 以下 )
    if ( x が 5 と等しい )
        break
    endif
    x を出力
    x ← x + 1
endwhile

// 出力: 1 2 3 4


理解度チェック問題

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

while ( i が 5 以下 )
    i を出力
    i ← i + 1
endwhile
解説を表示 正解:**イ** 1〜5まで順に出力されて終了します。

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

while ( x が 5 未満 )
    x ← x - 1
endwhile
解説を表示 正解:**エ** x が減り続けて 5 未満のままなので無限ループになります。

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

while ( i が 10 以下 )
    if ( i が 4 と等しい )
        break
    endif
    i を出力
    i ← i + 1
endwhile
解説を表示 正解:**イ** i が 4 になる前に break で終了するため、1〜3が出力されます。

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

do
    x ← x + 1
while ( x が 3 未満 )

x を出力
解説を表示 正解:**ウ** 1回は必ず実行され、その後 x = 3 になるまで繰り返されます。