[Visual Basic]제어문과 반복문 - 1부









조건문


종 류

설 명

IF

조건에 따라 분기를 한다.

Selected Case

지정한 변수에 따라 분기한다.

조건문은 판단을 하기 위해서 사용합니다. 예를 들면, 비가오면 집에 있고 날씨가 맑으면 산으로 놀러 간다면 다음과 같이 만들 수 있습니다.


If 날씨 = Then 집에서 쉰다. Else 산으로 놀러 간다.



[날씨][조건]에 해당하고 []는 조건을 판단하는 변수가 됩니다. []가 오면 집에서 쉬고 []

안오면 산으로 놀러 갑니다. 이렇게 조건에 따라 다르게 수행하기 위해서 사용합니다. 조건문이 없다면,

판별적인 코딩을 할 수 없기 때문에 꼭 필요합니다.


1. 반 복 문

종 류

설 명

For

초기 값, 증가 값, 최종 값을 지정하여 반복한다.

While

조건을 만족하는 동안만 문장을 반복합니다.

DoLoop

조건을 만족하는 동안만 문장을 반복합니다. [Exit Do]를 사용하여 반복을 중지할 수 있습니다.

반복문 없이 1에서 1000까지 더한 값을 출력하는 프로그램을 코딩을 한다면, 다음과 같이 해야 할

것입니다.


Total = 1+2+3+4 ...+ 1000

Label1.Caption = Total


위와 같이 한다면 1부터 1000까지를 입력해야 하므로 많은 시간이 걸릴 것입니다. 반복문을 이용한다면

짧은 시간 안에 간단하게 코딩할 수 있습니다.

① For문 이용

Total = 0

For i = 1 To 1000

Total = Total + i

Next

Label1.Caption = Total


② Wihle 이용

i = 0

While i < 1000

i = i + 1

Total = Total + i

Wend

Label1.Caption = Total


③ DoLoop 이용

i = 0 : Total=0

Do While i < 1000

i = i + 1

Total = Total + i

Loop

Label1.Caption = Total

실행 결과 : Total에 누적된 값이 저장되어 1부터 1000까지의 합을 구할 수 있습니다결과값은 ,,③ 모두 '500500'이 출력됩니다.


반복문이 여러 가지가 종류가 있는 것은 사용을 편의를 제공하기 위해서입니다. For문 일정한 규칙적인 반복을 할 경우 많이 사용하고 While문이나 DoLoop문은 불규칙적인 반복을 할 경우에사용합니다.



IF문

IF문 조건을 판단한 후 조건에 따라 분기하여 수행합니다. 예를 들면, 100원짜리 동전이 앞면이 나오면 집에 가고 아니면 뒷면이 나오면 친구하고 집에 놀겠다는 경우와 같이 판단을 처리하기 위해서 사용합니다.

조건을 만족하면 Then 다음 문장을 실행하고 조건을 만족하지 않으면 Else문 다음의 문장을 실행합니다.


형식

① If 조건 Then

문장

End If

② If 조건 Then 

문장

Else

문장

End If


IF.. Then

[조건]을 만족하면 [문장]을 실행하고, 다음 라인을 수행합니다. 만약 IF문의 조건을 만족하지 않으면 수행을 한번도 하지 않습니다.

버튼을 누르면 수행한다.

Private Sub Command1_Click()

Dim Sung As Integer

Sung = Val(Text1.Text)

If Sung = 100 Then

Label1.Caption = "100점입니다."

End If

End Sub

실행결과 : 텍스트박스(Text1) 컨트롤에서 100이외의 숫자를 입력하면 아무것도 Label1에 숫자가 출력되지 않습니다만약 Text1에서 100을 입력하면 Label1에 '100점입니다'라는 문자열이 출력됩니


If .. Then .. Else

[조건]을 만족하면 Then 다음의 [문장]을 실행하고 조건을 만족하는 않으면 Else 다음의 [문장]을 실행합니다. IF .. Then문과 다른 점은 꼭 한번은 수행합니다.



' 버튼을 누르면 수행한다.

Private Sub Command1_Click()

Dim Sung As Integer

Sung = Val(Text1.Text)

If Sung >= 70 Then

Label1.Caption = "70점이상 입니다."

Else

Label1.Caption = "70점이하 입니다."

End If

End Sub


실행 결과 : Text1에서 70이상을 입력하면 Label1에 '70점이상 입니다.'가 출력되고 70점이하를 입력하면 Label1에 '70점 이하입니다.'가 출력됩니다


 


형식

If 조건1 Then

문장

ElseIf 조건2 Then

문장

(ElseIf를 붙여 연속적으로 만들 수 있습니다.)

End If


다중 IF문을 이용하여 연속적으로 조건을 주어 수행할 수 있습니다. [조건1]을 만족하면 Then다음의 [문장]을 실행하고 만족하지 않으면, IF문의 [조건2]를 수행합니다. [조건2]를 만족하면 Then다음의 [문장] 실행합니다.이런 식으로 연속적으로 조건을 판단하는 IF문을 만들 수 있습니다.


Private Sub Command1_Click()

Dim Sung As Integer

 

Sung = Val(Text1.Text)

 

If Sung >= 90 Then

Label1.Caption = "A"

ElseIf Sung >= 80 Then

Label1.Caption = "B"

 

ElseIf Sung >= 70 Then

Label1.Caption = "C"

ElseIf Sung < 70 Then

Label1.Caption = "F"

End If

 

End Sub


실행 결과 : Sung이 90이상이면 'A'가 출력되고 Sung이 80이상이면 'B'가 출력되고, Sung이 70이상이면 'C'가 출력되고 Sung이 70점이하이면 'F'가 출력됩니다.


If문 이해하기

If 성적 >= 90 And 성적 <= 100 Then

Label1.Caption = "90 <= 성적 <= 100"

End If

실행 결과 : '성적'이 90에서 100점 사이이면 Label1에 '90<= 성적 <= 100'이 출력됩니다.


If 성적 = 90 Or 성적 = 100 Then

Label1.Caption = "성적=90 또는 성적=100"

End If

실행 결과 : '성적'이 90이거나 성적이 100이면 Label1에 '성적=90 는 성적=100'이 출력됩니다.






Reactions

댓글 쓰기

0 댓글