書式 | フローチャート |
前判断 | ![]() |
For カウンタ=初期値 To 最終値 Step カウンタの増減幅 |
|
後判断 | ![]() |
Do ループさせるプログラム Loop While 繰り返す条件 Do ループさせるプログラム Loop Until 繰り返す条件 必ず一回は、「処理(ループさせるプログラム)」が実行される。 |
条件(条件式)については、ここを参照してください。
①For・・・・・Nextの考え方
Dim i As Integer
For i=1 To 10 Step 1
ループさせるプログラム
Next i
iが1から10になるまで1づつカウントアップしながらループするので10回ループする。
カウントの増量が1のときは、「Step 1」は、省略できる。
Dim i As Integer
For i=10 To 1 Step -1
ループさせるプログラム
Next i
iが10から1になるまで1づつカウントダウンしながらループするので10回ループする。
カウントの増量が-1のときは、「Step -1」は、省略できない。
②While・・・・・End Whileの考え方
カウンタの初期値とカウンタ機能はないので自分でプログラムする。
Dim i As Integer
i=1 'カウンタの初期値
While i<=10
ループさせるプログラム
i=i+1 'カウントアップのプログラム
End While
iが1から10になるまで1づつカウントアップしながらループするので10回ループする。
Dim i As Integer
i=10 'カウンタの初期値
While i>=1
ループさせるプログラム
i=i-1 'カウントダウンのプログラム
End While
iが10から1になるまで1づつカウントダウンしながらループするので10回ループする。
③Do While・・・・・Loopの考え方
カウンタの初期値とカウンタ機能はないので自分でプログラムする。
Dim i As Integer
i=1 'カウンタの初期値
Do While i<=10
ループさせるプログラム
i=i+1 'カウントアップのプログラム
Loop
iが1から10になるまで1づつカウントアップしながらループするので10回ループする。
④Do Until・・・・・Loopの考え方
カウンタの初期値とカウンタ機能はないので自分でプログラムする。
Untilは、Whileの逆の条件で動作するようになる。
Dim i As Integer
i=1 'カウンタの初期値
Do Until i>10
ループさせるプログラム
i=i+1 'カウントアップのプログラム
Loop
iが1から10になるまで1づつカウントアップしながらループするので10回ループする。
⑤Do・・・・・Loop Whileの考え方
カウンタの初期値とカウンタ機能はないので自分でプログラムする。
Dim i As Integer
i=1 'カウンタの初期値
Do
ループさせるプログラム
i=i+1 'カウントアップのプログラム
Loop While i<=10
iが1から10になるまで1づつカウントアップしながらループするので10回ループする。
⑥Dol・・・・・Loop Untilの考え方
カウンタの初期値とカウンタ機能はないので自分でプログラムする。
Untilは、Whileの逆の条件で動作するようになる。
Dim i As Integer
i=1 'カウンタの初期値
Do
ループさせるプログラム
i=i+1 'カウントアップのプログラム
Loop Until i>10
⑦<練習問題>
1+2+3+4+5+6+7+8+9+10=55になる計算を繰返しを使って処理しなさい。
ボタンのオブジェクト名
For Next → Button1
While End While → Button2
Do While Loop → Button3
Do Until Loop → Button4
Do Loop While → Button5
Do Loop Until → Button6
For Nextの答え
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim i, j As Integer
j = 1
For i = 2 To 10 Step 1
j = j + i 'j+iの演算結果を変数jに戻す。(累算)
Next i
MsgBox("1+2+3+4+5+6+7+8+9+10=" & j)
End Sub
一回ごとのループの処理の流れは、以下のようになる。
j=1、i=2のとき j(=1)+i(=2) → j(=3)
i=3のとき j(=3)+i(=3) → j(=6)
i=4のとき j(=6)+i(=4) → j(=10)
i=5のとき j(=10)+i(=5) → j(=15)
i=6のとき j(=15)+i(=6) → j(=21)
i=7のとき j(=21)+i(=7) → j(=28)
i=8のとき j(=28)+i(=8) → j(=36)
i=9のとき j(=36)+i(=9) → j(=45)
i=10のとき j(=45)+i(=10) → j(=55)
<課題>For Next以外の繰返しの命令で1+2+3+4+5+6+7+8+9+10=55の計算が
できるようにしなさい。
<答えです。できるだけ見ないようにがんばってみましょう。>
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim i, j As Integer
j = 1
For i = 2 To 10 Step 1
j = j + i 'j+iの演算結果を変数jに戻す。(累算)
Next i
MsgBox("1+2+3+4+5+6+7+8+9+10=" & j)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
Dim i, j As Integer
j = 1
i = 2
While i <= 10
j = j + i 'j+iの演算結果を変数jに戻す。(累算)
i = i + 1
End While
MsgBox("1+2+3+4+5+6+7+8+9+10=" & j)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
Dim i, j As Integer
j = 1
i = 2
Do While i <= 10
j = j + i 'j+iの演算結果を変数jに戻す。(累算)
i = i + 1
Loop
MsgBox("1+2+3+4+5+6+7+8+9+10=" & j)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button4.Click
Dim i, j As Integer
j = 1
i = 2
Do Until i > 10
j = j + i 'j+iの演算結果を変数jに戻す。(累算)
i = i + 1
Loop
MsgBox("1+2+3+4+5+6+7+8+9+10=" & j)
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button5.Click
Dim i, j As Integer
j = 1
i = 2
Do
j = j + i 'j+iの演算結果を変数jに戻す。(累算)
i = i + 1
Loop While i <= 10
MsgBox("1+2+3+4+5+6+7+8+9+10=" & j)
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button6.Click
Dim i, j As Integer
j = 1
i = 2
Do
j = j + i 'j+iの演算結果を変数jに戻す。(累算)
i = i + 1
Loop Until i > 10
MsgBox("1+2+3+4+5+6+7+8+9+10=" & j)
End Sub