บทที่ 8 ประโยคคำสั่ง (Statement)

  ประโยคคำสั่ง (Statement)

         การเขียนโปรแกรมสั่งงานจะมีบางขั้นตอนที่จะต้องมีทางเลือกหรือทำซ้ำให้กับโปรแกรม เพื่อกำหนดวิธีการประมวลผลโดยอาศัยตัวแปรและค่าของตัวแปร โดยการระบุเงื่อนไขเพื่อกำหนดให้เป็นทางเลือกหรือการทำซ้ำ ถ้าค่าตัวแปรตรงกับค่าที่กำหนดในเงื่อนไขที่กำหนดไว้ให้โปรแกรมปฏิบัติการตามคำสั่งอย่างใดอย่างหนึ่ง ซึ่งคำสั่งควบคุมแบ่งออกเป็น 2 ประเภท คือ คำสั่งเพื่อการวนรอบ และคำสั่งเพื่อการกำหนดเงื่อนไข โดยในบทนี้จะกล่าวถึงคำสั่งเพื่อการวนรอบ
        คำสั่งควบคุม ( Control Statement) ทำหน้าที่สั่งให้คอมพิวเตอร์ทำงานตามเงื่อนไขหรือรูปแบบที่ผู้พัฒนาโปรแกรมต้องการ ซึ่งคำสั่งควบคุมแบ่งออกได้เป็น 2 กลุ่มคือ
       1.คำสั่งเพื่อการวนรอบ ( Loop Statement)
       2.คำสั่งเพื่อการกำหนดเงื่อนไข (Conditional Statement)
        การเขียนโปรแกรมสั่งงานจะมีบางขั้นตอนที่จะต้องมีทางเลือกหรือทำซ้ำให้กับโปรแกรมเพื่อกำหนดวิธีการประมวลผลโดยอาศัยตัวแปรและค่าของตัวแปร โดยการระบุเงื่อนไขเพื่อกำหนดให้เป็นทางเลือกหรือการทำซ้ำ ถ้าค่าตัวแปรตรงกับค่าที่กำหนดในเงื่อนไขที่กำหนดไว้ให้โปรแกรมปฏิบัติการตามคำสั่งอย่างใดอย่างหนึ่ง ซึ่งในบทนี้จะกล่าวถึงคำสั่งเพื่อการวนรอบ ส่วนคำสั่งเพื่อการกำหนดเงื่อนไขจะกล่าวถึงในบทต่อไป

ประโยคเงื่อนไข (Conditional Sentences)

           ประโยคเงื่อนไข (Conditional Sentences) เป็นลักษณะประโยคที่บอกการกระทำของกิริยาอีกลักษณะหนึ่งที่มีความสำคัญพอๆ กับเรื่อง “mood” เพราะเป็นเรื่องที่เกี่ยวข้องสัมพันธ์กัน ข้อความของประโยคในรูปแบบต่างๆ จะแสดงความหมายไม่เหมือนกัน ข้อความบางอันเป็นจริง แต่ข้อความบางอันไม่เป็นจริง เป็นแต่การสมมุติเท่านั้น
ฉะนั้น จำเป็นที่จะต้องศึกษารูปแบบของประโยคเงื่อนไขต่างๆ ให้ดี จึงจะเข้าใจข้อความได้ถูกต้องขึ้น ประโยคเงื่อนไขนั้น ความจริงก็คือ Adverb clause ชนิดหนึ่งที่แสดงเงื่อนไข (Condition) ซึ่งมีตัว Relative เช่น “if, unless, provided (that), suppose (that), on condition that” แต่ส่วนใหญ่มักจะใช้ “if’ บางตำรา จึงเรียกประโยคเงื่อนไขว่า “IF-Clause” ก็มี

ชนิดของประโยคเงื่อนไข

        ประโยคเงื่อนไข (Conditional Sentences) แบ่งออกเป็น 2 ชนิด คือ
1. เงื่อนไขที่เป็นจริง หรือเงื่อนไขที่เป็นไปได้ในอนาคต (Real Conditions or Open Conditions) มีรูปแบบโครงสร้างดังนี้
Subordinate Clause            Main Clause
IF + Present Simple            Future Simple
ตัวอย่าง
If John works hard, he will pass his examination.
If the rain stops I shall go for a walk.
Unless the rain stops I shall not go for a walk.
ตำแหน่งการวาง Clause ทั้ง 2 อาจสลับกันได้ คือ เอา Main Clause ขึ้น แล้วตามด้วย Subordinate Clause (แต่อย่างไรก็ดี ถ้าขึ้นต้น ประโยคด้วย Subordinate Clause หรือ if Clause ก่อนจะเป็นการเน้นยิ่งขึ้น) เช่น
I will help him if he asks me.
I won’t help him unless he asks me.
He will do the work if (provided that/on condition that) he has the time.
ประโยคเงื่อนไขแท้จริง (Real Conditions) นอกจากจะใช้โครงสร้างประโยคดังกล่าวข้างต้น ซึ่งเป็นโครงสร้างที่ใช้มากที่สุดแล้ว ยังมีโครงสร้างอีกแบบหนึ่งซึ่งใช้มากเช่นกัน และค่อนข้างจะมีความหมายเน้น (Emphasis) กว่าโครงสร้างข้างบน คือ
Subordinate Clause                Main Clause
If + Present Simple                 Present Simple


ประโยคแบบเงื่อนไข If Statement แบ่งออกเป็น 3 แบบ คือ

1.1.1 คำสั่ง If…Then เป็นคำสั่งที่เขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ ทำการเปรียบเทียบและตัดสินใจเลือกเงื่อนไขที่เป็นจริงและให้กระทำคำสั่งที่ต้องการ โดยมีทางเลือกเพียง 1 ทางเท่านั้น
รูปแบบคำสั่ง
If เงื่อนไข Then
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไขเป็นจริง
End If
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อโปรแกรมพบคำสั่งนี้ จะทำการตรวจสอบเงื่อนไขหลัง IF ผลลัพธ์ที่ได้คือ
- เงื่อนไขเป็นจริง จะทำตามคำสั่งหลัง Then
- เงื่อนไขเป็นเท็จ จะออกจากเงื่อนไข
ตัวอย่าง
Dim y As Integer
y=5
If y > 2 Then
Debug.Print “Y มีค่ามากกว่า 2
End If
Debug.Print “Y มีค่าน้อยกว่าหรือเท่ากับ 2
1.1.2 คำสั่ง If…Then…Else เป็นคำสั่งที่เขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ ทำการตรวจสอบเงื่อนไขแล้วมีทางเลือก 2 ทางเลือก โดยเปรียบเทียบกับเงื่อนไขที่ได้
รูปแบบคำสั่ง
IF เงื่อนไข THEN
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไขเป็นจริง
Else
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไขเป็นเท็จ
End If
Debug.Print “Y มีค่าน้อยกว่าหรือเท่ากับ 2
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อโปรแกรมพบคำสั่งนี้ จะทำการตรวจสอบเงื่อนไขหลัง IF ผลลัพธ์ที่ได้คือ
ถ้าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งหรือชุดคำสั่งหลังThen
ถ้าเงื่อนไขเป็นเท็จ ให้ทำตามคำสั่งหรือชุดคำสั่งหลัง Else
ตัวอย่างการใช้งาน If…Then…Else
Dim A As Integer, B As Integer
Dim C As Integer
A = 5
B = 10
If A > B Then
C = A + B
Else
C = A- B
End If
จากตัวอย่างจะมีการนำค่า A มาเปรียบเทียบกับ B ถ้าหากว่า Aมากกว่า B ก็จะเอา A บวก กับ B แล้วเก็บไว้ใน C ถ้า กรณี A<= B จะเป็นการนำเอา A มาลบออกด้วย B แล้วเก็บผลลัพธ์ไว้ใน C แต่ในตัวอย่างจะมีการทำคำสั่ง
C = A- B เพราะ A = 5 และ B = 10 ดังนั้น A จึงไม่มากกว่า B จึงเป็นเหตุให้เงื่อนไขเป็นเท็จ ดังนั้น คำสั่ง C = A- B จึงถูกกระทำ
1.1.3 คำสั่ง If…Then…Elseif เป็นคำสั่งที่เขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ ทำการตรวจสอบเงื่อนไขแล้วมีทางเลือกมากกว่า 2 ทางเลือก
รูปแบบคำสั่ง
IF เงื่อนไข1 THEN
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไข1เป็นจริง
Elseif เงื่อนไข2 THEN
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไข2เป็นจริง
Else
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อไม่ตรงกับเงื่อนไขใด
End If
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อโปรแกรมพบคำสั่งนี้ จะทำการตรวจสอบเงื่อนไขหลัง IF ผลลัพธ์ที่ได้คือ
ถ้าเงื่อนไขแรกเป็นจริง ให้ทำตามคำสั่งหรือชุดคำสั่งหลังThen หากเงื่อนไขแรกเป็นเท็จ ให้เข้าตรวจสอบเงื่อนไขที่2
ถ้าเงื่อนไขที่ 2 เป็นจริง ให้ทำตามคำสั่งหรือชุดคำสั่งหลังThen ของคำสั่งที่ 2 หากเงื่อนไขที่ 2 เป็นเท็จ ให้ทำการตรวจสอบเงื่อนไขอีกเรื่อยๆ
ถ้าเงื่อนไขทั้งหมดเป็นเท็จ ให้ทำตามคำสั่งหรือชุดคำสั่งหลัง Else
ตัวอย่าง
If y > 2 Then
MsgBox “วายมากกว่าสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
ElseIf y > 0 Then
MsgBox “วายไม่มากศูนย์ แต่น้อยกว่าหรือเท่ากับสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
Else
MsgBox “วายไม่มากกว่าศูนย์”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
End If
ประโยคแบบเงื่อนไข Select Case
คำสั่ง Select Case เป็นคำสั่งที่เหมาะสำหรับการตรวจสอบเงื่อนไข และมีทางเลือกมากกว่า 2 ทางเลือกนิยมใช้ในกรณีที่เงื่อนไขมีตัวแปรเพียงตัวเดียว ลักษณะการทำงานคล้ายกับคำสั่ง If…Then…Elseif แต่จะมีโครงสร้างซับซ้อนน้อยกว่า
รูปแบบคำสั่ง
Select Case ชื่อตัวแปร
Case เงื่อนไข1
ชุดคำสั่งต่างๆเงื่อนไข1เป็นจริง
Case เงื่อนไข2
ชุดคำสั่งต่างๆเงื่อนไข2เป็นจริง
Case เงื่อนไขn
ชุดคำสั่งต่างๆเงื่อนไขnเป็นจริง
Case Else
ชุดคำสั่งต่างๆเมื่อไม่ตรงกับเงื่อนไขใด
End Select
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อโปรแกรมพบคำสั่งนี้ จะทำการตรวจสอบค่าของตัวแปรหลัง Select Case ว่ามีค่าตรงกับเงื่อนไขใดหลังคำสั่ง Case ก็ให้ทำคำสั่งที่อยู่ต่อจากคำสั่ง Case นั้นๆ และถ้าค่าของตัวแปรไม่ตรงกับเงื่อนไขคำสั่งหลัง Case ใดเลย โปรแกรมจะทำคำสั่งที่อยู่หลัง Case Else
การใช้คำสั่ง Select Case มี 2 ลักษณะ
1. การใข้คำสั่ง Select Case แบบกำหนดช่วง
ตัวอย่าง
Select Case total
Case 10 To 20
MsgBox “Total มีค่าตั้งแต่ 10 ถึง 20”
Case 30 To 40
MsgBox “Total มีค่าตั้งแต่ 30 ถึง 40”
Case 50 To 60
MsgBox “Total มีค่าตั้งแต่ 50 ถึง 60”
Case Else
MsgBox “กรุณาป้อนข้อมูลใหม่
End Select
2. การใช้คำสั่ง Select Case แบบเปรียบเทียบ ใช้ IS เพื่อแทนชื่อตัวแปร
ตัวอย่าง 1
Select Case y
Case IS >= 2
MsgBox “วายมากกว่าหรือเท่ากับสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
Case IS >= 8
MsgBox “วายมากกว่าหรือเท่ากับแปด”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
Case Else
MsgBox “วายมากกว่าหรือเท่ากับสองและแปด”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
End Select
ตัวอย่าง 2
Select Case y
Case 2
MsgBox “วายเท่ากับสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
Case 0
MsgBox “วายเท่ากับศูนย์”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
Case Else
MsgBox “วายไม่เท่ากับสอง และไม่เท่ากับศูนย์”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข
End Select





ไม่มีความคิดเห็น: