SlideShare a Scribd company logo
1 of 7
Download to read offline
ภารกิจ
 1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้องแก้ปัญหานี้
    อย่างไร (1 คะแนน)
2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ
    อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร        (1 คะแนน)
3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรม
    ภาษาซีเป็นอย่างไร (1 คะแนน)
4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ
    โครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย (2 คะแนน)
แบบบันทึกการศึกษาค้นคว้าและการแก้ปัญหา
                โจทย์ปัญหา PBL 2เรื่อง โครงสร้างการเขียนโปรแกรมภาษาซี
        รายวิชาการเขียนโปรแกรมภาษาซีเบื้องต้น ง30201 ระดับชั้นมัธยมศึกษาปีที่ 5

สมาชิกในกลุ่ม
   1. นางสาวดารารัตน์          วรสุทธิ์        เลขที่ 12
   2. นางสาวจิราพร             ยอดหอ           เลขที่ 14
   3. นางสาวกาญจนี             ชอบเสียง        เลขที่ 22

ตอนที่ 1
   หัวข้อปัญหา โครงสร้างการเขียนโปรแกรมภาษาซี
   ทาความเข้าใจปัญหา โครงสร้างของโปรแกรมภาษซีมีอะไรบ้าง และแต่ละส่วนมีลักษณะสาคัญอย่างไร
         - สิ่งที่ต้องการรู้
              1. โครงสร้างของโปรแกรมภาษซีมีอะไรบ้าง และแต่ละส่วนมีลักษณะสาคัญอย่างไร
              2.ถ้านักเรียนเป็นมีนานุช จะมีวิธีการแก้ไขปัญหาอย่างไร โดยใช้คอมเมนต์ ในการเขียนอธิบาย
              โครงสร้างของโปรแกรม
         - วิธีการหาคาตอบ
              1. ปรึกษากันในกลุ่ม แล้วแบ่งหน้าที่กันสืบค้นปัญหาต่างๆ
              2. สืบค้นข้อมูลเกี่ยวกับปัญหาต่างๆ แล้วนามาวิเคราะห์ข้อมูล
          การศึกษาค้นคว้า / แก้ปัญหา
          ชื่อสมาชิก             การแบ่ง                           แหล่งข้อมูล/อ้างอิง
                                   หน้าที่
   นางสาวดารารัตน์            สืบค้น          http://kruviewly.blogspot.com/p/1.html
   วรสุทธิ์                   ข้อมูล/สรุป
                              ข้อมูล
   นางสาวจิราพร               วิ เ ค ร า ะ ห์ http://www.thaiblogonline.com/poonime1.blog?PostID=223
   ยอดหอ                      ข้อมูล          34
   นางสาวกาญจนี               พิมพ์/สรุป -
   ชอบเสียง
ตอนที่ 2 สรุปผลการศึกษาค้นคว้า / แก้ปัญหาตามภารกิจ
   1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในข้างต้นมีสาเหตุมาจากการที่ไม่ทราบถึงโครงสร้าง
        ของโปรแกรมภาษซี มีนานุชจะต้องไปศึกษา ค้นคว้าเกี่ยวกับโปรแกรมภาซี

   2. โครงสร้างของโปรแกรมภาษาซี ประกอบด้วย

           1. Function Heading
              ประกอบด้วยชื่อฟังก์ชัน และอาจมีรายการของ argument (บางคนเรียก parameter) อยู่ใน
              วงเล็บ
           2. Variable Declaration
              ส่วนประกาศตัวแปร สาหรับภาษาซี ตัวแปรหรือค่าคงที่ทุกตัว ที่ใช้ในโปรแกรมจะต้องมี
              การประกาศก่อนว่าจะใช้งานอย่างไร จะเก็บค่าในรูปแบบใดเช่น interger หรือ real
              number
           3. Compound Statements
              ส่วนของประโยคคาสั่งต่างๆ ซึ่งแบ่งเป็นประโยคเชิงซ้อน (compound statement) กับ
              ประโยคนิพจน์ (expression statment) โดยประโยคเชิงซ้อนจะอยู่ภายในวงเล็บปีกกาคู่หนึ่ง
              { และ } โดยในหนึ่งประโยคเชิงซ้อน จะมีประโยคนิพจน์ที่แยกจากกันด้วยเครื่องหมาย
              semicolon (;) หลายๆ ประโยครวมกัน และ อาจมีวงเล็บปีกกาใส่ประโยคเชิงซ้อนย่อยเข้า
              ไปอีกได้ ซึ่งจะได้เห็นต่อไป และวิธีการเขียนคอมเมนต์ในภาษาซีมี 2 แบบคือ

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

               • คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */ จะเห็นว่าในกรณีที่ต้องการใส่คอม
       เมนต์หลาย ๆ บรรทัดติดกันนั้น คอมเมนต์แบบหลายบรรทัดจะช่วยประหยัดเวลาในการใส่คอม
       เมนต์ได้มากกว่าการใช้คอมเมนต์แบบบรรทัดเดียว แต่ ก็ควรระมัดระวังในการใช้งานด้วย

        โปรแกรมนี้เมื่อทางาน (เลือกเมนู Run > Run หรือกด < Ctrl + F9>) ดูผลลัพธ์ จะปรากฏคาว่า
LampangKanlayanee School ออกทางจอภาพ จะเห็นได้ว่าในฟังก์ชั่นหลักมีการเรียกใช้ฟังก์ชั่น printf( ) จะ
ทาหน้าที่พิมพ์ข้อความหรือสตริง ( String) ที่อยู่ในเครื่องหมายคาพูดออกมาทางหน้าจอ และจบฟังก์ชั่นด้วย
เครื่องหมายเซมิโคลอน ( ; ) โดยจะเก็บฟังก์ชั่นนี้ไว้ใน stdio ( ย่อมาจาก standard input output)
3.มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์
http://www.thaiblogonline.com/poonime1.blog?PostID=2233 และมีรายละเอียดในการเขียนโปรแกรมภาษ
ซี ดังนี้

โปรแกรมที่ 1: Hello
#include <stdio.h>
main()
{
  printf(" Hello. This is my first program. n") ;    /* This is a comment */
  return 0 ;
}

บรรทัดแรกนั้นเราเรียก Compiler Directives คือเป็นคาสั่งที่บอก compiler ว่ามีไฟล์อะไรที่จาเป็นต่อการ
compile บ้าง ซึ่งในที่นี้ เราต้องการไฟล์ที่ชื่อ "stdio.h" ซึ่งทาหน้าที่เรียกใช้งาน Standard I/O Library ซึ่ง
ฟังก์ชันที่เราเรียกใช้งานในโปรแกรมข้างบนคือ printf นั่นเอง
บรรทัดต่อมาบอกว่าโปรแกรมนี้มีฟังก์ชัน main โดยไม่ต้องการ argument ใดๆ โดย compound statement
ถูกบรรจุในวงเล็บปีกกา { ...... }
บรรทัดต่อมามีการเรียกใช้ฟังก์ชัน printf จาก Standard I/O Library โดย argument ของฟังก์ชันนี้ก็คือ
ประโยค " Hello. This is my first program." นักศึกษาสังเกตว่ามีชุดอักขระ n ซึ่งเป็นชุดอักขระพิเศษ
หมายถึงการขึ้นบรรทัดใหม่
นี่คือชุดอักขระพิเศษต่างๆ และ ความหมาย
             a                    bell
             b                    back space
             t                    horizontal tab
             v                    vertical tab
             n                    new line
             f                    form feed
             r                    carriage return
             "                    quotation mark ( " )
             '                    apostrophe ( ' )
             ?                    question mark ( ? )
                                 back slash (  )
0                   null
นักศึกษาสามารถใส่ comment ในโปรแกรมเพื่ออธิบายสิ่งที่ทาได้ โดย comment จะต้องอยู่ระหว่าง * และ
* เสมอ
บรรทัดเกือบสุดท้ายมีคาสั่ง return 0 ซึ่งบอกว่าฟังก์ชันมีการส่งค่ากลับ โดยค่า 0 ที่ส่งกลับไปบอกว่า
ฟังก์ชัน main ได้ทางานสมบูรณ์แล้ว
โปรแกรมที่ 2
#include <stdio.h>
main ()
{
          int      width , length ;             /* Declaration of Variables */
          int      area ;

          width = 10 ;
          length = 5 ;                                   /* Expression Statements */
          area = width * length ;

          printf ("A rectangular having width = %d and length = %d has area = %d n", width, length,
area) ;
          return 0
}

สิ่งที่เพิ่มขึ้นมาในโปรแกรมนี้คือ มีการใช้ตัวแปร จึงต้องมีการประกาศตัวแปรด้วย ซึ่งตัวแปรทั้งหมด เราใช้
แบบเลขจานวนเต็ม หรือ แบบ integer (จะกล่าวถึงหลักการในการตั้งชื่อต่อไป)นอกจากนั้นในฟังก์ชัน
printf ยังมี argument เพิ่มขึ้นคือ มีการพิมพ์ค่าของตัวแปร width length และ area ด้วย เราจึงต้องระบุ Format
ของการพิมพ์ตัวแปรดังกล่าว ในทีนี้เราระบุให้เป็นเลขฐานสิบ หรือ Decimal เราจึงใช้ %d ในการระบุ
Format ของสิ่งที่จะพิมพ์ออกมา

โปรแกรมที่ 3
#include <stdio.h>
main()
{
          float    width , length ;
float      area ;

          printf("Please enter width: ") ;
          scanf("%f", &width) ;
          printf("Please enter length: ") ;
          scanf("%f", &length) ;

          area = width * length ;

          printf ("A rectangular having width = %d and length = %d has area = %d n", width, length,
area) ;
          return 0
}

ในโปรแกรมที่ 3 เราเปลี่ยนการใช้ตัวแปรจาก integer ไปเป็นแบบ floating point เพื่อให้ตัวแปรสามารถ
บรรจุ เลขทศนิยมได้ โปรแกรมนี้มีความสามารถมากขึ้น คือสามารถรับข้อมูลเข้าจากผู้ใช้ได้ด้วยการใช้
ฟังก์ชัน scanf โดยต้องกาหนด Format ของสิ่งที่จะรับใน argument โดยใส่ในเครื่องหมายคาพูด และ ตัว
แปรที่จะใช้เก็บค่าต้องขึ้นต้นด้วยเครื่องหมาย &
การกาหนด Format สาหรับข้อมูล เราต้องระมัดระวัง ต้องกาหนดให้ตรงกับประเภทของข้อมูลด้วย %d นั้น
ใช้สาหรับ เลขจานวนเต็ม และ %f ใช้สาหรับ floating point จะเกิดอะไรขึ้นถ้านักศึกษาละเลยจุดนี้ไป
โปรแกรมที่ 4 การกาหนด Format ข้อมูลผิดประเภท
#include <stdio.h>
main()
{
          int      i;

          printf("The number is %f n",i) ; /* Using %f with integer */
          return 0
}
4.อธิบายโปรแกรม
#include <stdio.h> / / ส่วนหัว
main () / / ส่วนฟังก์ชันหลัก
{ /* เริ่มต้นการขียนโปรแกรมปีกกาเปิด
           int         width , length,area ;          /* รายละเอียดโปรแกรม
          width = 10 ;
           length = 5 ;
           area = width * length ;
            printf ("A rectangular having width = %d and length = %d has area = %d n", width, length,
area) ;
           return 0                                            */
}       จบการเขียนโปรแกรมปีกการปิด */

เกณฑ์การให้คะแนน
               คะแนนรวมได้ระหว่าง              5        คะแนน      หมายถึง          ดีมาก
               คะแนนรวมได้ระหว่าง             3-4       คะแนน      หมายถึง          ดี
               คะแนนรวมได้ระหว่าง             1-2       คะแนน      หมายถึง          ปานกลาง
               คะแนนรวมได้ระหว่าง              0        คะแนน      หมายถึง          ควรปรับปรุง

More Related Content

What's hot

บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Thank Chiro
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
C Programming
C ProgrammingC Programming
C ProgrammingWarawut
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)Visaitus Palasak
 

What's hot (17)

C slide
C slideC slide
C slide
 
Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
Intro c
Intro cIntro c
Intro c
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 
โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
งาน
งานงาน
งาน
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
C Programming
C ProgrammingC Programming
C Programming
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
content 3
content 3content 3
content 3
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
 

Viewers also liked

โจทย์ปัญหา Pbl 1
โจทย์ปัญหา Pbl 1โจทย์ปัญหา Pbl 1
โจทย์ปัญหา Pbl 1Jaruwank
 
โจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ตโจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ตnattapon Arsapanom
 
โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2siriyaporn20099
 
โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2Jaruwank
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นDararat Worasut
 
โจทย์ปัญหา Pbl 4
โจทย์ปัญหา Pbl 4โจทย์ปัญหา Pbl 4
โจทย์ปัญหา Pbl 4anusong
 
โจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ตโจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ตnattapon Arsapanom
 
โจทย์ปัญหา Pbl 8.1เรื่อง การรับข้อมู]ทางคีย์บอร์ด
โจทย์ปัญหา Pbl 8.1เรื่อง  การรับข้อมู]ทางคีย์บอร์ดโจทย์ปัญหา Pbl 8.1เรื่อง  การรับข้อมู]ทางคีย์บอร์ด
โจทย์ปัญหา Pbl 8.1เรื่อง การรับข้อมู]ทางคีย์บอร์ดnattapon Arsapanom
 

Viewers also liked (20)

P bl1
P bl1P bl1
P bl1
 
โจทย์ปัญหา Pbl 1
โจทย์ปัญหา Pbl 1โจทย์ปัญหา Pbl 1
โจทย์ปัญหา Pbl 1
 
PBL2
PBL2PBL2
PBL2
 
งาน Pbl 1
งาน Pbl 1งาน Pbl 1
งาน Pbl 1
 
Pbl4.1
Pbl4.1Pbl4.1
Pbl4.1
 
Pbl4
Pbl4Pbl4
Pbl4
 
โจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ตโจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.2 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
 
งาน Pbl4.1
งาน Pbl4.1งาน Pbl4.1
งาน Pbl4.1
 
โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2
 
Pbl4.1
Pbl4.1Pbl4.1
Pbl4.1
 
งานPbl 2
งานPbl 2งานPbl 2
งานPbl 2
 
Pbl4.1
Pbl4.1 Pbl4.1
Pbl4.1
 
โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2โจทย์ปัญหา Pbl 2
โจทย์ปัญหา Pbl 2
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้น
 
โจทย์ปัญหา Pbl 4
โจทย์ปัญหา Pbl 4โจทย์ปัญหา Pbl 4
โจทย์ปัญหา Pbl 4
 
โจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ตโจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
โจทย์ปัญหา Pbl 4.1 เรื่อง การเขียนอัลกอริทึมแบบโฟลวชาร์ต
 
Pbl 3
Pbl 3Pbl 3
Pbl 3
 
โจทย์ปัญหา Pbl 8.1เรื่อง การรับข้อมู]ทางคีย์บอร์ด
โจทย์ปัญหา Pbl 8.1เรื่อง  การรับข้อมู]ทางคีย์บอร์ดโจทย์ปัญหา Pbl 8.1เรื่อง  การรับข้อมู]ทางคีย์บอร์ด
โจทย์ปัญหา Pbl 8.1เรื่อง การรับข้อมู]ทางคีย์บอร์ด
 
Pbl2
Pbl2Pbl2
Pbl2
 
Pbl4.1
Pbl4.1Pbl4.1
Pbl4.1
 

Similar to Pbl2 docx

1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม
โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม
โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม nattapon Arsapanom
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาwinewic199
 
โจทย์ปัญหา Pbl 7.2เรื่อง การแสดงผลออกทางหน้าจอ
โจทย์ปัญหา Pbl 7.2เรื่อง  การแสดงผลออกทางหน้าจอโจทย์ปัญหา Pbl 7.2เรื่อง  การแสดงผลออกทางหน้าจอ
โจทย์ปัญหา Pbl 7.2เรื่อง การแสดงผลออกทางหน้าจอnattapon Arsapanom
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซีPatipat04
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2winewic199
 
ภาษา C
ภาษา Cภาษา C
ภาษา C0872671746
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2winewic199
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานKanchana Theugcharoon
 

Similar to Pbl2 docx (20)

ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 
Pbl 2
Pbl 2Pbl 2
Pbl 2
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
Pbl 3
Pbl 3Pbl 3
Pbl 3
 
โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม
โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม
โจทย์ปัญหา PBL 3 เรื่อง ขั้นตอนการพัฒนาโปรแกรม
 
Pbl2
Pbl2Pbl2
Pbl2
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญา
 
โจทย์ปัญหา Pbl 7.2เรื่อง การแสดงผลออกทางหน้าจอ
โจทย์ปัญหา Pbl 7.2เรื่อง  การแสดงผลออกทางหน้าจอโจทย์ปัญหา Pbl 7.2เรื่อง  การแสดงผลออกทางหน้าจอ
โจทย์ปัญหา Pbl 7.2เรื่อง การแสดงผลออกทางหน้าจอ
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซี
 
Chapter 02 Flowchart
Chapter 02 FlowchartChapter 02 Flowchart
Chapter 02 Flowchart
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
 
Java 7&12 6 2
Java 7&12 6 2Java 7&12 6 2
Java 7&12 6 2
 
Chapter1
Chapter1Chapter1
Chapter1
 
Pbl7.2
Pbl7.2Pbl7.2
Pbl7.2
 
11
1111
11
 
Learn 2
Learn 2Learn 2
Learn 2
 
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
โครงสร้างการเขียนโปรแกรมภาษาไพธอนโครงสร้างการเขียนโปรแกรมภาษาไพธอน
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 

More from Dararat Worasut

More from Dararat Worasut (8)

Pbl 7.2
Pbl 7.2Pbl 7.2
Pbl 7.2
 
Pbl6
Pbl6Pbl6
Pbl6
 
Pbl5
Pbl5Pbl5
Pbl5
 
4.2
4.24.2
4.2
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
ใบงานPbl1.2
ใบงานPbl1.2ใบงานPbl1.2
ใบงานPbl1.2
 
โจทย์ปัญญา Pbl1
โจทย์ปัญญา Pbl1โจทย์ปัญญา Pbl1
โจทย์ปัญญา Pbl1
 
โจทย์ปัญญา Pbl
โจทย์ปัญญา Pblโจทย์ปัญญา Pbl
โจทย์ปัญญา Pbl
 

Pbl2 docx

  • 1. ภารกิจ 1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในขณะนี้มีสาเหตุมาจากสิ่งใด มีนานุชจะต้องแก้ปัญหานี้ อย่างไร (1 คะแนน) 2. จากสถานการณ์นี้ สิ่งที่มีนานุชควรรู้เกี่ยวกับโครงสร้างของโปรแกรมภาษาซี มีองค์ประกอบที่สาคัญ อะไรบ้าง และวิธีการเขียนคอมเมนต์ (Comment) มีกี่ประเภท มีวิธีเขียนอย่างไร (1 คะแนน) 3. มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ใด และมีรายละเอียดของตัวอย่างโปรแกรม ภาษาซีเป็นอย่างไร (1 คะแนน) 4. นักเรียนช่วยอธิบายโปรแกรมทีละบรรทัดด้วยว่า โปรแกรมที่สืบค้นมานั้นเป็นส่วนประกอบใดของ โครงสร้างภาษาซี โดยใช้คอมเมนต์ (Comment) ในการเขียนคาอธิบาย (2 คะแนน)
  • 2. แบบบันทึกการศึกษาค้นคว้าและการแก้ปัญหา โจทย์ปัญหา PBL 2เรื่อง โครงสร้างการเขียนโปรแกรมภาษาซี รายวิชาการเขียนโปรแกรมภาษาซีเบื้องต้น ง30201 ระดับชั้นมัธยมศึกษาปีที่ 5 สมาชิกในกลุ่ม 1. นางสาวดารารัตน์ วรสุทธิ์ เลขที่ 12 2. นางสาวจิราพร ยอดหอ เลขที่ 14 3. นางสาวกาญจนี ชอบเสียง เลขที่ 22 ตอนที่ 1 หัวข้อปัญหา โครงสร้างการเขียนโปรแกรมภาษาซี ทาความเข้าใจปัญหา โครงสร้างของโปรแกรมภาษซีมีอะไรบ้าง และแต่ละส่วนมีลักษณะสาคัญอย่างไร - สิ่งที่ต้องการรู้ 1. โครงสร้างของโปรแกรมภาษซีมีอะไรบ้าง และแต่ละส่วนมีลักษณะสาคัญอย่างไร 2.ถ้านักเรียนเป็นมีนานุช จะมีวิธีการแก้ไขปัญหาอย่างไร โดยใช้คอมเมนต์ ในการเขียนอธิบาย โครงสร้างของโปรแกรม - วิธีการหาคาตอบ 1. ปรึกษากันในกลุ่ม แล้วแบ่งหน้าที่กันสืบค้นปัญหาต่างๆ 2. สืบค้นข้อมูลเกี่ยวกับปัญหาต่างๆ แล้วนามาวิเคราะห์ข้อมูล การศึกษาค้นคว้า / แก้ปัญหา ชื่อสมาชิก การแบ่ง แหล่งข้อมูล/อ้างอิง หน้าที่ นางสาวดารารัตน์ สืบค้น http://kruviewly.blogspot.com/p/1.html วรสุทธิ์ ข้อมูล/สรุป ข้อมูล นางสาวจิราพร วิ เ ค ร า ะ ห์ http://www.thaiblogonline.com/poonime1.blog?PostID=223 ยอดหอ ข้อมูล 34 นางสาวกาญจนี พิมพ์/สรุป - ชอบเสียง
  • 3. ตอนที่ 2 สรุปผลการศึกษาค้นคว้า / แก้ปัญหาตามภารกิจ 1. จากสถานการณ์ปัญหาที่มีนานุชและเพื่อนพบในข้างต้นมีสาเหตุมาจากการที่ไม่ทราบถึงโครงสร้าง ของโปรแกรมภาษซี มีนานุชจะต้องไปศึกษา ค้นคว้าเกี่ยวกับโปรแกรมภาซี 2. โครงสร้างของโปรแกรมภาษาซี ประกอบด้วย 1. Function Heading ประกอบด้วยชื่อฟังก์ชัน และอาจมีรายการของ argument (บางคนเรียก parameter) อยู่ใน วงเล็บ 2. Variable Declaration ส่วนประกาศตัวแปร สาหรับภาษาซี ตัวแปรหรือค่าคงที่ทุกตัว ที่ใช้ในโปรแกรมจะต้องมี การประกาศก่อนว่าจะใช้งานอย่างไร จะเก็บค่าในรูปแบบใดเช่น interger หรือ real number 3. Compound Statements ส่วนของประโยคคาสั่งต่างๆ ซึ่งแบ่งเป็นประโยคเชิงซ้อน (compound statement) กับ ประโยคนิพจน์ (expression statment) โดยประโยคเชิงซ้อนจะอยู่ภายในวงเล็บปีกกาคู่หนึ่ง { และ } โดยในหนึ่งประโยคเชิงซ้อน จะมีประโยคนิพจน์ที่แยกจากกันด้วยเครื่องหมาย semicolon (;) หลายๆ ประโยครวมกัน และ อาจมีวงเล็บปีกกาใส่ประโยคเชิงซ้อนย่อยเข้า ไปอีกได้ ซึ่งจะได้เห็นต่อไป และวิธีการเขียนคอมเมนต์ในภาษาซีมี 2 แบบคือ • คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย // • คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */ จะเห็นว่าในกรณีที่ต้องการใส่คอม เมนต์หลาย ๆ บรรทัดติดกันนั้น คอมเมนต์แบบหลายบรรทัดจะช่วยประหยัดเวลาในการใส่คอม เมนต์ได้มากกว่าการใช้คอมเมนต์แบบบรรทัดเดียว แต่ ก็ควรระมัดระวังในการใช้งานด้วย โปรแกรมนี้เมื่อทางาน (เลือกเมนู Run > Run หรือกด < Ctrl + F9>) ดูผลลัพธ์ จะปรากฏคาว่า LampangKanlayanee School ออกทางจอภาพ จะเห็นได้ว่าในฟังก์ชั่นหลักมีการเรียกใช้ฟังก์ชั่น printf( ) จะ ทาหน้าที่พิมพ์ข้อความหรือสตริง ( String) ที่อยู่ในเครื่องหมายคาพูดออกมาทางหน้าจอ และจบฟังก์ชั่นด้วย เครื่องหมายเซมิโคลอน ( ; ) โดยจะเก็บฟังก์ชั่นนี้ไว้ใน stdio ( ย่อมาจาก standard input output)
  • 4. 3.มีนานุชควรสืบค้นตัวอย่างโปรแกรมภาษาซีจากเว็บไซต์ http://www.thaiblogonline.com/poonime1.blog?PostID=2233 และมีรายละเอียดในการเขียนโปรแกรมภาษ ซี ดังนี้ โปรแกรมที่ 1: Hello #include <stdio.h> main() { printf(" Hello. This is my first program. n") ; /* This is a comment */ return 0 ; } บรรทัดแรกนั้นเราเรียก Compiler Directives คือเป็นคาสั่งที่บอก compiler ว่ามีไฟล์อะไรที่จาเป็นต่อการ compile บ้าง ซึ่งในที่นี้ เราต้องการไฟล์ที่ชื่อ "stdio.h" ซึ่งทาหน้าที่เรียกใช้งาน Standard I/O Library ซึ่ง ฟังก์ชันที่เราเรียกใช้งานในโปรแกรมข้างบนคือ printf นั่นเอง บรรทัดต่อมาบอกว่าโปรแกรมนี้มีฟังก์ชัน main โดยไม่ต้องการ argument ใดๆ โดย compound statement ถูกบรรจุในวงเล็บปีกกา { ...... } บรรทัดต่อมามีการเรียกใช้ฟังก์ชัน printf จาก Standard I/O Library โดย argument ของฟังก์ชันนี้ก็คือ ประโยค " Hello. This is my first program." นักศึกษาสังเกตว่ามีชุดอักขระ n ซึ่งเป็นชุดอักขระพิเศษ หมายถึงการขึ้นบรรทัดใหม่ นี่คือชุดอักขระพิเศษต่างๆ และ ความหมาย a bell b back space t horizontal tab v vertical tab n new line f form feed r carriage return " quotation mark ( " ) ' apostrophe ( ' ) ? question mark ( ? ) back slash ( )
  • 5. 0 null นักศึกษาสามารถใส่ comment ในโปรแกรมเพื่ออธิบายสิ่งที่ทาได้ โดย comment จะต้องอยู่ระหว่าง * และ * เสมอ บรรทัดเกือบสุดท้ายมีคาสั่ง return 0 ซึ่งบอกว่าฟังก์ชันมีการส่งค่ากลับ โดยค่า 0 ที่ส่งกลับไปบอกว่า ฟังก์ชัน main ได้ทางานสมบูรณ์แล้ว โปรแกรมที่ 2 #include <stdio.h> main () { int width , length ; /* Declaration of Variables */ int area ; width = 10 ; length = 5 ; /* Expression Statements */ area = width * length ; printf ("A rectangular having width = %d and length = %d has area = %d n", width, length, area) ; return 0 } สิ่งที่เพิ่มขึ้นมาในโปรแกรมนี้คือ มีการใช้ตัวแปร จึงต้องมีการประกาศตัวแปรด้วย ซึ่งตัวแปรทั้งหมด เราใช้ แบบเลขจานวนเต็ม หรือ แบบ integer (จะกล่าวถึงหลักการในการตั้งชื่อต่อไป)นอกจากนั้นในฟังก์ชัน printf ยังมี argument เพิ่มขึ้นคือ มีการพิมพ์ค่าของตัวแปร width length และ area ด้วย เราจึงต้องระบุ Format ของการพิมพ์ตัวแปรดังกล่าว ในทีนี้เราระบุให้เป็นเลขฐานสิบ หรือ Decimal เราจึงใช้ %d ในการระบุ Format ของสิ่งที่จะพิมพ์ออกมา โปรแกรมที่ 3 #include <stdio.h> main() { float width , length ;
  • 6. float area ; printf("Please enter width: ") ; scanf("%f", &width) ; printf("Please enter length: ") ; scanf("%f", &length) ; area = width * length ; printf ("A rectangular having width = %d and length = %d has area = %d n", width, length, area) ; return 0 } ในโปรแกรมที่ 3 เราเปลี่ยนการใช้ตัวแปรจาก integer ไปเป็นแบบ floating point เพื่อให้ตัวแปรสามารถ บรรจุ เลขทศนิยมได้ โปรแกรมนี้มีความสามารถมากขึ้น คือสามารถรับข้อมูลเข้าจากผู้ใช้ได้ด้วยการใช้ ฟังก์ชัน scanf โดยต้องกาหนด Format ของสิ่งที่จะรับใน argument โดยใส่ในเครื่องหมายคาพูด และ ตัว แปรที่จะใช้เก็บค่าต้องขึ้นต้นด้วยเครื่องหมาย & การกาหนด Format สาหรับข้อมูล เราต้องระมัดระวัง ต้องกาหนดให้ตรงกับประเภทของข้อมูลด้วย %d นั้น ใช้สาหรับ เลขจานวนเต็ม และ %f ใช้สาหรับ floating point จะเกิดอะไรขึ้นถ้านักศึกษาละเลยจุดนี้ไป โปรแกรมที่ 4 การกาหนด Format ข้อมูลผิดประเภท #include <stdio.h> main() { int i; printf("The number is %f n",i) ; /* Using %f with integer */ return 0 } 4.อธิบายโปรแกรม
  • 7. #include <stdio.h> / / ส่วนหัว main () / / ส่วนฟังก์ชันหลัก { /* เริ่มต้นการขียนโปรแกรมปีกกาเปิด int width , length,area ; /* รายละเอียดโปรแกรม width = 10 ; length = 5 ; area = width * length ; printf ("A rectangular having width = %d and length = %d has area = %d n", width, length, area) ; return 0 */ } จบการเขียนโปรแกรมปีกการปิด */ เกณฑ์การให้คะแนน คะแนนรวมได้ระหว่าง 5 คะแนน หมายถึง ดีมาก คะแนนรวมได้ระหว่าง 3-4 คะแนน หมายถึง ดี คะแนนรวมได้ระหว่าง 1-2 คะแนน หมายถึง ปานกลาง คะแนนรวมได้ระหว่าง 0 คะแนน หมายถึง ควรปรับปรุง