Do Loop文

 While文の機能をさらに拡張させた反復処理のステートメントとして、Do Loop文があります。このステートメントには次のような種類があります。

■ 前判定・偽になるまでループ

 この構文は繰り返すかどうかを、繰り返し処理をする前に判定します。繰り返し処理は条件が真の間行われます。

Do Loop文の書式1
Do While 条件式
 処理
Loop

Do While文
Do While文

○ プロジェクト

 次のようにプロジェクトを作成してください。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 DoLoopTest1

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. Sub Main()
  2.  '変数の宣言
  3.  Dim num As Integer = 1
  4.  Dim sum As Integer = 0
  5.  '条件を指定してループする
  6.  Do While num <= 5
  7.   'カウンターを加算する
  8.   sum += num
  9.   'カウンターを1加算する
  10.   num += 1
  11.  Loop
  12.  '結果を表示
  13.  Console.WriteLine("合計:" & sum)
  14.  Console.ReadLine()
  15. End Sub

○ 実行結果

合計:15

○ 解説

 このサンプルはWhileTestプロジェクトと同じプログラムになります。5行目で用意した変数numは、繰り返すたび増やして使うカウンターです。6行目で用意した変数sumは合計を保存します。9行目から繰り返し処理が記述されています。条件としてカウンター変数numが5以下の間繰り返します。11行目でカウンター変数numの値を変数sumに足しこみます。そして、14行目でカウンター変数を1増やします。これを繰り返し条件が合わなくなるまで繰り返します。繰り返し処理が終了したのち、18行目で合計した結果を表示しています。このサンプルは「1 + 2 + 3 + 4 + 5」を計算したのと同じ結果となります。

■ 前判定・真になるまでループ

 この構文は繰り返すかどうかを、繰り返し処理をする前に判定します。繰り返し処理は条件が偽の間行われます。

Do Loop文の書式2
Do Until 条件式
 処理
Loop

Do Until文
Do Until文

○ プロジェクト

 次のようにプロジェクトを作成してください。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 DoLoopTest2

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. Sub Main()
  2.  '変数の宣言
  3.  Dim num As Integer = 1
  4.  Dim sum As Integer = 0
  5.  '条件を指定してループする
  6.  Do Until num > 5
  7.   'カウンターを加算する
  8.   sum += num
  9.   'カウンターを1加算する
  10.   num += 1
  11.  Loop
  12.  '結果を表示
  13.  Console.WriteLine("合計:" & sum)
  14.  Console.ReadLine()
  15. End Sub

○ 実行結果

合計:15

○ 解説

 5行目で用意した変数numは、繰り返すたび増やして使うカウンターです。6行目で用意した変数sumは合計を保存します。9行目から繰り返し処理が記述されています。条件としてカウンター変数numが5より大きくない間繰り返します。11行目でカウンター変数numの値を変数sumに足しこみます。そして、14行目でカウンター変数を1増やします。これを繰り返し条件が合うまで繰り返します。繰り返し処理が終了したのち、18行目で合計した結果を表示しています。このサンプルは「1 + 2 + 3 + 4 + 5」を計算したのと同じ結果となります。

■ 後判定・偽になるまでループ

 この構文は繰り返すかどうかを、繰り返し処理をした後に判定します。繰り返し処理は条件が真の間行われます。

Do Loop文の書式3
Do
 処理
Loop While 条件式

Do Loop文
Do Loop文

○ プロジェクト

 次のようにプロジェクトを作成してください。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 DoLoopTest3

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. Sub Main()
  2.  '変数の宣言
  3.  Dim num As Integer = 1
  4.  Dim sum As Integer = 0
  5.  '条件を指定してループする
  6.  Do
  7.   'カウンターを加算する
  8.   sum += num
  9.   'カウンターを1加算する
  10.   num += 1
  11.  Loop While num <= 5
  12.  '結果を表示
  13.  Console.WriteLine("合計:" & sum)
  14.  Console.ReadLine()
  15. End Sub

○ 実行結果

合計:15

○ 解説

 5行目で用意した変数numは、繰り返すたび増やして使うカウンターです。6行目で用意した変数sumは合計を保存します。9行目から繰り返し処理が記述されています。まず、繰り返し処理を一度実行して、その後繰り返すかどうかの判断をします。条件としてカウンター変数numが5以下の間繰り返します。11行目でカウンター変数numの値を変数sumに足しこみます。そして、14行目でカウンター変数を1増やします。これを繰り返し条件が合わなくなるまで繰り返します。繰り返し処理が終了したのち、18行目で合計した結果を表示しています。このサンプルは「1 + 2 + 3 + 4 + 5」を計算したのと同じ結果となります。

■ 後判定・真になるまでループ

 この構文は繰り返すかどうかを、繰り返し処理をした後に判定します。繰り返し処理は条件が偽の間行われます。

Do Loop文の書式4
Do
 処理
Loop Until 条件式

Do Until文
Do Until文

○ プロジェクト

 次のようにプロジェクトを作成してください。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 DoLoopTest4

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. Sub Main()
  2.  '変数の宣言
  3.  Dim num As Integer = 1
  4.  Dim sum As Integer = 0
  5.  '条件を指定してループする
  6.  Do
  7.   'カウンターを加算する
  8.   sum += num
  9.   'カウンターを1加算する
  10.   num += 1
  11.  Loop Until num > 5
  12.  '結果を表示
  13.  Console.WriteLine("合計:" & sum)
  14.  Console.ReadLine()
  15. End Sub

○ 実行結果

合計:15

○ 解説

 5行目で用意した変数numは、繰り返すたび増やして使うカウンターです。6行目で用意した変数sumは合計を保存します。9行目から繰り返し処理が記述されています。まず、繰り返し処理を一度実行して、その後繰り返すかどうかの判断をします。条件としてカウンター変数numが5より大きくない間繰り返します。11行目でカウンター変数numの値を変数sumに足しこみます。そして、14行目でカウンター変数を1増やします。これを繰り返し条件が合うまで繰り返します。繰り返し処理が終了したのち、18行目で合計した結果を表示しています。このサンプルは「1 + 2 + 3 + 4 + 5」を計算したのと同じ結果となります。

 前判定のステートメントは、条件によっては一度も繰り返す処理をしないこともありますが、後判定は必ず最低1回は繰り返し処理行なう処理を実行します。

前へ   次へ