หน่วยที่
6
โครงสร้างควบคุมแบบเงื่อนไขกรณี
หัวเรื่อง (Topics)
6.1
โครงสร้างแบบทางเลือกเดียว
6.2
โครงสร้างแบบสองทางเลือก
6.3
โครงสร้างแบบหลายทางเลือก
แนวคิดสำคัญ (Main Idea)
การเขียนโปรแกรมเป็นการกระทำให้ได้มาซึ่งรหัสคำสั่งหรือ
Source Code ของโปรแกรมโดยปกติแล้ว Source Code จะอยู่ในรูปแบบของข้อความธรรมดาที่ไม่สามารถนำไปใช้งานได้ จะต้องผ่านการแปลภาษาให้เป็นภาษาเครื่อง
(Machine Language) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน
ซึ่งสามารถเขียนโปรแกรมออกตามความต้องการทั้งแบบปกติธรรมดา
และแบบที่ซับซ้อนมีหลายางเลือก
ดังจะแบ่งโครงสร้างของโปรแกรมออกเป็นแบบต่างๆตามลักษณะการเขียนโปรแกรมโครงสร้างควบคุมแบบเงื่อนไขกรณี
ทั้งโครงสร้างแบบทางเลือกเดียว และโครงสร้างแบบหลายทางเลือก
ซึ่งรายระเอียดจะกล่าวถึงในบทต่อไปนี้
สมรรถนะย่อย (Element of Competency)
1.แสดงความรู้เกี่ยวกับหลักโครงสร้างควบคุมแบบเงื่อนไขกรณี
2.เขียนโปรแกรมแบบโครงสร้างควบคุมเงื่อนไขกรณี
จุดประสงค์เชิงพฤติกรรม (Behavioral Objectives)
1.เขียนโปรแกรมโครสร้างแบบทางเลือกเดียวได้ถูกต้อง
2.เขียนโปรแกรมโครงสร้างแบบทางเลือกด้วยคำสั่ง if
ได้ถูกต้อง
3.เขียนโปรแกรมโครงสร้างแบบทางเลือกด้วยคำสั่ง if...else
ได้ถูกต้อง
4.เขียนโปรแกรมโครงสร้างทางเลือกด้วยการใช่นิพจน์แบบเงื่อนไขได้ถูกต้อง
5.เขียนโปรแกรมโครงสร้างหลายทางเลือกด้วยคำสั่ง if
ได้ถูกต้อง
6.เขียนโปรแกรมโครงสร้างหลายทางเลือกด้วยคำสั่ง switch
ได้ถูกต้อง
7.เขียนโปรแกรมโครงสร้างแบบหลายทางเลือกด้วยการใช้ตัวดำเนินการตรรกะในคำสั่ง
if ได้ถูกต้อง
โครงสร้างแบบทางเลือกเดียว
โครงสร้างแบบสองทางเลือก
จากตัวอย่างผังงาน จะเป็นแบบทางเลือกทำงาน 2
ทาง คือ ถ้ามีเงินมากกว่า 10,000 บาท
จะทำให้เงื่อนไขเป็นจริง โปรแกรมจะทำงานในทิศทางของ yes แต่ถ้ามีเงินตั้งแต่
10,000 บาทลงมา จะ
ทำให้เงื่อนไขเป็นเท็จ
โปรแกรมก็จะทำงานในทิศทางของ no อันที่จริงการทำงานแบบทางเลือก
ไม่ได้มี 2 ทางเลือกเสมอไป
บางครั้งก็อาจจะมีเพียงทางเลือกเดียว หรือมีมากกว่า 2 ทางเลือกก็ได้
สำหรับการออกแบบโปรแกรมที่มีหลายทางเลือกก็จะทำให้โปรแกรมมีความซับซ้อนมากขึ้น
โครงสร้างแบบหลายทางเลือก
การทำงานแบบทางเลือก (Selection) หรือเรียกอีกอย่างหนึ่งว่า
การทำงานแบบตัดสินใจ (Decision) นั่นคือเราสามารถให้โปรแกรมเลือกทำงานอย่างใดอย่างหนึ่งได้
โดยใช้เงื่อนไขเป็นตัวกำหนดการทำงานตามคำสั่ง โดยทั่วไปโปรแกรมจะกำหนดเอาไว้ว่าถ้าเงื่อนไขเป็นจริงโปรแกรมจะไปทำงานอย่างหนึ่ง
แต่ถ้าเงื่อนไขเป็นเท็จโปรแกรมก็จะไปทำงานอีกอย่างหนึ่ง นั่นก็หมายความว่า
โปรแกรมจะเลือกทำงานทิศทางใดทิศทางหนึ่งเท่านั้น เช่น
เมื่อเราขับขี่รถไปถึงทางสามแยก เราจะต้องตัดสินใจไปทางใดทางหนึ่ง ไม่สามารถวิ่งไปทั้งสองทางได้ในเวลาเดียวกัน
ในชีวิตประจำวันของเราก็มีทางเลือกให้เราทำอยู่มากมาย
เช่นจะออกจากบ้านวันนี้จะใส่ชุดอะไร จะไปทานข้าวร้านไหนดี จะซื้อหนังสือเล่มไหน
จะนั่งด้านหน้าหรือหลังชั้นเรียน เป็นต้น
โดยทางเลือกแต่ละอย่างก็จะมีเงื่อนไขเป็นตัวกำหนดว่าจะไปทางใดจะออกจากบ้านวันนี้จะใส่ชุดอะไร
เงื่อนไขอาจจะขึ้นอยู่กับสถานที่ไป เช่น ไปโรงเรียนก็ใส่ชุดนักเรียน
ไปหาเพื่อนก็ใส่ชุดสบายๆ ไปพบญาติก็ใส่ชุดสุภาพ เป็นต้น
ดังนั้นเงื่อนไขจึงเป็นตัวกำหนดทางเลือก
การกำหนดเงื่อนไขในโปรแกรมมักจะใช้คำว่า if (ถ้า) นำหน้าเสมอ
โดยมีกฎเกณฑ์ว่า ถ้าเงื่อนไขเป็นจริงจะทำอะไร ถ้าเป็นเท็จทำอะ ถ้าฉันมีอายุครบ 17
ปี ฉันจะประกวดนางสาวไทย เงื่อนไขจะเป็นจริงเมื่ออายุเท่ากับ 17
(Age=17) ก็จะได้ประกวด แต่ถ้าอายุยังไม่ถึง หรืออายุอาจเลย 17
ปีแล้ว ก็จะไม่ได้ประกวดถ้าฉันเก็บเงินได้มากกว่า 1 ล้านบ้าน ฉันจะซื้อบ้าน เงื่อนไขจะเป็นจริงเมื่อมีเงินมากกว่า 1 ล้านบาท (Money>1,000,000) จะได้ซื้อบ้าน
แต่ถ้ามีเงินไม่ถึง 1 ล้านบาทจะทำให้เงื่อนไขเป็นเท็จ
ก็หมายความว่าไม่ได้ซื้อบ้าน
การออกแบบโปรแกรมโดยใช้ Flowchart นั้นจะมีสัญลักษณ์ที่ใช้สำหรับกำหนดเงื่อนไขเพื่อตรวจสอบทางเลือก
ได้แก่สัญลักษณ์สี่เหลี่ยมขนมเปียกปูน
วิธีการใช้มีลักษณะดังนี้
ส่วนประกอบ
ที่สำคัญของสัญลักษณ์การตัดสินใจ คือ
1.มีเงื่อนไขสำหรับตัดสินใจ
2.มีลูกศรออกได้ 2 ทางเสมอ คือ จริง/เท็จ หรือ yes/no
หรือ true/false
ไม่มีความคิดเห็น:
แสดงความคิดเห็น