คำสั่ง if else if
ในการเขียนโปรแกรมคอมพิวเตอร์บางกรณีอาจจะต้องมีการตรวจสอบเงื่อนไขมากกว่า 1 ชั้น ดังนั้นในการตรจสอบเงื่อนไขในชั้นที่ 2 หรือชั้นต่อ ๆ ไป จึงมีการนำประโยคคำสั่ง if มาซ้อนลงในประโยคคำสั่ง if เดิมอีกครั้งหนึ่ง ซึ่งการซ้อนประโยคคำสั่ง if นี้ สามารถซ้อนลงไปหลังเงื่อนไข (Condition) หรือ ซ้อนลงไปหลัง else ก็ได้ ขึ้นอยู่กับวัตถุประสงค์และลักษณะของการตัดสินใจเพื่อเลือกที่จะทำงาน ดังภาพด้านล่างนี้
ข้อสังเกต ในการใช้คำสั่ง if ซ้อนกันนั้น ถ้าต้องการทราบว่าจะต้องใช้คำสั่ง if ซ้อนกันกี่ตัวหรือกี่ชั้น ให้พิจารณาว่า ทางเลือกที่เกิดขึ้นทั้งหมดมีกี่ทางเลือก แล้วให้เอาจำนวนทางเลือก - 1 ก็จะเป็นจำนวนชั้นของการซ้อนคำสั่ง if ดังตาราง
ตารางแสดงจำนวนชั้นของการใช้คำสั่ง if เมื่อมีทางเลือกมากกว่า 1 ทางเลือก
ตัวอย่างที่ 3 โปรแกรมการใช้งาน nested - if หรือ if - else - if
โจทย์ : จงเขียนโปรแกรมตัดเกรด กำหนดให้รับค่าคะแนนผ่านทางแป้นพิมพ์ และแสดงผลเกรดผ่านทางจอภาพ กำหนดเงื่อนไขการตัดเกรด ดังนี้
คะแนนระหว่าง 80 ถึง 100 ได้เกรด 4
คะแนนระหว่าง 60 ถึง 79 ได้เกรด 3 คะแนนระหว่าง 50 ถึง 59 ได้เกรด 2 คะแนนระหว่าง 40 ถึง 49 ได้เกรด 1 คะแนนระหว่าง 0 ถึง 39 ได้เกรด 0
จากโจทย์สามารถเขียนผังงาน (Flow chart) ได้ดังนี้
จากผังงานนำมาเขียนโปรแกรมได้ดังนี้
| |||||||||||||||||||||||||||
ถ้าป้อนคะแนนอยู่ระหว่าง 0 - 39 จะได้เกรด 0 เช่น ถ้าป้อน 35
แบบทดสอบ
คำสั่ง if
else if
โจทย์ : จงเขียนโปรแกรมตัดเกรด
กำหนดให้รับค่าคะแนนผ่านทางแป้นพิมพ์ และแสดงผลเกรดผ่านทางจอภาพ
กำหนดเงื่อนไขการตัดเกรด ดังนี้
คะแนนระหว่าง 80 ถึง 100
ได้เกรด A
คะแนนระหว่าง 75 ถึง 79 ได้เกรด B+ คะแนนระหว่าง 70 ถึง 74 ได้เกรด B คะแนนระหว่าง 65 ถึง 69 ได้เกรด C+ คะแนนระหว่าง 60 ถึง 64 ได้เกรด C
คะแนนระหว่าง 55 ถึง 59
ได้เกรด D+
คะแนนระหว่าง 50 ถึง 54 ได้เกรด D
คะแนนระหว่าง 0
ถึง 49 ได้เกรด
E
|