การเขียนโปรแกรม แบบเลือกทำ (Selection) จากโปรแกรมที่ได้ศึกษามา เป็นการทำงานทีละคำสั่งตามลำดับขั้น สามารถเขียนเป็นผังงาน (Flowchart) ได้ดังภาพ 5-1
ภาพ 5-1 ผังงานการทำตามลำดับคำสั่ง ในการใช้งานทั่วไปนั้นบางขั้นตอนจะมีเงื่อนไขการทำงานต่าง ๆ ให้เลือกทำ ซึ่งจะต้องทำการทดสอบเงื่อนไขเพื่อแยกแยะการเลือกทำงานให้เป็นไปตามความต้องการ ถ้าเงื่อนไขเป็นจริงจะทำอะไร ถ้าเงื่อนไขเป็นเท็จจำให้ทำอะไร และเมื่อจบการทำสอบเงื่อนไขแล้วจะทำอะไรต่อไป เขียนเป็นผังงานได้ดังภาพ 5-2 ภาพ 5-2 ผังงานการทำตามเงื่อนไข
การใช้ประโยคคำสั่ง if…else ประโยคคำสั่ง if…else ใช้สำหรับการเขียนโปรแกรมเลือกทำตามเงื่อนไขที่กำหนด มีรูปแบบที่สอดคล้องกับผังงาน ดังนี้
ความหมาย ถ้าผลของการทดสอบเงื่อนไขเป็นจริง (True) ให้ทำงานตามประโยคคำสั่งหลังเงื่อนไข แต่ถ้าผลของการทดสอบเงื่อนไขไม่เป็นจริง (False) ให้ทำงานตามประโยคคำสั่งหลัง else ลักษณะของเงื่อนไข (Condition) เป็นการนำค่าข้อมูลที่เป็นแบบเดียวกันสองค่า มาเปรียบเทียบความสัมพันธ์กัน โดยใช้เครื่องหมายความสัมพันธ์ (Relational Operators) ดังต่อไปนี้
ผลลัพธ์ที่ได้จากการเปรียบเทียบจะเป็นจริง (True) หรือเป็นเท็จ (False) เท่านั้น แต่ในผังงานอาจเขียนแทนด้วย Y หมายถึง ใช่ (Yes) และ N หมายถึง ไม่ใช่ (No) ตัวอย่างการเขียนเงื่อนไข
ตัวอย่างการเขียนประโยคคำสั่ง if … else ถ้ากำหนดเงื่อนไขการทำงาน ดังนี้ - ทดสอบว่าค่า A เท่ากับ B จริงหรือไม่ - ถ้าจริง (Y) ให้แสดงข้อความ “A เท่ากับ B” - ถ้าไม่จริง (N) ให้แสดงข้อความ “A ไม่เท่ากับ B” เขียนเป็นผังงานได้ดังภาพ 5-3
ภาพ 5-3 ผังงานการทำตามเงื่อนไขคำสั่ง if…else จากผังงานเขียนเป็นประโยคคำสั่งได้ดังนี้
ถ้าเปลี่ยนเงื่อนไขการทำงานเป็นตรงกันข้าม ดังนี้ - ทดสอบว่าค่า A ไม่เท่ากับ B จริงหรือไม่ - ถ้าจริง (Y) ให้แสดงข้อความ “A ไม่เท่ากับ B” - ถ้าไม่จริง (N) ให้แสดงข้อความ “A เท่ากับ B” เขียนประโยคคำสั่งได้ ดังนี้
เขียนเป็นผังงานได้ดังภาพ 5-4 ภาพ 5-4 ผังงานการทำตามเงื่อนไข จากผังงานสังเกตได้ว่า ถ้าเปลี่ยนเงื่อนไขเป็นตรงข้ามกัน ก็สามารถสลับด้านจริงและเท็จ (Y และ N) ได้เลย
การใช้ประโยคคำสั่ง if ประโยคคำสั่ง if ใช้สำหรับให้ทำประโยคคำสั่งเฉพาะกรณีที่เงื่อนไขเป็นจริง และไม่ต้องทำอะไรเมื่อเงื่อนไขเป็นเท็จ มีรูปแบบดังนี้
เขียนเป็นผังงานได้ดังภาพ 5-5 ภาพ 5-5 ผังงานของคำสั่ง if การใช้ประโยคคำสั่งแบบนี้อาจทำให้สับสนได้ เนื่องจากเมื่อเงื่อนไขเป็นจริงก็จะทำคำสั่งแล้วไปทำงานตามคำสั่งในบรรทัดถัดไป แต่ถ้าเงื่อนไขเป็นเท็จให้ทำคำสั่งบรรทัดถัดไป ตัวอย่าง ถ้ากำหนดเงื่อนไขการทำงาน ดังนี้ - ทดสอบว่าไม่มีเงินในมือ (ค่า M เท่ากับ 0) จริงหรือไม่ - ถ้าจริง ให้หยิบเงินจากกระเป๋า 20 บาท - จบการทดสอบแล้ว ให้แสดงข้อความ “พร้อมที่จะจ่าย” เขียนประโยคคำสั่งได้ ดังนี้
จากตัวอย่าง ถ้าค่าของ M ไม่เท่ากับ 0 ก็แสดงข้อความออกมา
การเขียนโปรแกรมแบบหลายเงื่อนไข 1. เมื่อมีเงื่อนไขหลายอย่างซ้อนกัน อาจใช้ประโยคคำสั่ง if…else ซ้อนกัน ตามรูปแบบ ดังนี้
คำอธิบาย - ถ้าเงื่อนไขที่ 1 เป็นจริง ให้ทดสอบเงื่อนไขที่ 2 ต่อ ถ้าเงื่อนไขที่ 2 เป็นจริง ให้ทำงานตามประโยคคำสั่งหลังเงื่อนไขที่ 2 แต่ถ้าเงือนไขที่ 2 เป็นเท็จ ให้ทำงานตามประโยคคำสั่งหลัง else - ถ้าเงื่อนไขที่ 1 เป็นเท็จ ให้ทดสอบเงื่อนไขที่ 3 ต่อ ถ้าเงื่อนไขที่3 เป็นจริง ให้ทำงานตามประโยคคำสั่งหลังเงื่อนไขที่ 3 แต่ถ้าเงื่อนไขที่ 3 เป็นเท็จให้ทำงานตามประโยคคำสั่งหลัง else - จบการทดสอบเงื่อนไขทั้งหมดให้ทประโยคคสั่งถัดไป (ถ้ามี) เขียนเป็นผังงานได้ดังภาพ 5-6
|