เหตุใดจึงต้องใช้สวิตช์ที่ซ้อนกัน
สวิตช์ที่ซ้อนกันสามารถสร้างโครงสร้างการตัดสินใจที่ซับซ้อนมากขึ้นใน MATLAB พวกเขาสามารถใช้ตรรกะที่แตกต่างกันได้หลากหลาย เช่น คำสั่ง if-else-if คำสั่ง case และแม้กระทั่งลูป
ตัวอย่างเช่น สวิตช์ที่ซ้อนกันสามารถใช้เพื่อกำหนดเอาต์พุตตามค่าของตัวแปรสองตัว สามารถใช้คำสั่งสวิตช์ภายนอกเพื่อกำหนดตัวแปรแรกและคำสั่งสวิตช์ภายในสามารถใช้เพื่อกำหนดตัวแปรที่สอง
ไวยากรณ์ของ Nested Switch ใน MATLAB
ใน MATLAB ด้านล่างไวยากรณ์จะถูกติดตามสำหรับคำสั่งสวิตช์ที่ซ้อนกัน:
สลับouter_variable
กรณี 1
เปลี่ยน inner_variable
กรณี 1
...
กรณี 2
...
มิฉะนั้น
...
จบ
กรณี 2
...
มิฉะนั้น
...
จบ
ตัวอย่าง Nested Switch ใน MATLAB
รหัสต่อไปนี้กำหนดคำสั่งสวิตช์ที่ซ้อนกันซึ่งกำหนดเอาต์พุตตามค่าของตัวแปร x และค่าของตัวแปร y:
x = 2 ;
และ = 3 ;
สลับ x
กรณี 1
สลับ y
กรณี 1
แจกจ่าย ( 'สิบเอ็ด' ) ;
กรณี 2
แจกจ่าย ( '1, 2' ) ;
มิฉะนั้น
แจกจ่าย ( '1 มิฉะนั้น' ) ;
จบ
กรณี 2
สลับ y
กรณี 2
แจกจ่าย ( '2, 2' ) ;
กรณี 3
แจกจ่าย ( '23' ) ;
มิฉะนั้น
แจกจ่าย ( '2 มิฉะนั้น' ) ;
จบ
มิฉะนั้น
แจกจ่าย ( 'มิฉะนั้น' ) ;
จบ
รหัส MATLAB นี้กำหนดตัวแปรสองตัวชื่อ x และ y ค่าของ x คือ 2 และ y คือ 3 จากนั้นจะใช้โครงสร้างเคสสวิตช์ที่ซ้อนกันเพื่อประเมินค่าของ x และ y ขึ้นอยู่กับค่า ข้อความต่างๆ จะแสดงเป็นเอาต์พุต ในกรณีนี้ รหัสจะออกเป็น 2, 3 เนื่องจาก x คือ 2 และ y คือ 3
การคำนวณเกรดวิชาคณิตศาสตร์โดยใช้ Nested Switch ใน MATLAB
ตอนนี้เราจะกำหนดเกรดให้กับนักเรียนตามคะแนนของนักเรียนโดยใช้สวิตช์ที่ซ้อนกันใน MATLAB
หัวเรื่อง = 'คณิตศาสตร์' ;
คะแนน = 85 ;
เกรด = '' ;
เปลี่ยนเรื่อง
กรณี 'คณิตศาสตร์'
สวิตช์ จริง
กรณี คะแนน > = 90 && คะแนน = 80 && คะแนน < = 89
เกรด = 'บี' ;
แจกจ่าย ( 'คะแนนอยู่ระหว่าง 80 ถึง 89 เกรด: B' ) ;
มิฉะนั้น
เกรด = 'ค' ;
แจกจ่าย ( 'คะแนนต่ำกว่า 80 เกรด: C' ) ;
จบ
กรณี 'ภาษาอังกฤษ'
% จัดการการให้คะแนนเฉพาะภาษาอังกฤษ
มิฉะนั้น
% จัดการกับวิชาอื่นๆ
จบ
รหัส MATLAB นี้จะคำนวณเกรดสำหรับวิชาคณิตศาสตร์ตามคะแนนที่กำหนด รหัสนี้ใช้คำสั่งสวิตช์ที่ซ้อนกันเพื่อกำหนดเกรดตามช่วงคะแนน หากคะแนนอยู่ระหว่าง 90 ถึง 100 คะแนนจะถูกตั้งค่าเป็น A หากอยู่ระหว่าง 80 ถึง 89 คะแนนจะถูกตั้งค่าเป็น B มิฉะนั้น สำหรับคะแนนที่ต่ำกว่า 80 คะแนนจะถูกตั้งค่าเป็น C รหัสยังมีคำสั่ง disp() ที่สอดคล้องกันเพื่อแสดงเกรดและช่วงคะแนน
บทสรุป
การใช้คำสั่งสวิตช์ที่ซ้อนกันใน MATLAB เราสามารถออกแบบโครงสร้างการตัดสินใจที่ซับซ้อนได้ พวกเขาอนุญาตให้ดำเนินการตามเงื่อนไขของคำสั่งสวิตช์ภายในตามกรณีของสวิตช์ภายนอก ซึ่งช่วยให้สามารถจัดการตัวแปรและเงื่อนไขหลายรายการภายในบล็อกโค้ดเดียว ปรับปรุงความสามารถในการอ่านโค้ดและประสิทธิภาพ