แบบบันทึกการศึกษาค้นคว้าและการแก้ปัญหา
                   โจทย์ปัญหา PBL …2…. เรื่อง ..โครงสร้างของโปรแกรมภาษาซี..
             รายวิชาการเขียนโปรแกรมภาษาซีเบื้องต้น ง30201 ระดับชั้นมัธยมศึกษาปีที่ 5

สมาชิกในกลุ่ม
                1. นาย กนกศักดิ์ เรือนทอง เลขที่ 2
                2. นางสาว กรองกานต์ ชะอุ่มพันธ์ เลขที่ 18
                3. นางสาว สุภาภรณ์ แถมศรี เลขที่ 19




ภารกิจ
     1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้อง
แก้ปัญหานี้อย่างไร (1 คะแนน)
     2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ
อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร (1 คะแนน)
     3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรม
ภาษาซีเป็นอย่างไร (1 คะแนน)
     4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ
โครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย (2 คะแนน)
ตอนที่ 1
   หัวข้อปัญหา ..โครงสร้างของโปรแกรมภาษาซี..
   ทาความเข้าใจปัญหา ......ศึกษาข้อมูลตามที่สถานการณ์กาหนดให้ เพื่อใช้ตอบคาถามในภารกิจ.......
   - สิ่งที่ต้องการรู้ .. โครงสร้างของโปรแกรมภาษาซีมีอะไรบ้าง แต่ละส่วนมีลักษณะสาคัญอย่างไร
                          โดยใช้คอมเมนต์ (Comment) ในการเขียนอธิบายโครงสร้างของโปรแกรม..
   - วิธีการหาคาตอบ ...ค้นคว้าในอินเตอร์เน็ต ค้นหาจากหนังสือ สอบถามจากผู้รู้ คือคุณครูผู้สอน...
   การศึกษาค้นคว้า / แก้ปัญหา
                ชื่อสมาชิก                 การแบ่งหน้าที่              แหล่งข้อมูล/อ้างอิง
   นาย กนกศักดิ์ เรือนทอง                   ค้นหาข้อมูล          http://www.lks.ac.th/kuanjit/
   นางสาวกรองกานต์ ชะอุ่มพันธ์              จัดทาเอกสาร             http://www.xvlnw.com/
   นางสาว สุภาภรณ์ แถมศรี                   จัดทาเอกสาร

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

          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. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่าง
โปรแกรมภาษาซีเป็นอย่างไร
          ตอบ ปัจจุบัน โลกมีความก้าวหน้าด้านวิทยาศาสตร์และเทคโนโลยีมากขึ้น ทาให้ มีตัวเลือกในการ
ค้ น หาความรู้ ที่ หลากหลาย แล้ว แต่ว่ า มี นานุ ชมี ค วามต้ องการที่ จ ะค้ น หาโปรแกรมภาษาซี แบบใด ใน
https://sites.google.com/site/panussites/phasa-c-1 ที่มีการจัดระเบียบโปรแกรมภาษาซีเกี่ยวกับการคานวณ
แบบต่างๆไว้ เช่น ตัวอย่างโปรแกรมเปลี่ยนเลขฐาน 16 ดังนี้
                              #include<stdio.h>
                              #include<conio.h>
                     main()
                    {
                     unsigned int N;
                    printf("Enter N (Base 16) = : ");
                    scanf("%x",&N);
                    printf("N = %o (Base 8)n",N);
                    printf("N = %d (Base 10)n",N);
                    printf("N = %x (Base 16)n",N);
                    getch();
                    }
          4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใด
ของโครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย
          ตอบ                 #include<stdio.h> /*
                                                        ส่วนหัวของโปรแกรมของโปรแกรม
                              #include<conio.h>                                            */
                    main() // ฟังก์ชันหลัก
                    {/* เริ่มต้นการเขียนโปรแกรมด้วยเครื่องหมายปีกกาเปิด */
                    int N; //ประกาศตัวแปร
                    printf("Enter N (Base 16) = : "); /*ส่วนรายละเอียดของโปรแกรม
                    scanf("%x",&N);
                    printf("N = %o (Base 8)n",N);
                    printf("N = %d (Base 10)n",N);
                    printf("N = %x (Base 16)n",N);
                    getch(); */
} /*จบการเขียนโปรแกรมด้วยเครื่องหมายปีกกาปิด*/

Pbl2

  • 1.
    แบบบันทึกการศึกษาค้นคว้าและการแก้ปัญหา โจทย์ปัญหา PBL …2…. เรื่อง ..โครงสร้างของโปรแกรมภาษาซี.. รายวิชาการเขียนโปรแกรมภาษาซีเบื้องต้น ง30201 ระดับชั้นมัธยมศึกษาปีที่ 5 สมาชิกในกลุ่ม 1. นาย กนกศักดิ์ เรือนทอง เลขที่ 2 2. นางสาว กรองกานต์ ชะอุ่มพันธ์ เลขที่ 18 3. นางสาว สุภาภรณ์ แถมศรี เลขที่ 19 ภารกิจ 1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้อง แก้ปัญหานี้อย่างไร (1 คะแนน) 2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร (1 คะแนน) 3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรม ภาษาซีเป็นอย่างไร (1 คะแนน) 4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ โครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย (2 คะแนน)
  • 2.
    ตอนที่ 1 หัวข้อปัญหา ..โครงสร้างของโปรแกรมภาษาซี.. ทาความเข้าใจปัญหา ......ศึกษาข้อมูลตามที่สถานการณ์กาหนดให้ เพื่อใช้ตอบคาถามในภารกิจ....... - สิ่งที่ต้องการรู้ .. โครงสร้างของโปรแกรมภาษาซีมีอะไรบ้าง แต่ละส่วนมีลักษณะสาคัญอย่างไร โดยใช้คอมเมนต์ (Comment) ในการเขียนอธิบายโครงสร้างของโปรแกรม.. - วิธีการหาคาตอบ ...ค้นคว้าในอินเตอร์เน็ต ค้นหาจากหนังสือ สอบถามจากผู้รู้ คือคุณครูผู้สอน... การศึกษาค้นคว้า / แก้ปัญหา ชื่อสมาชิก การแบ่งหน้าที่ แหล่งข้อมูล/อ้างอิง นาย กนกศักดิ์ เรือนทอง ค้นหาข้อมูล http://www.lks.ac.th/kuanjit/ นางสาวกรองกานต์ ชะอุ่มพันธ์ จัดทาเอกสาร http://www.xvlnw.com/ นางสาว สุภาภรณ์ แถมศรี จัดทาเอกสาร ตอนที่ 2 สรุปผลการศึกษาค้นคว้า / แก้ปัญหาตามภารกิจ 1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้อง แก้ปัญหานี้อย่างไร ตอบ ปัญหาที่เกิ ดขึ้นอาจจะมีสาเหตุมาจากการที่มีนานุชไม่เข้าใจโครงสร้างโปรแกรม ภาษาซี และการใช้คอมเมนต์ในภาษาซี จะสามารถแก้ปัญหาได้โดยการศึกษาค้นคว้าจากอินเทอร์เน็ต การ สอบถามผู้รู้หรือครูผู้สอน และการค้นคว้าจากหนังสือที่เกี่ยวกับภาษาซีเพื่อความชัดเจนของข้อมูล 2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่ สาคัญอะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร ตอบ สิ่งที่มีนานุชควรรู้คือ โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็น 3 ส่วน คือ 1. ส่วนหัวของโปรแกรม ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทาการ ใด ๆ ก่อนการแปลผลโปรแกรมในที่นี่คาสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นาเฮดเดอร์ไฟล์ ที่ระบุคือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกาหนด preprocessing directives นี้จะต้อง ขึ้นต้นด้วยเครื่องหมาย # เสมอ คาสั่งที่ใช้ระบุให้คอมไพเลอร์นาเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ - #include < ชื่อเฮดเดอร์ไฟล์ > คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้ สาหรับเก็บเฮดเดอร์ไฟล์โดยเฉพาะ ( ปกติคือไดเรกทอรีชื่อ include)
  • 3.
    - #include “ชื่อเฮดเดอร์ไฟล์ ” คอมไพเลอร์จะทาการค้นหาเฮดเดอร์ไฟที่ระบุ จากไดเร็คทอรี เดียวกันกับไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บ เฮดเดอร์ไฟล์โดยเฉพาะ 2. ส่วนของฟังก์ชั่นหลัก ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main( ) ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า “ หลัก ” ดังนั้น การเขียนโปรแกรมภาษซีจึง ขาดฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกาหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทางาน ของฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟังก์ชั่น main( ) สามารถเขียนใน รูปแบบของ void main(void) ก็ได้มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มี อาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไปจากฟังก์ชั่นด้วย 3. ส่วนรายละเอียดของโปรแกรม เป็นส่วนของการเขียนคาสั่ง เพื่อให้โปรแกรมทางานตามที่ได้ออกแบบไว้ คอมเมนต์ในภาษาซี คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผู้เขียนโปรแกรมใส่ ข้อความอธิบายกากับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ในภาษาซีมี 2 แบบคือ „ คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย // มีวิธีการเขียนคือ ใช้เครื่องหมาย // นาหน้าข้อความ ที่เป็นหมายเหตุในบรรทัดนั้นๆ „ คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ * มีวิธีการเขียนคือใช้เครื่องหมาย /* และ */ คร่อมพื้นที่ที่เป็นหมายเหตุ
  • 4.
    3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่าง โปรแกรมภาษาซีเป็นอย่างไร ตอบ ปัจจุบัน โลกมีความก้าวหน้าด้านวิทยาศาสตร์และเทคโนโลยีมากขึ้น ทาให้ มีตัวเลือกในการ ค้ น หาความรู้ ที่ หลากหลาย แล้ว แต่ว่ า มี นานุ ชมี ค วามต้ องการที่ จ ะค้ น หาโปรแกรมภาษาซี แบบใด ใน https://sites.google.com/site/panussites/phasa-c-1 ที่มีการจัดระเบียบโปรแกรมภาษาซีเกี่ยวกับการคานวณ แบบต่างๆไว้ เช่น ตัวอย่างโปรแกรมเปลี่ยนเลขฐาน 16 ดังนี้ #include<stdio.h> #include<conio.h> main() { unsigned int N; printf("Enter N (Base 16) = : "); scanf("%x",&N); printf("N = %o (Base 8)n",N); printf("N = %d (Base 10)n",N); printf("N = %x (Base 16)n",N); getch(); } 4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใด ของโครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย ตอบ #include<stdio.h> /* ส่วนหัวของโปรแกรมของโปรแกรม #include<conio.h> */ main() // ฟังก์ชันหลัก {/* เริ่มต้นการเขียนโปรแกรมด้วยเครื่องหมายปีกกาเปิด */ int N; //ประกาศตัวแปร printf("Enter N (Base 16) = : "); /*ส่วนรายละเอียดของโปรแกรม scanf("%x",&N); printf("N = %o (Base 8)n",N); printf("N = %d (Base 10)n",N); printf("N = %x (Base 16)n",N); getch(); */
  • 5.