SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
รายงาน
     วิชา การเขียนโปรแกรมเพื่องานอาชีพ(com)
 เรื่อง การเขียนคาสั่งควบคุมแบบมีทางเลือก (กลุ่ม 3)
                          เสนอ
               อาจารย์ทรงศักดิ์ โพธิ์เอี่ยม
                         สมาชิก
      1. นายภาวัต             กระต่าย         เลขที่ 7
      2. นายธีระวัชร์         ปัญญาหงษ์       เลขที่ 9
      3. นางสาวณัฐวดี         สายศรีนิล       เลขที่ 16
      4. นางสาวนภามาศ         เชียงทอง        เลขที่ 17
      5. นางสาวกมลชนก         เปรมกิจ         เลขที่ 20
      6. นางสาวพลอยภัทรา เยี่ยมสวัสดิ์        เลขที่ 36
                           ม. 6/2
             ภาคเรียนที่ 1 ปีการศึกษา 2555
โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี
คานา
      รายงานเล่มนี้เป็นส่วนหนึ่งของวิชาการเขียนโปรแกรมเพื่องานอาชีพ (ง30212) เรื่องการ
เขียนโปรแกรมด้วยภาษาซี เนื่องจากเนื้อหาในเรื่องการเขียนโปรแกรมด้วยภาษาซีนั้นมีจานวน
มากซึ่งอาจจะยากแก่ศึกษา คุณครูจึงแบ่งงานให้นักเรียนทาเป็นกลุ่มโดยแบ่งหัวข้อแต่ละเรื่องให้
ทารายงาน กลุ่มของข้าพเจ้านั้นได้เรื่องการเขียนคาสั่งควบคุมแบบมีทางเลือก

      รายงานเรื่องการเขียนคาสั่งควบคุมแบบมีทางเลือกเล่มนี้แบ่งเนื้อหาออกเป็น คาสั่งจัดเก็บ
ข้อมูลลงหน่วยความจา กฎเกณฑ์การกาหนดชื่อ ตารางชนิดข้อ มูลของภาษาซีตามมาตรฐาน
และตัวอย่างการเขียนคาสั่งต่างๆ เป็นต้น ซึ่งเนื้อหาในแต่ละเรื่องจะมีคาอธิบายและมีรูปภาพที่
เป็นตัว อย่างประกอบเพื่อให้นักเรียนและบุคคลที่สนใจในเรื่องการเขียนคาสั่งควบคุมแบบมี
ทางเลือ กนั้น เข้าใจง่ายขึ้นและได้น าไปศึกษาเพิ่มเติม และนาไปใช้ในชีวิตประจ าวัน ได้อย่าง
ถูกต้อง

          คณะผู้จัดทาหวังเป็นอย่างยิ่งว่ารายงานเล่ม นี้จะเป็นประโยชน์ต่อนักเรียนและบุคคลที่
สนใจในเรื่อ งการเขียนคาสั่ง ควบคุม แบบมีทางเลือ กไม่ม ากก็น้อ ย ถ้ารายงานเล่ม นี้มีความ
ผิดพลาดประการใดคณะผู้จัดทาต้องขออภัยไว้ ณ ที่นี้ด้วย




                                                                                คณะผู้จัดทา
สารบัญ
เรื่อง                                               หน้า
คาสั่งจัดเก็บข้อมูลลงหน่วยความจา                     1-3
การเขียนนิพจน์เชิงตรรกะ                              3-4
คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if                  4-8
คาสั่งควบคุมแบบมีทางเลือก คาสั่งswitch              8 - 12
กรณีศกษาการมใช้คาสั่งควบคุมแบบมีทางเลือก
     ึ                                              12 - 16
Mind Map สรุป                                         17
แบบฝึกหัดท้ายบท                                     18 - 21
เอกสารอ้างอิง                                         22
การเขียนคาสั่งควบคุมแบบมีทางเลือก
1. คาสั่งจัดเก็บข้อมูลลงหน่วยความจา

1.1 กฎเกณฑ์การกาหนดชื่อ

       ชื่อ (Identifier) หมายถึง ชื่อหน่วยความจาประเภทตัวแปร ชื่อหน่วยความจาประเภทค่าคงที่ หรือ ชื่อ
ในส่วนใดๆ ของโปรแกรมที่ผู้สร้างโปรแกรมเป็นผูกาหนดด้วยตนเอง มีกาเกณฑ์ดังนี้
                                            ้

       1. อักขระแรกต้องเป็นตัวอักษร หรือเครื่องหมายขีดล่าง (_) ตัวถัดไปเป็นตัวอักษร หรือตัวเลข หรือ
เครื่องหมายขีดล่าง (_) ก็ได้

       2. ชื่อที่ใช้อักษรตัวพิมพ์ใหญ่ หรือตัวพิมพ์เล็ก จะจัดเก็บข้อมูลในหน่วยความจาตาแหน่งที่ต่างกัน

       3. ห้ามใช้อักขระพิเศษ เช่น $ @ และห้ามมีช่องว่างระหว่างอักขระโดยเด็ดขาด

       4. ควรตั้งชื่อให้มีความหมายสอดคล้องกับงาน

       5. ต้องไม่ซ้ากับคาสงวนของภาษาซี (Reserved Word)

1.2 ชนิดของข้อมูล

ภาษาซีมีชนิดของข้อมูลพื้นฐานให้เลือกใช้งาน 3 กลุ่มหลักคือ อักขระ ตัวเลขจานวนเต็ม ตัวเลขทศนิยม

                                ตารางชนิดข้อมูลของภาษาซีตามมาตรฐาน

ชนิดข้อมูล                          ขอบเขตของข้อมูล               การเก็บข้อมูล
char                                -128 ถึง 127                  เก็บแบบอักขระ
unsigned char                       0 ถึง 225                     เก็บแบบอักขระ ไม่คิดเครื่องหมาย
int                                 -32768 ถึง 32767              เก็บแบบจานวนเต็ม
unsigned int                        0 ถึง 65535                   เก็บแบบจานวนเต็ม ไม่คดเครื่องหมาย
                                                                                        ิ
short                               -128 ถึง 127                  เก็บแบบจานวนเต็มแบบสั้น
unsigned short                      0 ถึง 225                     เก็บแบบจานวนเต็มแบบสั้น ไม่คิด
                                                                  เครื่องหมาย
long                                -2147483648 ถึง               เก็บแบบจานวนเต็มแบบแบบยาว
2147483649
unsigned long                         0 ถึง 4294967296              เก็บแบบจานวนเต็มแบบแบบยาว ไม่คิด
                                                                    เครื่องหมาย
float                                 3.4 *10-38 ถึง 3.4 * 1038     เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 6
                                                                    หลัก
double                                3.4 *10-308 ถึง 3.4 * 10308   เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด
                                                                    12 หลัก

Long double                           3.4 *10-4032 3.4 *104032      เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด
                                                                    24 หลัก


ตัวอย่างคาสั่ง กาหนดชื่อและชนิดหน่วยความจาประเภทตัวแปร

Char ans ;

Int salary , bonus ;

Short value ;




1.3 คาสั่งกาหนดข้อมูลแบบค่าคงที่ มี 3 ลักษณะคือ

        1.3.1 แบบที่ 1 ไม่ต้องกาหนดชื่อหน่วยความจารองรับข้อมูล (Literal Constant)

ตัวอย่างคาสั่ง พิมพ์ค่าคงที่ไม่ผ่านการใช้หน่วยความจา

printf (‚ 2 * 2 = %d n ‛ , 4 ) ;

printf (‚ c => %c %c n ‛ , ‘c’ ) ;
อธิบาย เลข 4 กับ ‘c’ คือข้อมูลแบบค่าคงที่ ไม่ต้องจัดเก็บในหน่วยความจา

      1.3.2 แบบที่ 2 เขียนบริเวณส่วนหัว ในโครงสร้างภาษาซี (Defined Constant)

รูปแบบ       #define macro_name data ;



     1.3.3 แบบที่ 3 เขียนบริเวณส่วนฟังก์ชันหลัก main ( ) (Memory Constant)

รูปแบบ const variable = data ;



2. การเขียนนิพจน์เชิงตรรกะ

2.1 ตัวดาเนินการทางคณิตศาสตร์ (Mathematical Operators)

ตารางสัญลักษณ์ตัวดาเนินการทางคณิตศาสตร์

  ตัวดาเนินการ        ศัพท์เฉพาะ           ความหมาย                ตัวอย่าง            ผลลัพธ์

         +              addition             บวก                    10+2                 12
         -            subtraction             ลบ                    10-2                  8
         *           multiplication           คูณ                   10*2                 20
         /              division             หาร                     10/2         5(หากมีเศษปัดทิ้ง)
         %             remainder           หารเอาเศษ                10%2                  0


2.2 ตัวดาเนินการความสัมพันธ์ (Relational Operators)

ใช้เขียนประโยคคาสั่งแบบมีเงื่อนไข 1 ประโยค

                              ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์

ตัวดาเนินการ              ศัพท์เฉพาะ               ตัวอย่าง                   ผลลัพธ์
                                                                              กาหนดa=3 ; b=2
<                          less than                  a<b ;                       คาตอบคือ false
>                          greater than               a>b ;                       คาตอบคือtrue
<=                         less than or equal         a<=b ;                      คาตอบคือ false
>=                         greater than or equal      a>=b ;                      คาตอบคือtrue
==                         equal                      A==b ;                      คาตอบคือ false
!=                         not equal                  A!=b ;                      คาตอบคือtrue


2.3 ตัวดาเนินการเชิงตรรกะ (Logical Operators)

เป็นสัญลักษณ์ใช้เชื่อมประโยคคาสั่งแบบมีเงื่อนไข 2 ประโยคขึนไป
                                                          ้

ตรรกะ คือ การคิดเชิงเหตุผลที่มีความจริงค่าใดค่าหนึ่งคือ จริง (True: 1) หรือ (False: 0)

ตารางสัญลักษณ์ตัวดาเนินการเชิงตรรกะ

     ตัวดาเนินการ                 ศัพท์เฉพาะ                   ตัวอย่าง                      ผลลัพธ์
                                                                                           กาหนด a=9
          &&                        AND                    (a>0)&&(a<5) ;                คาตอบคือ false
           ||                        OR                     (a>0)|| (a<5) ;               คาตอบคือtrue
           !                        NOT                        !(a>0) ;                  คาตอบคือ false


3. คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if

3.1 กรณีใช้ประโยคคาสังแบบ if
                     ่
      ประสิทธิภาพของคาสั่ง : ควบคุมการทางานแบบมีทางเลือก ลักษณะหากประโยคเงื่อนไขตรรกะได้
ข้อสรุปค่าความจริงเป็นจริง ให้ไปทางานตามคาลั่ง (กลุ่มคาสั่ง) ต่อจากประโยคเงื่อนไข แล้วไปตาแหน่ง
บรรทัดคาสั่งชุดต่อไป แต่หากเงื่อนไขเป็นเท็จไม่ต้องทาคาสั่งใดให้ไปทางานที่ตาแหน่งคาสั่งต่อไป

      3.1.1 รูปแบบการเขียนคาสั่งและแนวทางผังงานแบบ if
รูปแบบที่ 1 กรณีหลังเงื่อนไข if มี 1 คาสั่ง

If (เงื่อนไข)

    คาสั่ง ; (กรณีเงื่อนไขเป็นจริง)

คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)




รูปแบบที่ 2 กรณีหลังเงื่อนไข if มีมากกว่า 1 คาสั่ง

If (เงื่อนไข)
{
กลุ่มคาสั่ง ; (กรณีเงื่อนไขเป็นจริง)
};
คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)
3.2 กรณีใช้ประโยคคาสังแบบ if – else
                     ่
        ประสิทธิภาพของคาสั่ง: ใช้กรณีควบคุมกรทางานในลักษณะ หากประโยคเงื่อนไขตรรกะได้ข้อสรุป
ความจริงเป็นจริง ให้ทางานตามคาสั่ง (กลุ่มคาสั่ง) ชุดที่ 1 แล้วไปที่คาสั่งต่อไป แต่หากเงื่อนไขตรรกะเป็น
เท็จ ให้ทางานตามคาสั่ง (กลุ่มคาสั่ง) ชุดที่ 2 แล้วไปทางานที่ตาแหน่งคาสั่งชุดต่อไป

รูปแบบคาสั่ง

if (เงื่อนไข)
       คาสั่งชุดที่ 1 (กรณีเงื่อนไขเป็นจริง) ;
else
       คาสั่งชุดที่ 2 (กรณีเงื่อนไขเป็นเท็จ) ;
คาสั่งชุดต่อไป;



3.3 กรณีใช้ประโยคคาสังแบบ if – else if –else
                     ่
        ประสิทธิภาพคาสั่ง: ใช้กรณีควบคุมการทางานในลักษณะ หากประโยคเงื่อนไขตรรกะมีทางเลือก
ทางานมากกว่า 2 ทางเลือก ระบบจะตรวจสอบเงื่อนไข ดังนี้

รูปแบบ

if (เงื่อนไขประโยคที่ 1)
       คาสั่งชุดที่ 1 ; (กรณีเงื่อนไขประโยคที่ 1 เป็นจริง)
else if (เงื่อนไขประโยคที่ 2)
       คาสั่งชุดที่ 2 ; (กรณีเงื่อไขประโยคที่ 2 เป็รจริง)
…
else
       คาสั่งชุดที่ n ; (นอกเหนือจากเงื่อนไขข้างต้น)
คาสั่งชุดต่อไป ;
ตัวอย่าง จงเขียนงานป้อนข้อมูลเงืนเดิน เพื่อคานวณอัตราภาษีตามเงื่อนไขดังนี้
ถ้าเงินเดือน > 10000 บาท หักภาษีอัตรา10%ของเงินเดือน
ถ้าเงินเดือนอยู่ในช่วง 5001-10000 บาท หักภาษีอัตรา 5% ของเงินเดือน
3.4โครงสร้าง หรือ รูปแบบ ที่ใช้ if ซ้อนกัน หรือ อาจเรียกว่า nested if

        โครงสร้าง nested if เพิ่ม if เข้ามาในคาสั่ง if ทาให้ใช้คาสั่ง if เพิ่มได้ตามที่ต้องการ ใช้กับการ
ตัดสินใจที่มีทางเลือกมากกว่า 2 ทางเลือก อาจเขียนผังงานได้เป็น (มีได้หลายแบบ)




4. คาสั่งควบคุมแบบมีทางเลือก

      คาสั่งswitchใช้ควบคุมการทางานแบบมีทางเลือก กรณีที่ทางเลือกการทางานมีจานวนมาก ภาษาซี
ออกแบบคาสั่งswitch ให้ทางานลักษณะวิเคราะห์ตรวจสอบค่าของตัวแปรหรือนิพจน์ว่าตรงกับค่าภายใน
คาสั่ง case ใด จะทางานตามคาสั่งภายใต้การควบคุมของคาสั่งcaseนั้น แต่หากตรวจสอบแล้วไม่ตรงกับ
คาสั่งใดเลย จะทางานภายใต้คาสั่งdefault
** เงื่อนไขที่ใช้กับคาสั่ง switch ต้องเป็นคาสั่งแบบประโยคเงื่อนไขแบบ1ประโยค การทางานของswitch
จะต้องมีคาสั่งbreak เพื่อออกจากการทางานของcaseนั้นโดยไม่ต้องผ่านcaseถัดไป
4.1 รูปแบบการเขียนคาสังและแนวทางผังงานแบบswitch
                      ่

การใช้คาสั่งswitch

switch ( ver / expression)
{
case ค่าที่ 1 : คาสั่งชุดที่ 1 ;
               break ;
case ค่าที่ 2 : คาสั่งชุดที่ 2 ;
               break ;
         …
case ค่าที่ n : คาสั่งชุดที่ n ;
               break ;
default : คาสั่ง ;
}

**หากแต่ละทางเลือกมีมากกว่า1คาสั่ง ต้องใช้เครื่องหมาย { }กั้นขอบเขต



แนวการเขียนผังงานคาสั่งswitch
ตัวอย่างการใช้คาสั่ง switch
ตัวอย่างที่ 1 การใช้คาสั่ง switch โดยไม่ใช้คาสั่ง break ในแต่ละ case
#include <stdio.h>
main()
{
    /*printf("n");*/

      switch (getchar())

         {

             case '9': printf("9 9 9 9 9 9 9 9 9n");

             case '8': printf(" 8 8 8 8 8 8 8 8n");

             case '7': printf(" 7 7 7 7 7 7 7n");

             case '6': printf(" 6 6 6 6 6 6n");

             case '5': printf(" 5 5 5 5 5n");

             case '4': printf(" 4 4 4 4n");

             case '3': printf(" 3 3 3n");

             case '2': printf("    2 2n");

             case '1': printf("    1n");
default: printf("0000000000000000000");
}
getch();
}
เมือโปรแกรมทางานจะได้ผล ในลักษณะทานองในรูป
   ่




ตัวอย่างที่ 2 แสดงการใช้คาสั่ง switch โดยมีการใช้คาสั่ง break ในแต่ละ case
#include <Stdio.h>
main()
{

     float num1 = 1.0 , num2 = 1.0;
    int operate;
     printf("n Please enter first floating point number : ");
     scanf("%f",&num1);
     printf("n Please enter seconf floating point number : ");
     scanf("%f",&num2);
     printf(" n Please enter the operator. : ");
     operate = getche();
     switch ( operate) /* start switch */
{
     case '+' :
          printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1+num2);
break;
      case '-' :
          printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1 - num2);
break;
    case '*' :
         printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1+num2);
break;
    case '/' :
         printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1+num2);

break;
    default :
printf("unknown operator");

      } /* end switch */
Getch();

}          /* end main() */

โดยการทางานของโปรแกรมนี้เป็นไปในลักษณะ ดังรูป




5.กรณีศึกษาการมใช้คาสังควบคุมแบบมีทางเลือก
                      ่

กรณีใช้คาสั่ง switch
โจทย์ : จงเขียนงานโปรแกรมในลักษณะเมนูเลือกการทางาน ด้วยคาสั่ง switch ดังนี้

                 กาหนดให้        กด1 คานวณพื้นที่สี่เหลี่ยมจัตุรัส

                                 กด 2 คานวณพื้นที่สามเหลี่ยม

                                 กด 3 ออกจากระบบงาน

                 นอกเหนือจากนี้ แจ้งข้อความการกดหมายเลขผิดพลาด
ขั้นตอนการพัฒนางานโปรแกรม
 1. การวิเคราะห์ระบบงานเบื้องต้น
        1.1 สิ่งที่ต้องการ โปรแกรมเมนูเลือกการคานวณพื้นที่สี่เหลี่ยม และพื้นที่สามเหลี่ยม
        1.2 สมการคานวณ            พื้นที่สี่เหลี่ยม = กว้าง x ยาว
                                  พื้นที่สามเหลี่ยม = ฐาน x สูง /2
        1.3 ข้อมูลนาเข้า ตัวเลือกเมนู
                ความกว้าง         ความยาว
                หรือฐานกับสูง
         1.4 การแสดงผลตามโจทย์กาหนด
        1.5 กาหนดคุณสมบัติตวแปร
                           ั


ข้อมูล                              ชื่อหน่วยความจา                         ชนิดข้อมูล
ความกว้าง                           w                                       ตัวเลขทศนิยม
ความยาว                             l                                       ตัวเลขทศนิยม
ฐาน                                 b                                       ตัวเลขทศนิยม
สูง                                 h                                       ตัวเลขทศนิยม
พื้นที่                             area                                    ตัวเลขทศนิยม
ตัวเลือกเมนู                        ans                                     อักขระ

        1.6 ลาดับขั้นตอนการทางาน (action)
                1) เริ่มต้นการทางาน
                2) แสดงส่วนเมนูเลือกงาน
                3) ป้อนค่าตัวเลือกเมนู (ans)
                4) เลือกทางานด้วยคาสั่ง switch ( ans )
                         4.1) ถ้า ans เป็น ‘1’ ให้ทางานกลุ่มคาสั่ง ดังนี้
                                  - ป้อนคาสั่ง w, l
                                  - คานวณ area = w * l
                                  - พิมพ์ area
(ออกไปทางานข้อ 5)
                     4.2) ถ้า ans เป็น ‘2’ ให้ทางานกลุ่มคาสั่ง ดังนี้
                              - ป้อนคาสั่ง b, h
                              - คานวณ area = b * h/2
                              - พิมพ์ area
                              (ออกไปทางานข้อ 5)
                     4.3) ถ้า ans เป็น ‘3’ ให้ทางานกลุ่มคาสั่ง ดังนี้
                              - ออกจากส่วนการทางาน
                              (ออกไปทางานข้อ 5)
                     4.4) นอกเหนือจากนี้ พิมพ์ข้อความแจ้งข้อผิดพลาด
                              (ออกไปทางานข้อ 5)
              5) สิ้นสุดการทางาน
2.แผนผังงาน
3. คาสั่งควบคุมการทางาน
       ตัวอย่างโปรแกรมที่ 3.10 กรณีศึกษาโปรแกรมระบบงาน ลักษณะเมนูเลือกการทางาน ควบคุมการ
เลือกการทางานด้วยคาสั่ง switch
แบบฝึกหัดท้ายบท
1. อักษรพิมพ์ใหญ่กับพิมพ์เล็กในภาษาซี จัดเก็บข้อมูลในหน่วยความจาที่ตาแหน่งใด
ก. ตาแหน่งเดียวกัน
ข. คนละตาแหน่งกัน
ค. ตาแหน่งเดียวกันหรือต่างกันก็ได้
ง. ไม่มีข้อถูก

2. ชนิดของข้อมูลในภาษาซีมีกี่ชนิด
ก. 3
ข. 4
ค. 5
ง. 6

3. ชนิดข้อมูล float เก็บข้อมูลรูปแบบใด
ก. เก็บแบบอักขระ
ข. เก็บแบบจานวนเต็ม
ค. เก็บแบบอักขระไม่คดเครื่องหมาย
                    ิ
ง. เก็บแบบตัวเลขทศนิยม

4. ตัวดาเนินการทางคณิตศาสตร์ % หมายความว่าอย่างไร
ก. หาร
ข. เปอร์เซนต์
ค. หารเอาเศษ
ง. หารด้วยร้อย
5. คาสั่ง if ใช้ในกรณีใด
ก. ควบคุมการทางานแบบมีทางเลือก โดยหากเป็นจริงให้ไปคาสั่งชุดถัดไป
ข. ควบคุมการทางานแบบมีทางเลือก โดยหากเป็นเท็จให้ไปคาสั่งชุดถัดไป
ค. ควบคุมการทางานในกรณีเป็นจริงให้ไปคาสั่งชุด1แล้วไปคาสั่งชุดต่อไป หากเท็จให้ไปคาสั่งชุด2แล้วไป
คาสั่งชุดถัดไป
ง. ไม่มีข้อใดถูก

6. คาสั่ง if-else ใช้กรณีใด
ก. ควบคุมการทางานแบบมีทางเลือก โดยหากเป็นเท็จให้ไปคาสั่งชุดถัดไป
ข. ควบคุมการทางานในกรณีเป็นจริงให้ไปคาสั่งชุด1แล้วไปคาสั่งชุดต่อไป หากเท็จให้ไปคาสั่งชุด2แล้วไป
คาสั่งชุดถัดไป
ค. ควบคุมการทางานในกรณีเป็นจริงเท่านั้นจึงไปคาสั่งชุดถัดไป
ง. ไม่มีข้อใดถูก

7. คาสั่ง switch ใช้ในกรณีใด
ก. ควบคุมการทางานแบบมีทางเลือก กรณีทางเลือกการทางานน้อยๆ
ข. ควบคุมการทางานแบบมีทางเลือก กรณีทางเลือกการทางานมากๆ
ค. เหมือนคาสั่ง if
ง. เหมือนคาสั่ง if-else

8. คาสั่ง switch ควรใช้กับข้อมูลแบบใด
ก. ทศนิยม
ข. ตัวเลขจานวนเต็ม
ค. อักขระ
ง. ถูกทั้งข้อ ข. และ ค.
9. คาสั่งif กับ if-else ต่างกันอย่างไร
ก. คาสั่ง if ถ้ากรณีเป็นเท็จไม่ต้องไปชุดคาสั่งถัดไป if-else ถ้าเป็นเท็จต้องไปคาสั่งชุดถัดไป
ข. คาสั่ง if ถ้ากรณีเป็นเท็จต้องไปชุดคาสั่งถัดไป if-else ถ้าเป็นเท็จไม่ต้องไปคาสั่งชุดถัดไป
ค. คาสั่ง if ต้องใช้สัญลักษณ์เชื่อมประโยคเงื่อนไข if-else ไม่ต้อง
ง. ไม่มีข้อใดถูก

10. ในระบบคอมพิวเตอร์หากตรรกะเป็นจริงจะให้ค่าใดและเท็จจะให้ค่าใด
ก. 1 , 0
ข. 0 , 1
ค. 1 , 2
ง. 2, 1
เฉลย
1. ข
2. ก
3. ง
4. ค
5. ก
6. ข
7. ข
8. ง
9. ก
10. ก
เอกสารอ้างอิง



- http://it.benchama.ac.th : คุณครูสาโรจน์ บุญศักดิ์ดี, คุณครูสรรเพชญ ทุนมาก

- courseware.bodin.ac.th : โรงเรียนบดินทรเดชา (สิงห์ สิงหเสนี)

- หนังสือคู่มือเรียนรู้ภาษาซี ด้วยตนเอง : ผศ.รุ่งทิวา เสาร์สิงห์

Contenu connexe

Tendances

การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถามkruthanyaporn
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรKomkai Pawuttanon
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Thank Chiro
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเทวัญ ภูพานทอง
 
หน่วยที่ 4 การสร้างแบบสอบถาม
หน่วยที่ 4 การสร้างแบบสอบถามหน่วยที่ 4 การสร้างแบบสอบถาม
หน่วยที่ 4 การสร้างแบบสอบถามkruthanyaporn
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซีboky_peaw
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานNookky Anapat
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
การประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีการประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีmycomc55
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา CWarawut
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 

Tendances (20)

การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถาม
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปร
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซี
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล
 
ตัวแปรกับชนิดของข้อมูล
ตัวแปรกับชนิดของข้อมูลตัวแปรกับชนิดของข้อมูล
ตัวแปรกับชนิดของข้อมูล
 
หน่วยที่ 4 การสร้างแบบสอบถาม
หน่วยที่ 4 การสร้างแบบสอบถามหน่วยที่ 4 การสร้างแบบสอบถาม
หน่วยที่ 4 การสร้างแบบสอบถาม
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซี
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
การประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีการประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซี
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
Lesson3
Lesson3Lesson3
Lesson3
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
 
งานทำ Blog บทที่ 2
งานทำ Blog บทที่ 2งานทำ Blog บทที่ 2
งานทำ Blog บทที่ 2
 
C slide
C slideC slide
C slide
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 
งานคอม 1
งานคอม 1งานคอม 1
งานคอม 1
 
Intro c
Intro cIntro c
Intro c
 

En vedette

การเขียนโปรแกรมแบบมีเงื่อนไข
การเขียนโปรแกรมแบบมีเงื่อนไขการเขียนโปรแกรมแบบมีเงื่อนไข
การเขียนโปรแกรมแบบมีเงื่อนไขxzodialol
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)Kroopop Su
 
แบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานแบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานChess
 

En vedette (6)

ฟังก์ชั่น Switch
ฟังก์ชั่น Switchฟังก์ชั่น Switch
ฟังก์ชั่น Switch
 
การเขียนโปรแกรมแบบมีเงื่อนไข
การเขียนโปรแกรมแบบมีเงื่อนไขการเขียนโปรแกรมแบบมีเงื่อนไข
การเขียนโปรแกรมแบบมีเงื่อนไข
 
Unit10
Unit10Unit10
Unit10
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)
 
แบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานแบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงาน
 
Flowchart
FlowchartFlowchart
Flowchart
 

Similaire à กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก

งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกงานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกItslvle Parin
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
การเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือกการเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือกKEk YourJust'one
 
ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่
ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่
ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่ปณพล ดาดวง
 
ใบความรู้ที่ 5
ใบความรู้ที่  5ใบความรู้ที่  5
ใบความรู้ที่ 5SubLt Masu
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ Areeya Onnom
 
Java-Chapter 09 Advanced Statements and Applications
Java-Chapter 09 Advanced Statements and ApplicationsJava-Chapter 09 Advanced Statements and Applications
Java-Chapter 09 Advanced Statements and ApplicationsWongyos Keardsri
 
ตัวแปรและชนิดข้อมูล
ตัวแปรและชนิดข้อมูลตัวแปรและชนิดข้อมูล
ตัวแปรและชนิดข้อมูลInam Chatsanova
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงNaphamas
 
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTAreeya Onnom
 

Similaire à กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก (20)

งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกงานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
การเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือกการเขียนคำสั่งควบคุมมีทางเลือก
การเขียนคำสั่งควบคุมมีทางเลือก
 
Know1 3
Know1 3Know1 3
Know1 3
 
ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่
ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่
ตัวแปร ชนิดข้อมูล ตัวดำเนินการ นิพจน์ และค่าคงที่
 
ใบความรู้ที่ 5
ใบความรู้ที่  5ใบความรู้ที่  5
ใบความรู้ที่ 5
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
อาร์เรย์
อาร์เรย์อาร์เรย์
อาร์เรย์
 
Limit
LimitLimit
Limit
 
Work
WorkWork
Work
 
Java-Chapter 09 Advanced Statements and Applications
Java-Chapter 09 Advanced Statements and ApplicationsJava-Chapter 09 Advanced Statements and Applications
Java-Chapter 09 Advanced Statements and Applications
 
งาน
งานงาน
งาน
 
Basic
BasicBasic
Basic
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
ตัวแปรและชนิดข้อมูล
ตัวแปรและชนิดข้อมูลตัวแปรและชนิดข้อมูล
ตัวแปรและชนิดข้อมูล
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
 
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPT
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
02 basic
02 basic02 basic
02 basic
 

กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก

  • 1. รายงาน วิชา การเขียนโปรแกรมเพื่องานอาชีพ(com) เรื่อง การเขียนคาสั่งควบคุมแบบมีทางเลือก (กลุ่ม 3) เสนอ อาจารย์ทรงศักดิ์ โพธิ์เอี่ยม สมาชิก 1. นายภาวัต กระต่าย เลขที่ 7 2. นายธีระวัชร์ ปัญญาหงษ์ เลขที่ 9 3. นางสาวณัฐวดี สายศรีนิล เลขที่ 16 4. นางสาวนภามาศ เชียงทอง เลขที่ 17 5. นางสาวกมลชนก เปรมกิจ เลขที่ 20 6. นางสาวพลอยภัทรา เยี่ยมสวัสดิ์ เลขที่ 36 ม. 6/2 ภาคเรียนที่ 1 ปีการศึกษา 2555 โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี
  • 2. คานา รายงานเล่มนี้เป็นส่วนหนึ่งของวิชาการเขียนโปรแกรมเพื่องานอาชีพ (ง30212) เรื่องการ เขียนโปรแกรมด้วยภาษาซี เนื่องจากเนื้อหาในเรื่องการเขียนโปรแกรมด้วยภาษาซีนั้นมีจานวน มากซึ่งอาจจะยากแก่ศึกษา คุณครูจึงแบ่งงานให้นักเรียนทาเป็นกลุ่มโดยแบ่งหัวข้อแต่ละเรื่องให้ ทารายงาน กลุ่มของข้าพเจ้านั้นได้เรื่องการเขียนคาสั่งควบคุมแบบมีทางเลือก รายงานเรื่องการเขียนคาสั่งควบคุมแบบมีทางเลือกเล่มนี้แบ่งเนื้อหาออกเป็น คาสั่งจัดเก็บ ข้อมูลลงหน่วยความจา กฎเกณฑ์การกาหนดชื่อ ตารางชนิดข้อ มูลของภาษาซีตามมาตรฐาน และตัวอย่างการเขียนคาสั่งต่างๆ เป็นต้น ซึ่งเนื้อหาในแต่ละเรื่องจะมีคาอธิบายและมีรูปภาพที่ เป็นตัว อย่างประกอบเพื่อให้นักเรียนและบุคคลที่สนใจในเรื่องการเขียนคาสั่งควบคุมแบบมี ทางเลือ กนั้น เข้าใจง่ายขึ้นและได้น าไปศึกษาเพิ่มเติม และนาไปใช้ในชีวิตประจ าวัน ได้อย่าง ถูกต้อง คณะผู้จัดทาหวังเป็นอย่างยิ่งว่ารายงานเล่ม นี้จะเป็นประโยชน์ต่อนักเรียนและบุคคลที่ สนใจในเรื่อ งการเขียนคาสั่ง ควบคุม แบบมีทางเลือ กไม่ม ากก็น้อ ย ถ้ารายงานเล่ม นี้มีความ ผิดพลาดประการใดคณะผู้จัดทาต้องขออภัยไว้ ณ ที่นี้ด้วย คณะผู้จัดทา
  • 3. สารบัญ เรื่อง หน้า คาสั่งจัดเก็บข้อมูลลงหน่วยความจา 1-3 การเขียนนิพจน์เชิงตรรกะ 3-4 คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if 4-8 คาสั่งควบคุมแบบมีทางเลือก คาสั่งswitch 8 - 12 กรณีศกษาการมใช้คาสั่งควบคุมแบบมีทางเลือก ึ 12 - 16 Mind Map สรุป 17 แบบฝึกหัดท้ายบท 18 - 21 เอกสารอ้างอิง 22
  • 4. การเขียนคาสั่งควบคุมแบบมีทางเลือก 1. คาสั่งจัดเก็บข้อมูลลงหน่วยความจา 1.1 กฎเกณฑ์การกาหนดชื่อ ชื่อ (Identifier) หมายถึง ชื่อหน่วยความจาประเภทตัวแปร ชื่อหน่วยความจาประเภทค่าคงที่ หรือ ชื่อ ในส่วนใดๆ ของโปรแกรมที่ผู้สร้างโปรแกรมเป็นผูกาหนดด้วยตนเอง มีกาเกณฑ์ดังนี้ ้ 1. อักขระแรกต้องเป็นตัวอักษร หรือเครื่องหมายขีดล่าง (_) ตัวถัดไปเป็นตัวอักษร หรือตัวเลข หรือ เครื่องหมายขีดล่าง (_) ก็ได้ 2. ชื่อที่ใช้อักษรตัวพิมพ์ใหญ่ หรือตัวพิมพ์เล็ก จะจัดเก็บข้อมูลในหน่วยความจาตาแหน่งที่ต่างกัน 3. ห้ามใช้อักขระพิเศษ เช่น $ @ และห้ามมีช่องว่างระหว่างอักขระโดยเด็ดขาด 4. ควรตั้งชื่อให้มีความหมายสอดคล้องกับงาน 5. ต้องไม่ซ้ากับคาสงวนของภาษาซี (Reserved Word) 1.2 ชนิดของข้อมูล ภาษาซีมีชนิดของข้อมูลพื้นฐานให้เลือกใช้งาน 3 กลุ่มหลักคือ อักขระ ตัวเลขจานวนเต็ม ตัวเลขทศนิยม ตารางชนิดข้อมูลของภาษาซีตามมาตรฐาน ชนิดข้อมูล ขอบเขตของข้อมูล การเก็บข้อมูล char -128 ถึง 127 เก็บแบบอักขระ unsigned char 0 ถึง 225 เก็บแบบอักขระ ไม่คิดเครื่องหมาย int -32768 ถึง 32767 เก็บแบบจานวนเต็ม unsigned int 0 ถึง 65535 เก็บแบบจานวนเต็ม ไม่คดเครื่องหมาย ิ short -128 ถึง 127 เก็บแบบจานวนเต็มแบบสั้น unsigned short 0 ถึง 225 เก็บแบบจานวนเต็มแบบสั้น ไม่คิด เครื่องหมาย long -2147483648 ถึง เก็บแบบจานวนเต็มแบบแบบยาว
  • 5. 2147483649 unsigned long 0 ถึง 4294967296 เก็บแบบจานวนเต็มแบบแบบยาว ไม่คิด เครื่องหมาย float 3.4 *10-38 ถึง 3.4 * 1038 เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 6 หลัก double 3.4 *10-308 ถึง 3.4 * 10308 เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 12 หลัก Long double 3.4 *10-4032 3.4 *104032 เก็บแบบตัวเลขทศนิยม ตัวเลขหลังจุด 24 หลัก ตัวอย่างคาสั่ง กาหนดชื่อและชนิดหน่วยความจาประเภทตัวแปร Char ans ; Int salary , bonus ; Short value ; 1.3 คาสั่งกาหนดข้อมูลแบบค่าคงที่ มี 3 ลักษณะคือ 1.3.1 แบบที่ 1 ไม่ต้องกาหนดชื่อหน่วยความจารองรับข้อมูล (Literal Constant) ตัวอย่างคาสั่ง พิมพ์ค่าคงที่ไม่ผ่านการใช้หน่วยความจา printf (‚ 2 * 2 = %d n ‛ , 4 ) ; printf (‚ c => %c %c n ‛ , ‘c’ ) ;
  • 6. อธิบาย เลข 4 กับ ‘c’ คือข้อมูลแบบค่าคงที่ ไม่ต้องจัดเก็บในหน่วยความจา 1.3.2 แบบที่ 2 เขียนบริเวณส่วนหัว ในโครงสร้างภาษาซี (Defined Constant) รูปแบบ #define macro_name data ; 1.3.3 แบบที่ 3 เขียนบริเวณส่วนฟังก์ชันหลัก main ( ) (Memory Constant) รูปแบบ const variable = data ; 2. การเขียนนิพจน์เชิงตรรกะ 2.1 ตัวดาเนินการทางคณิตศาสตร์ (Mathematical Operators) ตารางสัญลักษณ์ตัวดาเนินการทางคณิตศาสตร์ ตัวดาเนินการ ศัพท์เฉพาะ ความหมาย ตัวอย่าง ผลลัพธ์ + addition บวก 10+2 12 - subtraction ลบ 10-2 8 * multiplication คูณ 10*2 20 / division หาร 10/2 5(หากมีเศษปัดทิ้ง) % remainder หารเอาเศษ 10%2 0 2.2 ตัวดาเนินการความสัมพันธ์ (Relational Operators) ใช้เขียนประโยคคาสั่งแบบมีเงื่อนไข 1 ประโยค ตารางสัญลักษณ์ตัวดาเนินการความสัมพันธ์ ตัวดาเนินการ ศัพท์เฉพาะ ตัวอย่าง ผลลัพธ์ กาหนดa=3 ; b=2
  • 7. < less than a<b ; คาตอบคือ false > greater than a>b ; คาตอบคือtrue <= less than or equal a<=b ; คาตอบคือ false >= greater than or equal a>=b ; คาตอบคือtrue == equal A==b ; คาตอบคือ false != not equal A!=b ; คาตอบคือtrue 2.3 ตัวดาเนินการเชิงตรรกะ (Logical Operators) เป็นสัญลักษณ์ใช้เชื่อมประโยคคาสั่งแบบมีเงื่อนไข 2 ประโยคขึนไป ้ ตรรกะ คือ การคิดเชิงเหตุผลที่มีความจริงค่าใดค่าหนึ่งคือ จริง (True: 1) หรือ (False: 0) ตารางสัญลักษณ์ตัวดาเนินการเชิงตรรกะ ตัวดาเนินการ ศัพท์เฉพาะ ตัวอย่าง ผลลัพธ์ กาหนด a=9 && AND (a>0)&&(a<5) ; คาตอบคือ false || OR (a>0)|| (a<5) ; คาตอบคือtrue ! NOT !(a>0) ; คาตอบคือ false 3. คาสั่งควบคุมแบบมีทางเลือก ลักษณะ if 3.1 กรณีใช้ประโยคคาสังแบบ if ่ ประสิทธิภาพของคาสั่ง : ควบคุมการทางานแบบมีทางเลือก ลักษณะหากประโยคเงื่อนไขตรรกะได้ ข้อสรุปค่าความจริงเป็นจริง ให้ไปทางานตามคาลั่ง (กลุ่มคาสั่ง) ต่อจากประโยคเงื่อนไข แล้วไปตาแหน่ง บรรทัดคาสั่งชุดต่อไป แต่หากเงื่อนไขเป็นเท็จไม่ต้องทาคาสั่งใดให้ไปทางานที่ตาแหน่งคาสั่งต่อไป 3.1.1 รูปแบบการเขียนคาสั่งและแนวทางผังงานแบบ if
  • 8. รูปแบบที่ 1 กรณีหลังเงื่อนไข if มี 1 คาสั่ง If (เงื่อนไข) คาสั่ง ; (กรณีเงื่อนไขเป็นจริง) คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ) รูปแบบที่ 2 กรณีหลังเงื่อนไข if มีมากกว่า 1 คาสั่ง If (เงื่อนไข) { กลุ่มคาสั่ง ; (กรณีเงื่อนไขเป็นจริง) }; คาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)
  • 9. 3.2 กรณีใช้ประโยคคาสังแบบ if – else ่ ประสิทธิภาพของคาสั่ง: ใช้กรณีควบคุมกรทางานในลักษณะ หากประโยคเงื่อนไขตรรกะได้ข้อสรุป ความจริงเป็นจริง ให้ทางานตามคาสั่ง (กลุ่มคาสั่ง) ชุดที่ 1 แล้วไปที่คาสั่งต่อไป แต่หากเงื่อนไขตรรกะเป็น เท็จ ให้ทางานตามคาสั่ง (กลุ่มคาสั่ง) ชุดที่ 2 แล้วไปทางานที่ตาแหน่งคาสั่งชุดต่อไป รูปแบบคาสั่ง if (เงื่อนไข) คาสั่งชุดที่ 1 (กรณีเงื่อนไขเป็นจริง) ; else คาสั่งชุดที่ 2 (กรณีเงื่อนไขเป็นเท็จ) ; คาสั่งชุดต่อไป; 3.3 กรณีใช้ประโยคคาสังแบบ if – else if –else ่ ประสิทธิภาพคาสั่ง: ใช้กรณีควบคุมการทางานในลักษณะ หากประโยคเงื่อนไขตรรกะมีทางเลือก ทางานมากกว่า 2 ทางเลือก ระบบจะตรวจสอบเงื่อนไข ดังนี้ รูปแบบ if (เงื่อนไขประโยคที่ 1) คาสั่งชุดที่ 1 ; (กรณีเงื่อนไขประโยคที่ 1 เป็นจริง) else if (เงื่อนไขประโยคที่ 2) คาสั่งชุดที่ 2 ; (กรณีเงื่อไขประโยคที่ 2 เป็รจริง) … else คาสั่งชุดที่ n ; (นอกเหนือจากเงื่อนไขข้างต้น) คาสั่งชุดต่อไป ;
  • 10. ตัวอย่าง จงเขียนงานป้อนข้อมูลเงืนเดิน เพื่อคานวณอัตราภาษีตามเงื่อนไขดังนี้ ถ้าเงินเดือน > 10000 บาท หักภาษีอัตรา10%ของเงินเดือน ถ้าเงินเดือนอยู่ในช่วง 5001-10000 บาท หักภาษีอัตรา 5% ของเงินเดือน
  • 11. 3.4โครงสร้าง หรือ รูปแบบ ที่ใช้ if ซ้อนกัน หรือ อาจเรียกว่า nested if โครงสร้าง nested if เพิ่ม if เข้ามาในคาสั่ง if ทาให้ใช้คาสั่ง if เพิ่มได้ตามที่ต้องการ ใช้กับการ ตัดสินใจที่มีทางเลือกมากกว่า 2 ทางเลือก อาจเขียนผังงานได้เป็น (มีได้หลายแบบ) 4. คาสั่งควบคุมแบบมีทางเลือก คาสั่งswitchใช้ควบคุมการทางานแบบมีทางเลือก กรณีที่ทางเลือกการทางานมีจานวนมาก ภาษาซี ออกแบบคาสั่งswitch ให้ทางานลักษณะวิเคราะห์ตรวจสอบค่าของตัวแปรหรือนิพจน์ว่าตรงกับค่าภายใน คาสั่ง case ใด จะทางานตามคาสั่งภายใต้การควบคุมของคาสั่งcaseนั้น แต่หากตรวจสอบแล้วไม่ตรงกับ คาสั่งใดเลย จะทางานภายใต้คาสั่งdefault ** เงื่อนไขที่ใช้กับคาสั่ง switch ต้องเป็นคาสั่งแบบประโยคเงื่อนไขแบบ1ประโยค การทางานของswitch จะต้องมีคาสั่งbreak เพื่อออกจากการทางานของcaseนั้นโดยไม่ต้องผ่านcaseถัดไป
  • 12. 4.1 รูปแบบการเขียนคาสังและแนวทางผังงานแบบswitch ่ การใช้คาสั่งswitch switch ( ver / expression) { case ค่าที่ 1 : คาสั่งชุดที่ 1 ; break ; case ค่าที่ 2 : คาสั่งชุดที่ 2 ; break ; … case ค่าที่ n : คาสั่งชุดที่ n ; break ; default : คาสั่ง ; } **หากแต่ละทางเลือกมีมากกว่า1คาสั่ง ต้องใช้เครื่องหมาย { }กั้นขอบเขต แนวการเขียนผังงานคาสั่งswitch
  • 13. ตัวอย่างการใช้คาสั่ง switch ตัวอย่างที่ 1 การใช้คาสั่ง switch โดยไม่ใช้คาสั่ง break ในแต่ละ case #include <stdio.h> main() { /*printf("n");*/ switch (getchar()) { case '9': printf("9 9 9 9 9 9 9 9 9n"); case '8': printf(" 8 8 8 8 8 8 8 8n"); case '7': printf(" 7 7 7 7 7 7 7n"); case '6': printf(" 6 6 6 6 6 6n"); case '5': printf(" 5 5 5 5 5n"); case '4': printf(" 4 4 4 4n"); case '3': printf(" 3 3 3n"); case '2': printf(" 2 2n"); case '1': printf(" 1n"); default: printf("0000000000000000000"); } getch(); }
  • 14. เมือโปรแกรมทางานจะได้ผล ในลักษณะทานองในรูป ่ ตัวอย่างที่ 2 แสดงการใช้คาสั่ง switch โดยมีการใช้คาสั่ง break ในแต่ละ case #include <Stdio.h> main() { float num1 = 1.0 , num2 = 1.0; int operate; printf("n Please enter first floating point number : "); scanf("%f",&num1); printf("n Please enter seconf floating point number : "); scanf("%f",&num2); printf(" n Please enter the operator. : "); operate = getche(); switch ( operate) /* start switch */ { case '+' : printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1+num2); break; case '-' : printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1 - num2);
  • 15. break; case '*' : printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1+num2); break; case '/' : printf("nt result tof t%0.2f t%c t%02.2ftis t %.2f",num1,operate,num2,num1+num2); break; default : printf("unknown operator"); } /* end switch */ Getch(); } /* end main() */ โดยการทางานของโปรแกรมนี้เป็นไปในลักษณะ ดังรูป 5.กรณีศึกษาการมใช้คาสังควบคุมแบบมีทางเลือก ่ กรณีใช้คาสั่ง switch โจทย์ : จงเขียนงานโปรแกรมในลักษณะเมนูเลือกการทางาน ด้วยคาสั่ง switch ดังนี้ กาหนดให้ กด1 คานวณพื้นที่สี่เหลี่ยมจัตุรัส กด 2 คานวณพื้นที่สามเหลี่ยม กด 3 ออกจากระบบงาน นอกเหนือจากนี้ แจ้งข้อความการกดหมายเลขผิดพลาด
  • 16. ขั้นตอนการพัฒนางานโปรแกรม 1. การวิเคราะห์ระบบงานเบื้องต้น 1.1 สิ่งที่ต้องการ โปรแกรมเมนูเลือกการคานวณพื้นที่สี่เหลี่ยม และพื้นที่สามเหลี่ยม 1.2 สมการคานวณ พื้นที่สี่เหลี่ยม = กว้าง x ยาว พื้นที่สามเหลี่ยม = ฐาน x สูง /2 1.3 ข้อมูลนาเข้า ตัวเลือกเมนู ความกว้าง ความยาว หรือฐานกับสูง 1.4 การแสดงผลตามโจทย์กาหนด 1.5 กาหนดคุณสมบัติตวแปร ั ข้อมูล ชื่อหน่วยความจา ชนิดข้อมูล ความกว้าง w ตัวเลขทศนิยม ความยาว l ตัวเลขทศนิยม ฐาน b ตัวเลขทศนิยม สูง h ตัวเลขทศนิยม พื้นที่ area ตัวเลขทศนิยม ตัวเลือกเมนู ans อักขระ 1.6 ลาดับขั้นตอนการทางาน (action) 1) เริ่มต้นการทางาน 2) แสดงส่วนเมนูเลือกงาน 3) ป้อนค่าตัวเลือกเมนู (ans) 4) เลือกทางานด้วยคาสั่ง switch ( ans ) 4.1) ถ้า ans เป็น ‘1’ ให้ทางานกลุ่มคาสั่ง ดังนี้ - ป้อนคาสั่ง w, l - คานวณ area = w * l - พิมพ์ area
  • 17. (ออกไปทางานข้อ 5) 4.2) ถ้า ans เป็น ‘2’ ให้ทางานกลุ่มคาสั่ง ดังนี้ - ป้อนคาสั่ง b, h - คานวณ area = b * h/2 - พิมพ์ area (ออกไปทางานข้อ 5) 4.3) ถ้า ans เป็น ‘3’ ให้ทางานกลุ่มคาสั่ง ดังนี้ - ออกจากส่วนการทางาน (ออกไปทางานข้อ 5) 4.4) นอกเหนือจากนี้ พิมพ์ข้อความแจ้งข้อผิดพลาด (ออกไปทางานข้อ 5) 5) สิ้นสุดการทางาน 2.แผนผังงาน
  • 18. 3. คาสั่งควบคุมการทางาน ตัวอย่างโปรแกรมที่ 3.10 กรณีศึกษาโปรแกรมระบบงาน ลักษณะเมนูเลือกการทางาน ควบคุมการ เลือกการทางานด้วยคาสั่ง switch
  • 19.
  • 20. แบบฝึกหัดท้ายบท 1. อักษรพิมพ์ใหญ่กับพิมพ์เล็กในภาษาซี จัดเก็บข้อมูลในหน่วยความจาที่ตาแหน่งใด ก. ตาแหน่งเดียวกัน ข. คนละตาแหน่งกัน ค. ตาแหน่งเดียวกันหรือต่างกันก็ได้ ง. ไม่มีข้อถูก 2. ชนิดของข้อมูลในภาษาซีมีกี่ชนิด ก. 3 ข. 4 ค. 5 ง. 6 3. ชนิดข้อมูล float เก็บข้อมูลรูปแบบใด ก. เก็บแบบอักขระ ข. เก็บแบบจานวนเต็ม ค. เก็บแบบอักขระไม่คดเครื่องหมาย ิ ง. เก็บแบบตัวเลขทศนิยม 4. ตัวดาเนินการทางคณิตศาสตร์ % หมายความว่าอย่างไร ก. หาร ข. เปอร์เซนต์ ค. หารเอาเศษ ง. หารด้วยร้อย
  • 21. 5. คาสั่ง if ใช้ในกรณีใด ก. ควบคุมการทางานแบบมีทางเลือก โดยหากเป็นจริงให้ไปคาสั่งชุดถัดไป ข. ควบคุมการทางานแบบมีทางเลือก โดยหากเป็นเท็จให้ไปคาสั่งชุดถัดไป ค. ควบคุมการทางานในกรณีเป็นจริงให้ไปคาสั่งชุด1แล้วไปคาสั่งชุดต่อไป หากเท็จให้ไปคาสั่งชุด2แล้วไป คาสั่งชุดถัดไป ง. ไม่มีข้อใดถูก 6. คาสั่ง if-else ใช้กรณีใด ก. ควบคุมการทางานแบบมีทางเลือก โดยหากเป็นเท็จให้ไปคาสั่งชุดถัดไป ข. ควบคุมการทางานในกรณีเป็นจริงให้ไปคาสั่งชุด1แล้วไปคาสั่งชุดต่อไป หากเท็จให้ไปคาสั่งชุด2แล้วไป คาสั่งชุดถัดไป ค. ควบคุมการทางานในกรณีเป็นจริงเท่านั้นจึงไปคาสั่งชุดถัดไป ง. ไม่มีข้อใดถูก 7. คาสั่ง switch ใช้ในกรณีใด ก. ควบคุมการทางานแบบมีทางเลือก กรณีทางเลือกการทางานน้อยๆ ข. ควบคุมการทางานแบบมีทางเลือก กรณีทางเลือกการทางานมากๆ ค. เหมือนคาสั่ง if ง. เหมือนคาสั่ง if-else 8. คาสั่ง switch ควรใช้กับข้อมูลแบบใด ก. ทศนิยม ข. ตัวเลขจานวนเต็ม ค. อักขระ ง. ถูกทั้งข้อ ข. และ ค.
  • 22. 9. คาสั่งif กับ if-else ต่างกันอย่างไร ก. คาสั่ง if ถ้ากรณีเป็นเท็จไม่ต้องไปชุดคาสั่งถัดไป if-else ถ้าเป็นเท็จต้องไปคาสั่งชุดถัดไป ข. คาสั่ง if ถ้ากรณีเป็นเท็จต้องไปชุดคาสั่งถัดไป if-else ถ้าเป็นเท็จไม่ต้องไปคาสั่งชุดถัดไป ค. คาสั่ง if ต้องใช้สัญลักษณ์เชื่อมประโยคเงื่อนไข if-else ไม่ต้อง ง. ไม่มีข้อใดถูก 10. ในระบบคอมพิวเตอร์หากตรรกะเป็นจริงจะให้ค่าใดและเท็จจะให้ค่าใด ก. 1 , 0 ข. 0 , 1 ค. 1 , 2 ง. 2, 1
  • 23. เฉลย 1. ข 2. ก 3. ง 4. ค 5. ก 6. ข 7. ข 8. ง 9. ก 10. ก
  • 24. เอกสารอ้างอิง - http://it.benchama.ac.th : คุณครูสาโรจน์ บุญศักดิ์ดี, คุณครูสรรเพชญ ทุนมาก - courseware.bodin.ac.th : โรงเรียนบดินทรเดชา (สิงห์ สิงหเสนี) - หนังสือคู่มือเรียนรู้ภาษาซี ด้วยตนเอง : ผศ.รุ่งทิวา เสาร์สิงห์