แบบบันทึกการศึกษาค้นคว้าและการแก้ปัญหา
                   โจทย์ปัญหา PBL 2 เรื่อง โครงสร้างของโปรแกรมภาษาซี
          รายวิชาการเขียนโปรแกรมภาษาซีเบื้องต้น ง30201 ระดับชั้นมัธยมศึกษาปีที่ 4
สมาชิกในกลุ่ม
   1. นางสาวนพรัตน์ อนุสงค์            เลขที่ 7
   2. นางสาววิภาวรรณ ภูติรักษ์         เลขที่ 8
   3. นางสาวอุทัยวรรณ นาสุข เลขที่ 9




ภารกิจ
   1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้องแก้ปัญหา
       นี้อย่างไร
   2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ
       อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร
   3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรม
       ภาษาซีเป็นอย่างไร
   4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ
       โครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย
ตอนที่ 1
     หัวข้อปัญหา โครงสร้างของโปรแกรมภาษาซี

    ทาความเข้าใจปัญหา ศึกษาโครงสร้างของโปรแกรมและการเขียนคอมเมนต์(Comment)
   - สิ่งที่ต้องการรู้ โครงสร้างของโปรแกรมภาษาซีมีอะไรบ้าง แต่ละส่วนมีลักษณ์สาคัญอย่างไร โดยใช้
      คอมเมนต์(Comment) ในการเขียนอธิบายโครงสร้างของโปรแกรม
   - วิธีการหาคาตอบ ประชุม แบ่งหน้าที่ ศึกษาค้นคว้าข้อมูลและรวบรวมข้อมูลนาข้อมูลที่ได้มา
      วิเคราะห์และตอบคาถาม
   การศึกษาค้นคว้า / แก้ปัญหา
              ชื่อสมาชิก              การแบ่งหน้าที่               แหล่งข้อมูล/อ้างอิง
   นางสาวนพรัตน์ อนุสงค์          รวบรวมข้อมูลและ
                                  วิเคราะห์ข้อมูลสืบค้น
                                  ข้อมูล

   นางสาววิภาวรรณ ภูติรักษ์       วิเคราะห์ปัญหาและ
                                  ตอบคาถาม

   นางสาวอุทัยวรรณ นาสุข          สืบค้นข้อมูล            http://kroohathaichon.wordpress.com
ตอนที่ 2 สรุปผลการศึกษาค้นคว้า / แก้ปัญหาตามภารกิจ

1.จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้องแก้ปัญหานี้
อย่างไร

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

2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ
อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร

ตอบ โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็น 3 ส่วน

1. ส่วนหัวของโปรแกรม

          ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทาการ
ใด ๆ ก่อนการแปลผลโปรแกรมในที่นี่คาสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นาเฮดเดอร์ ไฟล์ที่
ระบุคือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกาหนด preprocessing directives นี้จะต้อง
ขึ้นต้นด้วยเครื่องหมาย # เสมอ คาสั่งที่ใช้ระบุให้คอมไพเลอร์นาเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม
สามารถเขียนได้ 2 รูปแบบ คือ

- #include < ชื่อเฮดเดอร์ไฟล์ > คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สาหรับ
เก็บเฮดเดอร์ไฟล์โดยเฉพาะ ( ปกติคือไดเรกทอรีชื่อ include)

- #include “ ชื่อเฮดเดอร์ไฟล์ ” คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับ
ไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บ เฮดเดอร์ไฟล์โดยเฉพาะ
2. ส่วนของฟังก์ชั่นหลัก

         ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main( ) ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่
ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า “ หลัก ” ดังนั้น การเขียนโปรแกรมภาษซีจึงขาด
ฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกาหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทางานของ
ฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟังก์ชั่น main( ) สามารถเขียนในรูปแบบของ
void main(void) ก็ได้มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์
(argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไป
จากฟังก์ชั่นด้วย




3. ส่วนรายละเอียดของโปรแกรม

เป็นส่วนของการเขียนคาสั่ง เพื่อให้โปรแกรมทางานตามที่ได้ออกแบบไว้

คอมเมนต์ในภาษาซี

คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผู้เขียนโปรแกรมใส่ข้อความอธิบาย
กากับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ใน
ภาษาซีมี 2 แบบคือ

• คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย //

• คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรมภาษาซี
เป็นอย่างไร

ตอบ มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ http://blog.eduzones.com และมี
รายละเอียดดังนี้ ตัวอย่างของโปรแกรม การบวกค่าจานวนเต็ม 2 จานวนเข้าด้วยกัน แล้วแสดงผลลัพธ์ออก
ทางหน้าจอ การเขียนโปรแกรมเพื่อแก้ปัญหานี้ สามารถเขียนได้ดังนี้
#include

void main()

{

    int N1, N2, Sum;

        printf("please input an integer number : ");

        scanf("%d",&N1);

        printf("please input another integer number : ");

        scanf("%d",&N2);

        Sum = N1 + N2;

        printf("so, %d + %d = %d",N1,N2,Sum);

}
4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ
โครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย (2 คะแนน)

ตอบ              #include //ส่วนหัวของโปรแกรม

                   void main() //ฟังก์ชันหลัก

                  { /*เริ่มต้นการเขียนโปรแกรมด้วยปากกาเปิด */

                     int N1, N2, Sum; //ประกาศตัวแปร

                   printf("please input an integer number : "); /*ส่วนรายละเอียดของโปรแกรม

                   scanf("%d",&N1);

                   printf("please input another integer number : ");

                  scanf("%d",&N2);

                  Sum = N1 + N2;

                  printf("so, %d + %d = %d",N1,N2,Sum); */

                   } /*จบการเขียนโปรแกรมด้วยเครื่องหมายปากาปิด */

Pbl 2

  • 1.
    แบบบันทึกการศึกษาค้นคว้าและการแก้ปัญหา โจทย์ปัญหา PBL 2 เรื่อง โครงสร้างของโปรแกรมภาษาซี รายวิชาการเขียนโปรแกรมภาษาซีเบื้องต้น ง30201 ระดับชั้นมัธยมศึกษาปีที่ 4 สมาชิกในกลุ่ม 1. นางสาวนพรัตน์ อนุสงค์ เลขที่ 7 2. นางสาววิภาวรรณ ภูติรักษ์ เลขที่ 8 3. นางสาวอุทัยวรรณ นาสุข เลขที่ 9 ภารกิจ 1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้องแก้ปัญหา นี้อย่างไร 2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร 3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรม ภาษาซีเป็นอย่างไร 4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ โครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย
  • 2.
    ตอนที่ 1 หัวข้อปัญหา โครงสร้างของโปรแกรมภาษาซี ทาความเข้าใจปัญหา ศึกษาโครงสร้างของโปรแกรมและการเขียนคอมเมนต์(Comment) - สิ่งที่ต้องการรู้ โครงสร้างของโปรแกรมภาษาซีมีอะไรบ้าง แต่ละส่วนมีลักษณ์สาคัญอย่างไร โดยใช้ คอมเมนต์(Comment) ในการเขียนอธิบายโครงสร้างของโปรแกรม - วิธีการหาคาตอบ ประชุม แบ่งหน้าที่ ศึกษาค้นคว้าข้อมูลและรวบรวมข้อมูลนาข้อมูลที่ได้มา วิเคราะห์และตอบคาถาม การศึกษาค้นคว้า / แก้ปัญหา ชื่อสมาชิก การแบ่งหน้าที่ แหล่งข้อมูล/อ้างอิง นางสาวนพรัตน์ อนุสงค์ รวบรวมข้อมูลและ วิเคราะห์ข้อมูลสืบค้น ข้อมูล นางสาววิภาวรรณ ภูติรักษ์ วิเคราะห์ปัญหาและ ตอบคาถาม นางสาวอุทัยวรรณ นาสุข สืบค้นข้อมูล http://kroohathaichon.wordpress.com
  • 3.
    ตอนที่ 2 สรุปผลการศึกษาค้นคว้า/ แก้ปัญหาตามภารกิจ 1.จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้องแก้ปัญหานี้ อย่างไร ตอบ จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากนีนานุชและเพื่อนต้องการทราบ ว่าโครงสร้างของโปรแกรมภาษาซีมีอะไรบ้าง แต่ละส่วนมีลักษณ์สาคัญอย่างไร โดยใช้คอมเมนต์ (Comment) ในการเขียนอธิบายโครงสร้างของโปรแกรมมีนานุชและเพื่อนจะต้องแก้ปัญหานี้โดยการเริ่ มศึกษาค้นคว้าข้อมูล เกี่ยวกับโครงสร้างของภาษาซี 2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร ตอบ โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็น 3 ส่วน 1. ส่วนหัวของโปรแกรม ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทาการ ใด ๆ ก่อนการแปลผลโปรแกรมในที่นี่คาสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นาเฮดเดอร์ ไฟล์ที่ ระบุคือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกาหนด preprocessing directives นี้จะต้อง ขึ้นต้นด้วยเครื่องหมาย # เสมอ คาสั่งที่ใช้ระบุให้คอมไพเลอร์นาเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ - #include < ชื่อเฮดเดอร์ไฟล์ > คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สาหรับ เก็บเฮดเดอร์ไฟล์โดยเฉพาะ ( ปกติคือไดเรกทอรีชื่อ include) - #include “ ชื่อเฮดเดอร์ไฟล์ ” คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับ ไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บ เฮดเดอร์ไฟล์โดยเฉพาะ
  • 4.
    2. ส่วนของฟังก์ชั่นหลัก ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main( ) ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า “ หลัก ” ดังนั้น การเขียนโปรแกรมภาษซีจึงขาด ฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกาหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทางานของ ฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟังก์ชั่น main( ) สามารถเขียนในรูปแบบของ void main(void) ก็ได้มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไป จากฟังก์ชั่นด้วย 3. ส่วนรายละเอียดของโปรแกรม เป็นส่วนของการเขียนคาสั่ง เพื่อให้โปรแกรมทางานตามที่ได้ออกแบบไว้ คอมเมนต์ในภาษาซี คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผู้เขียนโปรแกรมใส่ข้อความอธิบาย กากับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ใน ภาษาซีมี 2 แบบคือ • คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย // • คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */
  • 5.
    3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรมภาษาซี เป็นอย่างไร ตอบมีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ http://blog.eduzones.com และมี รายละเอียดดังนี้ ตัวอย่างของโปรแกรม การบวกค่าจานวนเต็ม 2 จานวนเข้าด้วยกัน แล้วแสดงผลลัพธ์ออก ทางหน้าจอ การเขียนโปรแกรมเพื่อแก้ปัญหานี้ สามารถเขียนได้ดังนี้ #include void main() { int N1, N2, Sum; printf("please input an integer number : "); scanf("%d",&N1); printf("please input another integer number : "); scanf("%d",&N2); Sum = N1 + N2; printf("so, %d + %d = %d",N1,N2,Sum); }
  • 6.
    4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ โครงสร้างภาษาซีโดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย (2 คะแนน) ตอบ #include //ส่วนหัวของโปรแกรม void main() //ฟังก์ชันหลัก { /*เริ่มต้นการเขียนโปรแกรมด้วยปากกาเปิด */ int N1, N2, Sum; //ประกาศตัวแปร printf("please input an integer number : "); /*ส่วนรายละเอียดของโปรแกรม scanf("%d",&N1); printf("please input another integer number : "); scanf("%d",&N2); Sum = N1 + N2; printf("so, %d + %d = %d",N1,N2,Sum); */ } /*จบการเขียนโปรแกรมด้วยเครื่องหมายปากาปิด */