Page 67 - การพัฒานาหนังสืออิเล็กทรอนิกส์เรื่องวิวัฒนาการภาษาของคอมพิวเตอร์
P. 67

หน่วยที5 คาสั�งควบคุมแบบทางเลือก                 62                                                                    หน่วยที5 คาสั�งควบคุมแบบทางเลือก                 63
                                                           �
                                                               ํ
                                                                                                                                                                                 �
                                                                                                                                                                                      ํ
         .........................................................................................................................................................  .........................................................................................................................................................

         ผลลัพธ์ของการรันครั้งที่ 2 คือ                                                                                          ถ้า เงื่อนไขทางเลือก1 และ เงื่อนไขทางเลือก2 มีค่า จริง แล้วโปรแกรมจะประมวล


                                                                                                                               ผล คำาสั่ง1 ก่อนที่จะประมวลผล คำาสั่ง3


                Enter integer value: 9                                                                                           ถ้า เงื่อนไขทางเลือก1 มีค่า จริง ขณะที่ เงื่อนไขทางเลือก2 มีค่าเท็จ แล้วโปรแกรม

                Too low.                                                                                                       จะประมวลผล คำาสั่ง2 ก่อนที่จะประมวลผล คำาสั่ง3
                                                                                                                                 และถ้า เงื่อนไขทางเลือก1 มีค่า เท็จ แล้วโปรแกรมจะประมวลผล คำาสั่ง3 เพียงคำา



         ผลลัพธ์ของการรันครั้งที่ 3 คือ                                                                                        สั่งเดียวเท่านั้น
                                                                                                                                 นั่นคือ ในคำาสั่ง if – else ( หรือคำาสั่ง if – else เชิงซ้อน ) else จะถูกจับคู่กับ if ก่อน

                                                                                                                               หน้าที่อยู่ใกล้ที่สุดเสมอ ซึ่งในที่นี้คือ if ( เงื่อนไขทางเลือก2 )

                 Enter integer value: 25
                                                                                                                                  ดังนั้น ในกรณีที่ต้องการให้ คำาสั่ง2 ถูกประมวลผล เงื่อนไขทางเลือก1 มีค่า เท็จ
                 Correct!!                                                                                                      ก่อนที่จะประมวลผล คำาสั่ง3 จะต้องเพิ่มเครื่องหมาย { และ } ตามรูปแบบด้านล่าง


                                                                                                                               และในที่นี้ if ( เงื่อนไขทางเลือก2 ) จัดเป็นคำาสั่ง if ที่ซ้อนอยู่ในคำาสั่ง if – else ของ if (
          พิจารณาค่าของตัวแปร y สำาหรับโปรแกรมข้างต้นเป็น 3 กรณี ดังนี้
                                                                                                                               เงื่อนไขทางเลือก1 )




         พิจารณาค่าของตัวแปร y สำาหรับโปรแกรมข้างต้นเป็น 3 กรณี ดังนี้                                                         if (เงื่อนไขทางเลือก1){

         •  กรณีที่ 1 ถ้า y มีค่าเท่ากับ 100 จะได้ว่านิพจน์ y >TARGET มีค่าเป็น จริง แล้ว                                         if (เงื่อนไขทางเลือก2)

            ฟังก์ชัน printf( ) ในบรรทัดที่ 13 จะถูกประมวลผล

         •  กรณีที่ 2 ถ้า y มีค่าเท่ากับ 9 จะได้ว่านิพจน์ y >TARGET มีค่าเป็น เท็จ และนิพจน์                                             คำาสั่ง1;
                                                                                                                               }
             y < TARGET มีค่าเป็น จริง แล้ว ฟังก์ชัน printf( ) ในบรรทัดที่ 15 จะถูกประมวล                                         else

            ผล

         •  กรณีที่ 3 ถ้า y มีค่าเท่ากับ 25 จะได้ว่านิพจน์ y > TARGET และนิพจน์ y < TAR-                                                 คำาสั่ง2;
                                                                                                                               คำาสั่ง3;
            GET มีค่าเป็น เท็จ ทั้งคู่ ดังนั้น ฟังก์ชัน printf( ) ในบรรทัดที่ 17 จะถูกประมวล


         พิจารณาคำาสั่ง if ในรูปแบบต่อไปนี้ ซึ่งมีคำาสั่ง if – else ซ้อนอยู่ด้านใน





        if (เงื่อนไขทางเลือก1)

           if (เงื่อนไขทางเลือก2)

                  คำาสั่ง1;

           else
   62   63   64   65   66   67   68   69   70   71   72