คำสั่งเงื่อนไข

คำสั่ง If (โครงสร้างแบบเลือกทำ)

คำสั่ง If จะเป็นการตรวจสอบเงื่อนไขที่อยู่ต่อจาก If ว่าเป็น จริง หรือ เท็จ ถ้าเงื่อนไขเป็นจริง (True) จะทำตามคำสั่งที่อยู่ต่อจาก Then… ถึง End If แต่ถ้าเงื่อนไขเป็นเท็จ (False) จะไม่ทำตามคำสั่งที่อยู่ระหว่าง Then ถึง End If

รูปแบบคำสั่ง

If <เงื่อนไข>Then

คำสั่งที่ปฏิบัติเมื่อเงื่อนไขเป็นจริง

End If

เช่น

Dim x As Integer = 20

If x< 30 Then

MessageBox.Show (“ x = ” + x.ToString () ) ‘MessageBox.Show (“x = ” & x)

End If

คำสั่ง If…Then…Else

เป็นคำสั่งในการตรวจสอบเงื่อนไขที่อยู่ต่อจาก If ว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไขเป็นจริง จะทำตามคำสั่งที่อยู่หลังคำสั่ง Then แต่ถ้าเงื่อนไขเป็นเท็จจะทำตามคำสั่งที่อยู่หลังคำสั่ง Else

รูปแบบคำสั่ง

If <เงื่อนไข>Then

คำสั่งที่ปฏิบัติเมื่อเงื่อนไขเป็นจริง

Else

คำสั่งที่ปฏิบัติเมื่อเงื่อนไขเป็นเท็จ

End If

เช่น

Dim x As Integer = 20

If x< 30 Then

MessageBox.Show (“ xมีค่าน้อยกว่า 30 x = ” + x.ToString() )

Else

MessageBox.Show (“ xมีค่ามากกว่า 30 x = ” + x.ToString() )

End If

ให้ทดลองเปลี่ยนค่าข้อมูลของ x เป็น 40 แล้ว Run Program

คำสั่ง If ซ้อนกัน (Nest If)

ในกรณีที่ต้องการตรวจสอบเงื่อนไขหลาย ๆ เงื่อนไข จำเป็นต้องใช้คำสั่ง If ซ้อนกัน หลายชั้น

รูปแบบคำสั่ง

If <เงื่อนไข 1>Then

คำสั่งที่ปฏิบัติ ถ้าเงื่อนไขที่ 1 เป็นจริง

If <เงื่อนไข 2 >Then

คำสั่งที่ปฏิบัติ ถ้าเงื่อนไขที่ 2 เป็นจริง

If <เงื่อนไข n> Then

คำสั่งที่ปฏิบัติ ถ้าเงื่อนไขที่ n เป็นจริง

End If

End If

Else

คำสั่งที่ปฏิบัติ ถ้าเงื่อนไขที่ 1 เป็นเท็จ

End If

คำสั่ง If…ElseIf

ใช้สำหรับการตรวจสอบเงื่อนไขในกรณีที่มีหลาย ๆ เงื่อนไข ทำให้สะดวกต่อการใช้งาน

รูปแบบคำสั่ง

If <เงื่อนไข 1>Then

คำสั่งที่ปฏิบัติ ถ้าเงื่อนไขที่ 1 เป็นจริง

ElseIf <เงื่อนไข 2> Then

คำสั่งที่ปฏิบัติ ถ้าเงื่อนไขที่ 2 เป็นจริง

ElseIf <เงื่อนไข 3> Then

คำสั่งที่ปฏิบัติ ถ้าเงื่อนไขที่ 3 เป็นจริง

.

.

.

Else

คำสั่งที่ปฏิบัติ ในกรณีที่ไม่มีเงื่อนไขใดเป็นจริง

End If

การใช้คำสั่ง IIf

คำสั่ง IIf เป็นฟังก์ชันในการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงให้ทำอะไร ถ้าเงื่อนไขเป็นเท็จ ให้ทำอะไร

รูปแบบ

IIf (เงื่อนไข, ผลลัพธ์กรณีเงื่อนไขเป็นจริง, ผลลัพธ์ในกรณีเงื่อนไขเป็นเท็จ)


Dim number As Integer

Dim str As String

number =InputBox (“กรุณาป้อนตัวเลขจำนวนเต็ม”)

str = IIf ( (number Mod 2 = 0) , “เลขคู่” , “เลขคี่ ”)

MessageBox.Show (str, “ผลลัพธ์”)

ตัวอย่างที่ 1

โปรแกรมคำนวณผลการเรียน โดยใช้ If

คำสั่ง : ให้นักเรียนเขียนโปรแกรมคำนวณผลการเรียน โดยมีเงื่อนไข ดังนี้

1. คะแนนป้อนอยู่ระหว่าง 0 – 100

2. ผลการเรียน 0 – 4 ดังนี้

ระดับคะแนน 0 – 49 ผลการเรียนเป็น 0

ระดับคะแนน 50 – 59 ผลการเรียนเป็น 1

ระดับคะแนน 60 – 69 ผลการเรียนเป็น 2

ระดับคะแนน 70 – 79 ผลการเรียนเป็น 3

ระดับคะแนน 80 – 100 ผลการเรียนเป็น 4

3. เขียน Codeให้กบั ปุ่ม (Button)

Dim score As Integer

Dim grade As Integer

score =TextBox1.Text

If (score >= 0) And (score <= 100) Then

If score>= 80 Then

grade = 4

ElseIf score>= 70 Then

grade = 3

ElseIf score>= 60 Then

grade = 2

ElseIf score>= 50 Then

grade = 1

Else

grade = 0

End If

MessageBox.Show (“ผลการเรียน = ”& grade)

Else

MessageBox.Show (“กรุณาป้อนระดับคะแนนระหว่าง 0ถึง 100” )

End If

คำสั่ง Select…Case

คำสั่ง Select…Case เป็นการตรวจสอบเงื่อนไขหลายเงื่อนไข คล้ายกับ ElseIf แต่การใช้งานจะสะดวกกว่า ในกรณีที่ตรงกับเงื่อนไขใด ก็จะทำตามคำสั่งที่อยู่ใน Case ที่ตรงกับเงื่อนไขนั้น

รูปแบบคำสั่ง

Select Case ตัวแปร

Case เงื่อนไข1

คำสั่งที่ปฏิบัติเมื่อตรงกับ เงื่อนไขที่ 1

Case เงื่อนไข2

คำสั่งที่ปฏิบัติเมื่อตรงกับ เงื่อนไขที่ 2

Case เงื่อนไข3

คำสั่งที่ปฏิบัติเมื่อตรงกับ เงื่อนไขที่ 3

Case Else

คำสั่งที่ปฏิบัติในกรณีที่ไม่ตรงกับ เงื่อนไขใด ๆ เลย

End Select

เช่น

Dim strMonth As String

Dim numDay As Integer

strMonth =InputBox (“กรุณาป้อนชื่อเดือน (ภาษาอังกฤษ)” , “รับข้อมูลเดือน” )

Select CasestrMonth

Case “March”, “April”, “June”, “September”, “November”

numDay = 30

Case “February”

numDay = 28

Case Else

numDay = 31

End Select

MessageBox.Show (“เดือน” & strMonth & “มีจำนวนวัน =” & numDay)

ในกรณีที่ข้อมูลเป็นช่วงสามารถใช้คำว่า To เป็นคำเชื่อมระหว่างค่าข้อมูลได้

เช่น Case 1 To 10

หรือ Case “a” To “f”

Dim a As Integer

Dim b As String

a = InputBox (“กรุณาป้อนตัวเลขจำนวนเต็มบวก” , “ทดสอบคำสั่ง Case”)

Select Case a

Case 1 To 10

b = “มีค่าอยู่ระหว่าง 1 ถึง 10”

Case 11 To 20

b = “มีค่าอยู่ระหว่าง 11 ถึง 20”

Case Else

b = “มีค่ามากว่า 20”

End Select

MessageBox.Show (“ตัวเลข =” & a &“ผลลัพธ์” & b)

ตัวอย่างที่ 2

โปรแกรมคำนวณผลการเรียน โดยใช้ Select…Case

คำสั่ง :ให้นักเรียนเขียนโปรแกรมคำนวณผลการเรียน โดยมีเงื่อนไข ดังนี้

1. คะแนนที่ป้อนอยู่ระหว่าง 0 – 100

2. ผลการเรียน 0 – 4 ดังนี้

ระดับคะแนน 0 – 49 ผลการเรียนเป็น F

ระดับคะแนน 50 – 59 ผลการเรียนเป็น D

ระดับคะแนน 60 – 69 ผลการเรียนเป็น C

ระดับคะแนน 70 – 79 ผลการเรียนเป็น B

ระดับคะแนน 80 – 100 ผลการเรียนเป็น A

3. เขียน Codeให้กับ ปุ่ม (Button)

Dim score As Integer

Dim grade As String

score =TextBox1.Text

If (score >= 0) And (score <= 100) Then

Select Case score

Case 80 To 100

grade = “A”

Case 70 To 79

grade = “B”

Case 60 To 69

grade = “C”

Case 50 To 59

grade = “D”

Case Else

grade = “F”

End Select

MessageBox.Show (“Grade := ” & grade, “ระดับผลการเรียน”)

Else

MessageBox.Show (“กรุณาป้อนระดับคะแนน 0 – 100 เท่านั้น” , “คะแนนสอบ” )

End If