คำสั่งเงื่อนไข
คำสั่ง 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