190 likes | 315 Views
Chapter 6 Decision Statement. SUCHADA PUNNOI Dept. of Computer Science & Information Technology http :// computer . pcru . ac . th / KuBo/. การตัดสินใจในการเขียนโปรแกรม. คำสั่งแบบมีเงื่อนไข แบ่งออกเป็น 2 คำสั่ง 1. IF Statement แบ่งเป็น 3 ลักษณะ - IF…Then…
E N D
Chapter 6Decision Statement SUCHADA PUNNOI Dept. of Computer Science & Information Technology http://computer.pcru.ac.th/KuBo/
การตัดสินใจในการเขียนโปรแกรมการตัดสินใจในการเขียนโปรแกรม • คำสั่งแบบมีเงื่อนไข แบ่งออกเป็น 2 คำสั่ง 1. IFStatement แบ่งเป็น 3 ลักษณะ - IF…Then… - IF…Then….Else… - IF…Then…Else…ซ้อนกันหลายชั้น 2. Select Statement
คำสั่ง IF…Then • ใช้ในการเขียนโปรแกรมที่สั่งให้เครื่องคอมพิวเตอร์ตัดสินใจเลือกเงื่อนไขที่เป็นจริง แล้วให้ปฏิบัติตามคำสั่งที่ต้องการ โดยมีทางเลือก 1 ทางเท่านั้น • รูปแบบ If เงื่อนไขThen คำสั่ง 1
Start x y x = 0 n Hello Bye End ตัวอย่างการใช้คำสั่ง If..Then • หากใส่ค่า x เป็น 0 แล้วกดปุ่มทดสอบ จะแสดงข้อความว่า Hello และ Bye • หากใส่ค่า อื่น จะแสดงคำว่า Bye
ตัวอย่างการใช้คำสั่ง If..Then Code ปุ่มทดสอบ • ให้สร้างหน้าฟอร์ม ดังนี้ Private Sub Command1_Click() If Text1.Text = 0 Then Text2.Text = "Hello" Text3.Text = " Bye“ End Sub Code ปุ่มClear Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub • หากใส่ค่า x เป็น 0 แล้วกดปุ่มทดสอบ จะแสดงข้อความว่า Hello และ Bye • หากใส่ค่า อื่น จะแสดงคำว่า Bye
คำสั่ง If…Then…Else Statement • เป็นคำสั่งที่มีการตรวจสอบเงื่อนไขแล้วมีทางเลือก 2 ทางเลือก โดยการพิจารณาจากเงื่อนไขที่ได้ • รูปแบบ If เงื่อนไขThen คำสั่ง 1 Else คำสั่ง 2 End If
False True condition Statement ; Statement ; Flow-Chart : If…Then…Else Statement
ตัวอย่างการใช้คำสั่ง If..Then..Else Start • หากใส่ค่า x เป็น 0 แล้วกดปุ่มทดสอบ จะแสดงข้อความว่า Equal zero และ Bye • หากใส่ค่า อื่น จะแสดงคำว่า Not Equal Zero และ Bye x y x = 0 n Not Equal zero Equal zero Bye End
ตัวอย่างการใช้คำสั่ง If..Then..Else Code ปุ่มทดสอบ Private Sub Command1_Click() If Text1.Text = 0 Then Text2.Text = "Equal zero" Else Text2.Text = "Not Equal zero" End If Text3.Text = " Bye" End Sub • ให้สร้างหน้าฟอร์ม ดังนี้ Code ปุ่มClear Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub
คำสั่ง IF…Then…Else…ซ้อนกันหลายชั้น • คำสั่ง IF ซ้อนกันจะเกิดขึ้นเมื่อทางเลือกนั้นมีมากกว่า 2 ทางเลือก If เงื่อนไข Then คำสั่ง 1 Elseif เงื่อนไขThen คำสั่ง 2 Elseif เงื่อนไขThen คำสั่ง 3 Else คำสั่ง 4 (คำสั่งที่ไม่ตรงเงื่อนไขใดเลย) End if
Flow-Chart : IF…Then…Else…ซ้อนกันหลายชั้น
เปรียบเทียบระหว่าง 2 ทางเลือก และ มากกว่า 2 ทางเลือก If เงื่อนไข Then คำสั่ง 1 Elseif เงื่อนไขThen คำสั่ง 2 Elseif เงื่อนไขThen คำสั่ง 3 Else คำสั่ง 4 End if If เงื่อนไขThen คำสั่ง 1 Else คำสั่ง 2 End If
ตัวอย่างการใช้คำสั่ง If..Then..Else ซ้อนกันหลายชั้น Start • ป้อนตัวเลข 1 จำนวน เมื่อกดปุ่ม ทดสอบ • หากตัวเลขนั้นมากกว่า 0 ให้แสดงข้อความว่า More than Zero • หากตัวเลขนั้นน้อยกว่า 0 ให้แสดงข้อความว่า Less than Zero • หากตัวเลขนั้นมีค่าเป็น 0 ให้แสดงข้อความว่า Equal Zero • หลังจากนั้นให้แสดงคำว่า Bye x y x > 0 n y n More than Zero x < 0 Less than Zero Equal zero Bye End
ตัวอย่างการใช้คำสั่ง If..Then..Else หลายชั้น Code ปุ่มตรวจสอบค่า Private Sub Command1_Click() If Text1.Text > 0 Then Text2.Text = "More Than Zero" ElseIf Text1.Text < 0 Then Text2.Text = "Less Than Zero" Else Text2.Text = "Equal Zero" End If Text3.Text = "Bye" End Sub • ให้สร้างหน้าฟอร์ม ดังนี้ Code ปุ่มClose Code ปุ่มClear Private Sub Command3_Click() End End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub
คำสั่ง SelectCase • เป็นคำสั่งที่เหมาะสำหรับการตรวจสอบเงื่อนไขและมีทางเลือกให้ทำมากกว่า 2 ทางเลือก นิยมใช้ในกรณีที่เงื่อนไขการตัดสินใจขึ้นอยู่กับตัวแปรเพียงตัวเดียว คำสั่ง Select Case มีลักษณะการทำงานคล้ายกับคำสั่ง If…Then…Else แบบซ้อนกันหลายชั้น คือ มีการตัดสินใจในการทงานมากกว่า 2 ทางเลือก แต่จะมีโครสร้างซับซ้อนน้อยกว่าคำสั่งแบบ If…Then…Else แบบซ้อนกันหลายชั้น
รูปแบบ คำสั่ง Select Case Select Case ชื่อตัวแปรที่ตรวจสอบเงื่อนไข Case เงื่อนไข 1 หรือ ค่าคงที่ 1 คำสั่ง 1 Case เงื่อนไข 2 หรือ ค่าคงที่ 2 คำสั่ง 2 Case เงื่อนไข 3 หรือ ค่าคงที่ 3 คำสั่ง 3 Case เงื่อนไข n หรือ ค่าคงที่ n คำสั่ง n Case Else คำสั่ง...( คำสั่งที่ไม่ตรงกับ case ใด ๆ เลย ) End Select
condition … value1 value2 else value n S ; Statement ; Statement ; S ; Flow-Chart : Select Case
ตัวอย่างการใช้คำสั่ง Select Case Start x • ป้อนตัวเลข 1 จำนวน เมื่อกดปุ่ม ทดสอบ • หากตัวเลขนั้นมากกว่า 0 ให้แสดงข้อความว่า More than Zero • หากตัวเลขนั้นน้อยกว่า 0 ให้แสดงข้อความว่า Less than Zero • หากตัวเลขนั้นมีค่าเป็น 0 ให้แสดงข้อความว่า Equal Zero • หลังจากนั้นให้แสดงคำว่า Bye x > 0 < 0 else More than Zero Less than Zero Equal zero Bye End
ตัวอย่างการใช้คำสั่ง Select Case Code ปุ่มตรวจสอบค่า Private Sub Command1_Click() Select Case Text1.Text Case Is > 0 Text2.Text = "More Than Zero" Case Is < 0 Text2.Text = "Less Than Zero" Case Else Text2.Text = "Equal Zero" End Select Text3.Text = "Bye" End Sub • ให้สร้างหน้าฟอร์ม ดังนี้ Code ปุ่มClear Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub Code ปุ่มClose Private Sub Command3_Click() End End Sub