เงื่อนไขซ้อนกัน
แนะนำใหม่| English | ความหมาย |
|---|---|
| nested conditional/ˈnestɪd kənˈdɪʃənl/ | คำสั่งเงื่อนไขแบบซ้อนกัน |
| three or more/θriː ɔː mɔː/ | สามหรือมากกว่า |
| outcomes/ˈaʊtkʌmz/ | ผลลัพธ์ |
| else-if/els ɪf/ | ถ้าหากอื่น |
| execution path/ˌeksɪˈkjuːʃn pæθ/ | เส้นทางในการดำเนินการ |
| readability/ˌriːdəˈbɪlɪti/ | ความอ่านง่าย |
เมื่อสองเส้นทางไม่เพียงพอ
- บางครั้งการตัดสินใจเพียงครั้งเดียวก็ยังไม่พอ
- เงื่อนไขแบบซ้อนกัน (nested conditional) คือการวางเงื่อนไขหนึ่งไว้ในอีกเงื่อนไขหนึ่ง
- สิ่งนี้ช่วยให้โปรแกรมสามารถเลือกจาก สามหรือมากกว่า ผลลัพธ์ ไม่ใช่แค่สองอย่าง
- คิดถึงเกรด A, B, C, F — สี่ผลลัพธ์จากคะแนนเดียว
เงื่อนไขซ้อนช่วยให้โปรแกรมสามารถ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
การซ้อนเพิ่มจำนวนเส้นทางมากกว่า IF/ELSE เดียว
เงื่อนไขที่ซ้อนกันใช้เพื่อเลือกจากความเป็นไปได้สามอย่างหรือมากกว่า ______
Difficulty 1/5 · 100 coins + a small bonus on first completion today
แต่ละสาขาจะนำไปสู่ผลลัพธ์ที่แตกต่างกัน
โครงสร้าง else-if
- วิธีเขียนที่ชัดเจนคือการใช้โครงสร้าง else-if เพื่อทดสอบเงื่อนไขตามลำดับ:
- IF เงื่อนไขแรกเป็นจริง ให้ทำสิ่งแรก;
- ELSE IF เงื่อนไขที่สองเป็นจริง ให้ทำสิ่งที่สอง;
- ELSE ทำสิ่งสุดท้าย
Chain else-if สำหรับเกรด
ลากคะแนนดูว่าเส้นทางไหนจะ被执行 else-if chain จะทดสอบจากบนลงล่างและเลือกเงื่อนไขที่เป็นจริงเป็นครั้งแรกเท่านั้น
else-if chain จะหยุดทดสอบเมื่อ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
มันเลือกเส้นทางที่เป็นจริงเป็นแรกและข้ามส่วนที่เหลือ
เรียงลำดับวิธีการที่โปรแกรมตรวจสอบเงื่อนไขเกรด
Difficulty 3/5 · 200 coins + a small bonus on first completion today
การทดสอบเริ่มจากบนลงล่างและหยุดเมื่อเจอเงื่อนไขที่เป็นจริงตัวแรก
ติดตามเส้นทาง
- โปรแกรมจะตรวจสอบเงื่อนไขจากบนลงล่าง
- จะหยุดที่เงื่อนไขที่เป็นจริง ครั้งแรก
- เพื่อเข้าใจเงื่อนไขซ้อนกัน ให้ติดตาม เส้นทางการดำเนินการ สำหรับข้อมูลเข้าที่กำหนดให้
- ติดตามผลลัพธ์ว่าถูกหรือผิดของแต่ละขั้นตอน เพื่อดูว่าทางไหนจะชนะ
กับ chain เกรด (≥90 A, ≥80 B, ≥70 C, Else F) คะแนน 85 ให้:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
85 ≥ 90 เป็นเท็จ; 85 ≥ 80 เป็นจริง → "B", และการทดสอบหยุดลง
การลดทอนเงื่อนไขที่ซ้อนกันลึกช่วยให้อ่านง่ายขึ้นและลดข้อผิดพลาด
Difficulty 1/5 · 100 coins + a small bonus on first completion today
สาขาที่น้อยลงและชัดเจนขึ้นทำให้เขียนได้ถูกต้องง่ายกว่า
ทำให้โค้ดอ่านง่าย
- ลอจิกที่ซ้อนกันลึกเกินไปอาจทำให้ยากต่อการอ่าน
- ลดความซับซ้อนของการซ้อนกันที่มากเกินไปเพื่อเพิ่ม ความอ่านง่าย และลดข้อผิดพลาด
คะแนนเป็นเกรด. IF คะแนน ≥ 90 → "A"; ELSE IF ≥ 80 → "B"; ELSE IF ≥ 70 → "C"; ELSE → "F". สำหรับคะแนน 85: 85 ≥ 90 เป็นเท็จ จึงข้ามไป; 85 ≥ 80 เป็นจริง → ได้เกรด "B", และการทดสอบจะ หยุด การเรียงลำดับสำคัญ — เราทราบแล้วว่ามันต่ำกว่า 90 แล้ว
เงื่อนไขซ้อนกัน เลือกจาก สามผลลัพธ์ขึ้นไป โดยมักใช้ chain else-if ที่ทดสอบจากบนลงล่างและหยุดเมื่อเจอเงื่อนไขที่เป็นจริงตัวแรก ติดตาม เส้นทางการดำเนินการ เพื่อหาว่าทางไหนจะถูกเรียกใช้ (คะแนน 85 → "B") และรักษาการซ้อนกันให้ตื้นเพื่อ ความอ่านง่าย