'For Next'에 해당되는 글 1건

  1. 2008.03.26 VB2008 강좌- 반복문(For Next, Do문)

프로그램을 작성하다 보면 반복해서 처리해 줘야하는 경우가 종종 있다. 예를 들면 적게는 수십명에서 많게는 수 만명의 사람에게 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문과 동일하지만 다른 점은 루프 내의 문장이 최소한 한 번은 수행된다는 점이다.


예제 결과

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

실제로 폼디자인한 후  코드 입력하여 테스트를 해보시고 바꿔보시고 하시면 쉽게
익히실 수 있을 겁니다.
Posted by 원철연(체르니)
,