Do While ~ Loop

毎年1万円づつ1%の金利で貯金をすると、100万円を超えるのは何年後で、その時貯残高はいくらになるかを計算しよう。

フォームは以下のようにする。

 

プログラムは下記の通り。


Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
        Dim y As Decimal ' 貯金を始めてからの年数
        Dim x As Decimal ' 貯金残高
        x = 0
        y = 0
        Do While x < 1000000
            x = x + 10000
            x = x * 1.01
            y = y + 1
        Loop
        Label1.Text = y & "年後の貯金残高"
        Label2.Text = x & "円"

    End Sub
End Class


		

ここで、


        Do While 条件
            ステートメント
        Loop

		

は、条件が成り立つ間ステートメント(1つまたは複数)を繰り返すことをあらわしている。ステートメントはいくつ連なっていてもよい。


        Do While 条件
            ステートメント1
            ステートメント2
			.
			.
			.
            ステートメントn
        Loop

		

条件はステートメントnの実行の後Do While~Loopの先頭に処理が戻った際にだけ判定され、ステートメント1~nの実行中には判定されない。たとえば


		dim x
		x = 0
		Do While x = 0
			x = 1
			x = 2
		Loop

		

を実行すると、xに1を代入しても直ちにDo While~Loopを終了することはない。したがって、最後にx=1が実行されることはない。は1ではなく2になる。