แบบบันทึกการศึกษาคนควาและการแกปญหา
                   โจทยปญหา 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 คะแนน)
  • 2.
    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 นี้จะตอง ขึ้นตนดวยเครื่องหมาย # เสมอ
  • 3.
    คําสั่งที่ใชระบุใหคอมไพเลอรนําเฮดเดอรไฟลเขารวมในการแปลโปรแกรม สามารถเขียนได 2 รูปแบบคือ - #include < ชื่อเฮดเดอรไฟล > คอมไพเลอรจะทําการคนหาเฮดเดอรไฟลที่ระบุจากไดเรกทอรีที่ใช สําหรับเก็บเฮดเดอรไฟลโดยเฉพาะ ( ปกติคือไดเรกทอรีชื่อ include) - #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);
  • 5.
    printf("N = %o(Base 8)n",N); printf("N = %d (Base 10)n",N); printf("N = %x (Base 16)n",N); getch(); */ } /*จบการเขียนโปรแกรมดวยเครื่องหมายปกกาปด*/