프로그램을 작성하다 보면 반복해서 처리해 줘야하는 경우가 종종 있다. 예를 들면 적게는 수십명에서 많게는 수 만명의 사람에게 SMS 문자메시지나 이메일을 보내줘야 하는 경우같이 반복되는 작업을 처리해야 할 때 사용하면 좋은 반복문에 대해서 알아보기로 하자.
1. For ~ Next 문
For문과 Next문 사이의 코드를 조건에 따라서 반복 처리한다.
1.1 형식
For 변수 = 초기치 To 최종치 [Step 증감값]
…
실행코드들
[Exit For]
Next [변수]
è Step문이 생략된 경우에는 증감값은 1이 된다.
1.2 예제
이중 For ~ Next문을 사용하여 “0123456789”가 10번 출력되도록 함.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim number, count As Integer
Dim thisString As String = ""
For number = 10 To 1 Step -1
For count = 0 To 9
thisString &= CStr(count)
Next count
thisString &= " "
MsgBox("현재 number 값은 :" & CStr(number) & "현재
thisString값은 :" & thisString & "이다")
Next number
MsgBox("For Next문을 수행한 최종 결과는 : " & thisString &
"이다.")
End Sub
[참고] For … Each문은 배열에 대해서 할 때 글을 올리도록 하겠습니다.
2. Do While … Loop문
For 반복문은 루핑 수행시 회수에 의존하므로 일반적인 조건들을 반영하기가 조금은 불편하다. 이럴 경우 어떤 조건이든 사용이 가능한 Do While문을 알아보자.
부연하자면 Do While문은 조건이 참인 동안(거짓일 될 때까지) 일정한 블록 내의 코드를 반복 처리한다.
2.1 형식
Do While 조건식
…
실행코드들
Loop
2.2 예제
TextBox1에 입력한 숫자로 합계가 10미만이 될때까지 반복하는 예제
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'CInt()함수는 문자를 숫자로 변환해주는 함수
Dim sum As Integer = 0
Dim counter As Integer = 0
Do While sum < 10
sum = sum + CInt(TextBox1.Text)
counter = counter + 1
MsgBox("반복수는 : " & CStr(counter) & "현재 sum 값은 : "
& CStr(sum) & "이다")
Loop
MsgBox("총 반복수는 : " & CStr(counter) & " 번이다!")
End Sub
3. Do … Loop While 문
이 반복문은 Do While Loop문과 동일하지만 다른 점은 루프 내의 문장이 최소한 한 번은 수행된다는 점이다.
4. Do Until … Loop 문
Do Until문은 Do While문과는 달리 지정된 조건이 참이 될 때까지 루프 내의 코드들을 실행한다.
4.1 형식
Do Until 조건식
…
실행코드들
Loop
4.2 예제
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'TextBox1에 입력한 숫자로 sum<10 일때까지 반복한다.
'CInt()함수는 문자를 숫자로 변환해주는 함수
Dim sum As Integer = 0
Dim counter As Integer = 0
If TextBox1.Text <> "" Then
Do Until sum = 10
sum = sum + CInt(TextBox1.Text)
counter = counter + 1
MsgBox("반복수는 : " & CStr(counter) & "현재 sum
값은 : " & CStr(sum) & "이다")
'sum 값이 10보다 클 경우 Do Until ... Lop 탈출
If sum > 10 Then
Exit Do
End If
Loop
MsgBox("총 반복수는 : " & CStr(counter) & " 번이다!")
Else
MsgBox("숫자를 입력해주세요.")
End If
End Sub
5. Do … Loop Until 문
이 반복문은 Do Until .. Loop문과 동일하지만 다른 점은 루프 내의 문장이 최소한 한 번은 수행된다는 점이다.
예제 결과
실제로 폼디자인한 후 코드 입력하여 테스트를 해보시고 바꿔보시고 하시면 쉽게
익히실 수 있을 겁니다.
'컴퓨터 관련 무료강좌 > 비주엘 베이직 2008' 카테고리의 다른 글
VB2008-시스템에 설치된 드라이브 정보보기 (0) | 2008.04.17 |
---|---|
VB2008강좌-텍스트파일 읽어보기 (2) | 2008.04.17 |
VB2008 강좌-Select Case문 (0) | 2008.03.25 |
VB2008 강좌-If 조건문 (0) | 2008.03.24 |
VB2008 강좌- 연산자 (0) | 2008.03.23 |