ก่อนเฉลย...  กรุณาอ่านแบบฝึกหัดเพิ่มเติมก่อน

ประกาศจากเว็บไซด์วิทยาการคอมพิวเตอร์ สำหรับโรงเรียนตากพิทยาคม  http://tps.comsci.info   )

วันที่ 2 มกราคม 2552  เวลา  15.04

 

แบบฝึกหัดของโรงเรียนตากพิทยาคม

  - 02/01/2552 แบบฝึกหัดเพิ่มเติมที่ 2 จงหาพื้นที่สามเหลี่ยมมุมฉากพร้อมทั้งวิเคราะห์ผลลัพธ์หลักหน่วยว่า

        เป็นจำนวนคู่หรือจำนวนคี่   (แบบฝึกหัดระดับพื้นฐาน เฉลยวันที่ 5 มกราคม 2552)

  - 02/01/2552 แบบฝึกหัดเพิ่มเติมที่ 3 จงวิเคราะห์หาค่า pH ของสารละลายเต่างๆ ทางเคมี พร้อมทั้งทำให้ผลลัพธ์

        เป็นค่าสัมบูรณ์หรือ absolute value เท่านั้น (แบบฝึกหัดระดับมัธยมศึกษา เฉลยภายในเดือนกุมภาพันธ์ 2552)

            หมายเหตุ แนวข้อสอบกลางภาคมาจากแบบฝึกหัดระดับพื้นฐาน และแนวข้อสอบปลายภาคมาจาก                                          แบบฝึกหัดระดับมัธยมศึกษา

 

แนวข้อสอบปลายภาค

            - 02/01/2552 เฉลยข้อสอบภาคปฏิบัติปลายภาค ปีการศึกษา 2550 (เฉลยภายในเดือนกุมภาพันธ์ ปี 2552)

 

แนวข้อสอบ O-Net ของวิชาการเขียนโปรแกรม 1 - 2   เพื่อเตรียมสอบเข้ามหาวิทยาลัย

            - 02/01/2552 อยู่ระหว่างการเตรียมข้อมูล..

 

รวบรวมแบบฝึกหัดระดับมัธยมศึกษาจากโรงเรียนต่างๆ ทั่วประเทศไทย

             - 02/01/2552 จงคำนวณค่าแรงของของพนักงานคนหนึ่งในโรงงานแห่งหนึ่ง

          โดยค่าแรงได้จากอัตราค่าแรง คูณด้วยชั่วโมง และหักภาษี 10% ได้ค่าแรงสุทธิ

          (แบบฝึกหัดจากโรงเรียนสามัคคีวิทยาคม จังหวัดเชียงราย เฉลยเฉพาะวิเคราะห์ปัญหาและอัลกอริทึ่ม

วันที่ 4 มกราคม 2552)

 

            -  02/01/2552 จงวิเคราะห์ปัญหา เขียนผังงาน และเขียนโปรแกรม ในการคำนวณค่าตอบแทนในการ

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

            Pay for programming

            Hour = ……..

            Rate = ……..

            Tax = …….

            Total pay = …………..

            (ที่มา URL : http://www.samakkhi.ac.th/Vcp/vcp/n11/freetest11.doc )

            (แบบฝึกหัดจากโรงเรียนสามัคคีวิทยาคม จังหวัดเชียงราย เฉลยภายในเดือนกุมภาพันธ์ ปีพ.ศ. 2552)

เฉลยแบบฝึกหัดภาคทฤษฎีก่อนสอบกลางภาค

วิชาการเขียนโปรแกรม 2   ภาคเรียนที่ 2    ปีการศึกษา 2551       โรงเรียนตากพิทยาคม

(เฉลยวันที่  1  มกราคม  2551   เวลา  21.20 น.      จัดทำโดยครูวัชระ  วงษ์ดี

อ้างอิงจากเว็บไซด์วิทยาการคอมพิวเตอร์ สำหรับโรงเรียนตากพิทยาคม  http://tps.comsci.info   )

 

จุดประสงค์ที่   1   มีความรู้ทั่วไปเกี่ยวกับการสร้างและพัฒนาโปรแกรมประยุกต์ 

1.   องค์ประกอบของระบบคอมพิวเตอร์  มีอะไรบ้าง

                1.1  ฮาร์ดแวร์ ( Hardware )               1.2   ซอฟแวร์  (Software)

                1.3  บุคลากร ( Peopleware )             1.4   ข้อมูลและสารสนเทศ  ( Data and Information )

                1.5  กระบวนการทำงาน ( Procedure )          

2.  จากองค์ประกอบของระบบคอมพิวเตอร์ เรื่อง ซอฟแวร์   มีองค์ประกอบย่อยอะไรบ้าง  พร้อมยกตัวอย่างโปรแกรมด้วย

                2.1  ซอฟต์แวร์ระบบ ( System Software )

                                2.1.1  โปรแกรมระบบปฏิบัติการ ( OS : Operating System )   เช่น   Windows , Unix , Linux ,   Mac OS ,  Symbian  เป็นต้น

                                2.1.2  ตัวแปลภาษา (Translator)  เช่น   โปรแกรมแปลภาษาซี , Java , Pascal ,  Visual  Basic  เป็นต้น

                                2.1.3 ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์(Utility Program) เช่น  Scandisk , Scan virus , Winzip เป็นต้น

                                2.1.4  ติดตั้งและปรับปรุงระบบ (Diagonostic Program)  เช่น  Setup Microsoft Office ,  Driver Printer ฯลฯ

                2.2  ซอฟต์แวร์ประยุกต์ (Application Software)

                                2.2.1  ซอฟต์แวร์สำหรับงานเฉพาะด้าน        (Special Purpose Software)   

                                2.2.2  ซอฟต์แวร์สำหรับงานทั่วไป  (General Purpose Software)            

                ( ศึกษาจากใบความรู้บทที่ 1   องค์ประกอบของระบบคอมพิวเตอร์  ของภาคเรียนที่ 1)

3.   ซอฟต์แวร์สำหรับงานเฉพาะด้านแตกต่างจากซอฟต์แวร์สำหรับงานทั่วไปอย่างไร

ลำดับที่

คุณสมบัติของซอฟต์แวร์

ซอฟต์แวร์สำหรับ

งานเฉพาะด้าน

 

ซอฟต์แวร์สำหรับงานทั่วไป

0.

เขียนขึ้นเพื่อการทำงานเฉพาะอย่าง

P

û

1.

ประหยัดเวลา แรงงาน และค่าใช้จ่ายในการเขียนโปรแกรม

û

P

2.

ตรงกับความต้องการของผู้ใช้ทุกประการ

P

û

3.

การดัดแปลงแก้ไขเพิ่มเติม (Modifications)

P

û

4.

ต้องการบุคลากรที่มีความชำนาญเป็นพิเศษในการเขียนโปรแกรม

P

û

5.

เพื่อใช้ในการทำงานประเภทต่างๆ ทั่วไป โดยผู้ใช้คนอื่นๆ

สามารถนำโปรแกรมนี้ไปประยุกต์ใช้กับข้อมูลของตน

û

P

 

4.   จงยกตัวอย่างซอฟต์แวร์สำหรับงานเฉพาะด้านและซอฟต์แวร์สำหรับงานทั่วไป   มา  3   ตัวอย่าง

      โดยห้ามซ้ำกับเอกสารใบความรู้บทที่ 1  องค์ประกอบของระบบคอมพิวเตอร์  ของภาคเรียนที่ 1  และภาคเรียนที่ 2 ด้วย

ลำดับที่

 

ซอฟต์แวร์สำหรับงานเฉพาะด้าน

 

ซอฟต์แวร์สำหรับงานทั่วไป

0

โปรแกรมระบบเช่าซื้อ

Microsoft Office เช่น Word Excel ฯลฯ

1.

โปรแกรมวินิจฉัยโรคไข้หวัดใหญ่

Adobe Flash

2.

โปรแกรมแสดงผลการเรียน ของ ร.ร. ตากพิทยาคม

Macromedia  Authorware

3.

โปรแกรมจัดเก็บภาษีที่ดิน สำหรับองค์การปกครองส่วนท้องถิ่น

โปรแกรมฝึกพิมพ์ภาษาไทยสำเร็จรูป

5.  จงอธิบายความหมายของคำว่า   “ การเขียนโปรแกรมคอมพิวเตอร์โดยใช้โปรแกรมแปลภาษาซี ”  ดังต่อไปนี้

                ( ศึกษาจากใบความรู้บทที่2 เรื่อง  ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์  ของภาคเรียนที่ 1)

                ถ้าต้องการทราบเฉลย...

ให้นักเรียนสามารถดูเฉลยได้ที่เว็บไซด์วิทยาการคอมพิวเตอร์  สำหรับโรงเรียนตากพิทยาคม  ดังนี้  

http://tps.comsci.info  -->วิชาการเขียนโปรแกรมคอมพิวเตอร์  -->วิชาการเขียนโปรแกรม 1  -->

เผยแพร่เนื้อหาวิชาการหรือเอกสารประกอบการเรียน -->  เนื้อหาบทที่ 2 ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์

 

6.  ให้นักเรียนเขียนและอธิบายขั้นตอนการสร้างและพัฒนาโปรแกรมทั้งหมด  5  ขั้นตอนโดยเติมคำดังนี้

                ( ศึกษาจากใบความรู้บทที่2 เรื่อง  ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์  ของภาคเรียนที่ 1)

                ถ้าต้องการทราบเฉลย...

ให้นักเรียนสามารถดูเฉลยได้ที่เว็บไซด์วิทยาการคอมพิวเตอร์  สำหรับโรงเรียนตากพิทยาคม  ดังนี้  

http://tps.comsci.info  -->วิชาการเขียนโปรแกรมคอมพิวเตอร์  -->วิชาการเขียนโปรแกรม 1  -->

เผยแพร่เนื้อหาวิชาการหรือเอกสารประกอบการเรียน -->  เนื้อหาบทที่ 2 ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์

 

จุดประสงค์ที่    2.   มีความรู้ความสามารถในการวิเคราะห์และออกแบบระบบในระดับภาพรวมและระดับย่อย

 

7.   ให้นักเรียนศึกษาจากใบความรู้บทที่ 3  เรื่อง  การวิเคราะห์และออกแบบระบบในระดับภาพรวม  ของภาคเรียนที่ 1 เรื่อง

System Analysis and Design  in Context Diagram  level   แล้วทำแบบฝึกหัดทดสอบความรู้เชิงจิตวิทยา  ที่สร้างจากโปรแกรม  Macromedia  Authorware  7.0    

 

                ถ้าต้องการทราบเฉลย...

ให้นักเรียนสามารถดาวน์โหลดได้ที่เว็บไซด์วิทยาการคอมพิวเตอร์  สำหรับโรงเรียนตากพิทยาคม  ดังนี้  

http://tps.comsci.info  -->วิชาการเขียนโปรแกรมคอมพิวเตอร์  -->วิชาการเขียนโปรแกรม 2  -->หัวข้อดาวน์โหลด  (Download)

 

8.  ให้นักเรียนศึกษาหนังสือเรียนภาษาซีบทที่ 2  และใบความรู้สรุปจากหนังสือภาษาซีหน้าที่ 3 แล้วทำแบบฝึกหัดบทที่ 2

                8.1  แบบฝึกหัดบทที่ 2   จงพิจารณาผลลัพธ์ของโปรแกรมแสดงปีโดยรับข้อมูลจากคีย์บอร์ด   โดยให้แสดงตัวเลขตามรหัสรูปแบบข้อมูล (Format code )   แล้วนำไปเขียน Source Code ในช่องว่างดังนี้

 

                ผลลัพธ์เมื่อแสดงบนจอภาพ

                                Please input year :  2551

                                Show year = “2551”

 

                เฉลยการลงรหัสโปรแกรมหรือเขียน Source Code

                                #include <stdio.h>

                                void main( )

                                {   int  year ;

                                                printf(“Please input year : “);

                                                scanf(“%d”, &year );

                                                printf(“Show year = \”%d\” “, year );

                                }

 

 

 

 

9.  ให้นักเรียนศึกษาหนังสือเรียนภาษาซี บทที่ 3  เรื่องโครงสร้างควบคุม  แล้วตอบคำถามดังนี้

                9.1   ให้เขียนผังงานของคำสั่ง  if , if lese และ  if else if หรือ if else เชิงซ้อน

 

                ถ้าต้องการทราบเฉลย... ให้อ่านจากหนังสือเรียนภาษาซี บทที่ 3 โครงสร้างควบคุม ในหัวข้อโครงสร้างควบคุมแบบทางเลือก ของรูปแบบคำสั่งและผังงานของคำสั่งดังนี้

                                  1) โครงสร้างผังงานของคำสั่ง if (หนังสือเรียนภาษาซี หน้าที่ 38)

                                  2) โครงสร้างผังงานของคำสั่ง if else (หนังสือเรียนภาษาซี หน้าที่ 39)

                                  3) โครงสร้างผังงานของคำสั่ง if else if หรือ if else เชิงซ้อน (หนังสือเรียนภาษาซี หน้าที่ 43)

 

 

 

 

คำแนะนำ ! 

                เพื่อเสริมทักษะและประสบการณ์การเขียนโปรแกรมให้มากขึ้นแนะนำให้ทำแบบฝึกหัดเพิ่มเติมที่

เว็บไซด์วิทยาการคอมพิวเตอร์  สำหรับโรงเรียนตากพิทยาคม  ดังนี้  

                http://tps.comsci.info  -->วิชาการเขียนโปรแกรมคอมพิวเตอร์  -->วิชาการเขียนโปรแกรม 2  --> หัวข้อแบบฝึกหัด

 

 

 

คำอวยพร  ในวันปีใหม่  2552

สำหรับนักเรียนที่ขยันตั้งใจเรียนหมั่นฝึกฝนวิชาเขียนโปรแกรม 1 - 2 

ขอให้ประสบความสำเร็จในการเรียนทุกวิชา  การสอบเข้าสถาบันอุดมศึกษาต่างๆ

และสามารถแก้ปัญหาฝ่าฟันอุปสรรคชีวิตในทุกๆด้านได้ด้วยดี  เทอญ...

 

                                                                                                โดยครูวัชระ   วงษ์ดี

 

 

 

 

 

 

 

 

 

 

 

 

 

 

แบบฝึกหัดภาคปฏิบัติก่อนสอบกลางภาค    ( ทดสอบการคิดวิเคราะห์ การแก้ปัญหา) 

วิชาการเขียนโปรแกรม 2   ภาคเรียนที่ 2    ปีการศึกษา 2551

( คำเตือน !   การดูเฉลยก่อนลงมือทำแบบฝึกหัด  จะทำให้นักเรียนขาดทักษะและประสบการณ์ด้าน

การเขียนโปรแกรม  โดยเฉพาะในเชิงคิดวิเคราะห์  ซึ่งทำให้การพัฒนาสติปัญญาในการแก้ปัญหาไม่เต็มที่

 โปรดซื่อสัตย์ทำด้วยตนเองและตรวจสอบคำตอบเอง  และขอย้ำว่าไม่ควรนำแบบฝึกหัดภาคปฏิบัตินี้

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

                                                                                                โดย   ครูวัชระ  วงษ์ดี      ครูประจำวิชาการเขียนโปรแกรม 1 - 2

จุดประสงค์ที่ 11   สามารถนำความรู้ความสามารถในการทำชิ้นงานเขียนโปรแกรมคอมพิวเตอร์  เพื่อประยุกต์ใช้งาน

คำสั่ง   ให้นักเรียนศึกษาหนังสือเรียนภาษาซีและเอกสารใบความรู้ต่างๆ ทั้งหมดของภาคเรียนที่ 1   แล้วพิจารณาโจทย์ปัญหาของโปรแกรมดังนี้  และให้นักเรียนเขียน SA1 , SA2 ,  ออกแบบจอภาพ ,  วิเคราะห์ปัญหา (โดยกำหนดตัวแปร) , เขียนอัลกอริทึ่ม , เขียนโฟล์วชาร์ต , เขียน Source Code ภาษาซี

 

โจทย์ปัญหา   ผู้ใช้งานต้องการสร้างโปรแกรมพื้นที่สี่เหลี่ยมผืนผ้า  และต้องการให้โปรแกรมสามารถวิเคราะห์การป้อนความกว้าง  ว่าเป็นเลขจำนวนเต็มบวกหรือไม่  เช่น  ถ้าพบว่าเป็นเลขจำนวนเต็มบวกจริง  ให้แสดงข้อความว่า “is positive integer”  

 ถ้าไม่เป็นเลขจำนวนเต็มบวก    ให้แสดงข้อความว่า “Is not  positive integer”      เป็นต้น

 

1.  การวิเคราะห์และออกแบบระบบในระดับภาพรวม    ( SA1  :  Context  Diagram  )

 

 

 

 

 

 

 

 


ข้อสังเกต  โดยทั่วไป  ถ้าระบบมีการทดสอบเงื่อนไขเพียง 1 เงื่อนไขและมีทางเลือกเพียง 2 คำตอบ   ควรใช้คำว่า “เปรียบเทียบ”

ถ้าหากระบบมีการทดสอบเงื่อนไขตั้งแต่ 2  เงื่อนไขและมีทางเลือกตั้งแต่ 3 คำตอบขึ้นไป  ควรใช้คำว่า”วิเคราะห์”

 และถ้าหากระบบมีการทดสอบเงื่อนไข 1 หรือตั้งแต่ 2 เงื่อนไขขึ้นไป ซ้ำๆ จนกว่าเป็นจริงหรือเท็จ   ควรใช้คำว่า ”ตรวจสอบ”

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

2.  การวิเคราะห์และออกแบบระบบในระดับย่อย  ซึ่งกำหนดให้เขียนไม่เกิน  2  Process    ( SA2  :  Level 0 )  

 

 

 

 

 

 

 

 

 

 

 

 

 


( คำเตือน !   ไม่ควรดูเฉลยก่อนลงมือทำแบบฝึกหัด   จะทำให้ขาดทักษะด้านการคิดวิเคราะห์ แก้ปัญหา ฯลฯ )

3.  ออกแบบจอภาพ

                3.1   ออกแบบจอภาพ   Level  0  >  Process 1

 


                                Program  :  Seek  rectangle  area

                                input width  =   3

                                result of  width  comparison  is positive integer

 

 

 

 

 

                3.2   ออกแบบจอภาพ   Level  0  >  Process 2

 

 


                                input length =   8

                                result  of  Rectangle  area  =  24

 

 

 

4.  วิเคราะห์ปัญหา

                4.1  กำหนดตัวแปร

ลำ

ดับ

ที่

ความ

สัมพันธ์ของ Process

รายการข้อมูลนำเข้าหรือข้อมูลสารสนเทศ

(ชื่อ Data Flow ของ SA2 )

ตั้งชื่อตัวแปร

(ภาษาอังกฤษ)

ชนิดตัวแปร

(ตัวเลข...., อักขระ ,ข้อความ)

ขนาดข้อมูล (ขนาดไม่เกินกี่หลักหรือกี่ตัวอักขระ)

ตัวอย่างข้อมูล

(มาจากออกแบบจอภาพ)

1.

1

ความกว้าง

 

width

ตัวเลขจำนวนเต็ม

2  หลัก

3

2.

1 , 2

ความกว้างที่เปรียบเทียบกับเลข 0 แล้ว

width

ตัวเลขจำนวนเต็ม

2  หลัก

3

3.

1

ผลการเปรียบเทียบความกว้างว่าเป็นจำนวนเต็มบวกหรือไม่

compare

ข้อความ

25 ตัวอักษร

is positive integer

4.

2

ความยาว

 

length

ตัวเลขจำนวนเต็ม

2  หลัก

8

5.

2

ผลลัพธ์พื้นที่สี่เหลี่ยมผืนผ้า

 

rectangle_area

ตัวเลขจำนวนเต็ม

4  หลัก

24

ข้อควรระวัง !    ในลำดับตัวแปรที่ 2  ถ้าซ้ำกับความลำดับตัวแปรที่ 1   เมื่อนำไปเขียนอัลกอริทึ่มและโฟล์วชาร์ต  ทุก Process ต้องใช้เพียงตัวแปรเดียวเท่านั้น  มิเช่นนั้นโปรแกรมจะ Error

 

( คำเตือน !   ไม่ควรดูเฉลยก่อนลงมือทำแบบฝึกหัด   จะทำให้ขาดทักษะด้านการคิดวิเคราะห์ แก้ปัญหา ฯลฯ )

จุดประสงค์ที่ 9   สามารถแปลงอัลกอริทึ่มหรือโฟล์วชาร์ตให้เป็นภาษาซี

คำชี้แจง  ให้นักเรียนนำ SA และวิเคราะห์ปัญหาที่ได้มาเขียนเป็นอัลกอริทึ่มด้านซ้ายและโฟล์วชาร์ตด้านขวาของกระดาษแผ่นนี้

                                5.1  อัลกอริทึ่ม  Level 0  >    Process  1                                           6.1  โฟล์วชาร์ต   Level 0  >    Process  1

Start

 
1.  เริ่มการทำงานของโปรแกรม                                                                                      

width = 0 ,  compare  = “ ”

 
2.   กำหนดตัวแปรเริ่มต้น width = 0 ,  compare  = “ ”

3.  แสดงข้อความว่า “Program  :  Seek  rectangle  area”

Display “Program  :  Seek  rectangle  area”

 
4.  แสดงข้อความว่า “input width  =   ”

5.   รับข้อมูลความกว้างแล้วเก็บที่ตัวแปร   width

Display “input width  =   ”

 
6.   เปรียบเทียบความกว้างว่ามากกว่าเลข 0 หรือไม่

Input   width

 
      6.1  ถ้าเป็นจริง  ให้นำข้อความ “is positive integer”

              มาเก็บที่ตัวแปร  compare แล้วไปทำงานข้อที่ 7

False

 

True

 

width > 0

 
      6.2  ถ้าเป็นเท็จ  ให้นำข้อความ “is not positive integer”

              มาเก็บที่ตัวแปร  compare  แล้วไปทำงานข้อที่ 7

compare =

“is positive integer”

 

compare =

“is not positive integer”

 
7.  แสดงข้อความว่า  “result of  width  comparison ”

8.  นำค่าจากตัวแปร compare  มาแสดงผล

9.  จบการทำงาน

 

 

 

 

 

 

 


                                5.2  อัลกอริทึ่ม  Level 0  >    Process  2                                           6.2  โฟล์วชาร์ต   Level 0  >    Process  2

1.  เริ่มการทำงานของโปรแกรม                                                                                      

2.   กำหนดตัวแปรเริ่มต้น length = 0 ,  rectangle_area = 0

3.  แสดงข้อความว่า “input length  =   ”

4.   รับข้อมูลความยาวแล้วเก็บที่ตัวแปร   length

5.   คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า

       โดยนำค่าจากตัวแปร  length คูณ width

        แล้วเก็บผลลัพธ์ที่ตัวแปร  rectangle_area

6.  แสดงข้อความว่า “result  of  Rectangle  area  =  ”

7.  นำค่าจากตัวแปร  rectangle_area   มาแสดงผล

8.  จบการทำงาน

 

 

 

 

 

เพื่อความถูกต้องและชัดเจน ท่านสามารถคลิกดาวน์โหลดต้นฉบับของเอกสารเฉลยแบบฝึกหัดที่นี่

( URL : http://tps.comsci.info/programming/ex1_mid2_2551.doc )

( คำเตือน !   ไม่ควรดูเฉลยก่อนลงมือทำแบบฝึกหัด   จะทำให้ขาดทักษะด้านการคิดวิเคราะห์ แก้ปัญหา ฯลฯ )

จุดประสงค์ที่ 9   สามารถแปลงอัลกอริทึ่มหรือโฟล์วชาร์ตให้เป็นภาษาซี

ให้นักเรียนนำอัลกอริทึ่มหรือโฟล์วชาร์ตมาแปลงให้เป็น Source  Code  ภาษาซี

หมายเหตุ  การเขียนโฟล์วชาร์ตด้านขวาของหน้านี้  จุดประสงค์เพื่อให้เห็นวิธีการแปลงโฟล์วชาร์ตให้เป็น Source Code  ภาษาซีเท่านั้น     ดังนั้น ไม่จำเป็นต้องเขียนซ้ำตอนสอบอีก  เพราะจะทำให้เสียเวลา  ยกเว้นกรณีเหลือเวลาในการสอบนาน

#include <stdio.h>

#include <conio.h>

Start Program

 
#include <string.h>

width = 0 ,  compare  = “ ”

 
void  main(void)

{     // -------   Source Code of Level 0 ,  Process 1  ---------

Display “Program  :  Seek  rectangle  area”

 
int  width = 0 ;   char  compare[25] = “ ”  ;

printf(“Program  :  Seek  rectangle  area \n”);

Display “input width  =   ”

 
printf(“input width  =   ”);

 


scanf(“%d” , &width );

 


compare =

“is not positive integer”

 
     if ( width > 0 )

compare =

“is positive integer”

 
          {  strcpy (compare , “is positive integer”);       }

     else

          {  strcpy (compare , “is not positive integer”);       }

 

 


Display   compare

 
printf(“result of  width  comparison  %s ” , compare  );

 

 

 

 

 


// -------   Source Code of Level 0 ,  Process 2  ---------

int   length = 0 ,  rectangle_area = 0 ;

 

printf(“\n input  length  =   ”);

 


scanf(“%d” , &length);

 


rectangle_area  =  length *  width ;

 


printf(“result  of  Rectangle  area  =  %d” ,  rectangle_area );

 

}

 

 

 

เพื่อความถูกต้องและชัดเจน ท่านสามารถคลิกดาวน์โหลดต้นฉบับของเอกสารเฉลยแบบฝึกหัดที่นี่

( URL : http://tps.comsci.info/programming/ex1_mid2_2551.doc )

 

 

คำชี้แจงเพิ่มเติมเกี่ยวกับแบบฝึกหัดภาคปฏิบัติก่อนสอบกลางภาค   

                เนื่องจากคำตอบมีหลายคำตอบและมีหลายวิธีการแก้ปัญหา

                ดังนั้นการเฉลยแบบฝึกหัดภาคปฏิบัตินี้   จึงไม่จำเป็นต้องเหมือนกับเฉลยทุกประการ  เพราะการแก้ปัญหามีหลายวิธี  แต่ต้องมีความถูกต้องและสัมพันธ์กับเป้าหมายที่โจทย์ต้องการ

                หากนักเรียนมีคำตอบอื่นๆ นอกเหนือจากเฉลยนี้  และไม่แน่ใจในคำตอบที่ได้  สามารถพบครูเพื่อขอตรวจสอบคำตอบของนักเรียนได้

 

( พึงระลึกไว้เสมอว่า  การแก้ปัญหามีหลายวิธี   แต่ต้องเลือกวิธีที่ดีที่สุด  ขั้นตอนกระชับหรือน้อยที่สุด

ภายใต้ความถูกต้องและเป้าหมายเดียวกัน )

 

 

คำแนะนำ

                เพื่อเสริมทักษะและประสบการณ์การเขียนโปรแกรมให้มากขึ้นแนะนำให้ทำแบบฝึกหัดเพิ่มเติมที่

เว็บไซด์วิทยาการคอมพิวเตอร์  สำหรับโรงเรียนตากพิทยาคม  ดังนี้  

                http://tps.comsci.info  -->วิชาการเขียนโปรแกรมคอมพิวเตอร์  -->วิชาการเขียนโปรแกรม 2  --> หัวข้อ “แบบฝึกหัด”

 

                 สำหรับนักเรียนที่ต้องการทบทวนการทำแบบฝึกหัดภาคปฏิบัติเก่า  ของวิชาการเขียนโปรแกรม 1  ภาคเรียนที่ 1  

ปีการศึกษา 2551   ให้คลิกที่ Link  ต่อไปนี้

                http://tps.comsci.info  -->วิชาการเขียนโปรแกรมคอมพิวเตอร์  -->วิชาการเขียนโปรแกรม 1  --> หัวข้อ “แบบฝึกหัด”

 

 

ภาคผนวกเกี่ยวกับ Algorithm และ  Flowchar Program 

 

ทบทวนภาคปฏิบัติเทอม 1  Algorithm หมายถึง ลำดับขั้นตอนวิธีในการทำงานของโปรแกรมเพื่อแก้ปัญหา

                                                                         หรือการเขียนคำอธิบายการแก้ปัญหาทีละขั้นตอน  (ซึ่งนิยมเขียนเป็นข้อความ)

 

ทบทวนภาคปฏิบัติเทอม 1   Flowchar Program  หมายถึง  ผังงานโปรแกรมหรือแผนภูมิสายงานของโปรแกรม

การเขียนผังงาน ( Flowchart )

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

ประโยชน์ของผังงาน

ช่วยลำดับขั้นตอนการทำงานของโปรแกรม และสามารถนำไปเขียนโปรแกรมได้โดยไม่สับสน

ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด

ช่วยให้การดัดแปลง แก้ไข ทำได้อย่างสะดวกและรวดเร็ว

ช่วยให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น

วิธีการเขียนผังงานที่ดี

ใช้สัญลักษณ์ตามที่กำหนดไว้

ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา

คำอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจง่าย

ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก

ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน

ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม

 

ภาคผนวก เกี่ยวกับคำศัพท์คณิตศาสตร์พร้อมทั้งศัพท์ภาษาอังกฤษ

URL :   http://www.web.ku.ac.th/schoolnet/snet2/vocabulary/voc4.htm

 

จำนวน
(number)

ปริมาณที่ทำให้มีความรู้สึกว่ามากหรือน้อย

จำนวนคี่
(odd number)

จำนวนเต็มที่ไม่ใช้จำนวนคู่ หรือจำนวนที่อยู่ในเซต

จำนวนคู่
(even number)

จำนวนเต็มที่หารด้วย 2 แล้วได้ผลลัพธ์เป็นจำนวนเต็ม นั่นคือ จำนวนที่อยู่ในเซต

จำนวนจริง
(real number)

จำนวนที่เป็นสมาชิกอยู่ในเซตที่เกิดจากยูเนียนของเซตของจำนวนตรรกยะ และเซตของจำนวนอตรรกยะ

จำนวนจริงบวก
(positive real number)

จำนวนจริงที่มากกว่าศูนย์หรือจำนวนที่แทนได้ด้วยจุดที่อยู่ทางขวามือของจุดแทนศูนย์บนเส้นจำนวน

จำนวนจริงลบ
(negative real number)

จำนวนจริงที่น้อยกว่าศูนย์หรือจำนวนที่แทนได้ด้วยจุดที่อยู่ทางซ้ายมือของจุดแทนศูนย์บนเส้นจำนวน

จำนวนจินตภาพ
(imaginary number)

จำนวนเชิงซ้อน a + bi เมื่อ b # 0

จำนวนจินตภาพแท้
(real imaginary number)

จำนวนเชิงซ้อน a + bi เมื่อ a = 0 และ b # 0 (ดู จำนวนเชิงซ้อน ประกอบ)

จำนวนเฉพาะ
(prime number)

จำนวนเต็ม a ซึ่งไม่เท่ากับ 0 หรือ และต้องหารลงตัวด้วย และ เท่านั้น เช่น เป็นต้น (ส่วนมากมักจะกล่าวถึงจำนวนเฉพาะทีเป็นจำนวนจริงบวกเท่านั้น)

จำนวนเชิงซ้อน
(complex number)

จำนวนใด ๆ ที่เขียนในรูปคู่อันดับ (a, b) เมื่อ a และ b เป็นจำนวนจริงและมีคุณสมบัติต่อไปนี้

1. (a, b) = (c, d) ต่อเมื่อ a = c และ b = d

2. (a, b) + (c, d) = (a + c, b + d)

3. (a, b) . (c, d) = (ac - bd, ad + bc)
หรือ (a, b) อาจเขึยนได้ในรูป a + bi เมื่อ i2 = -1 เรียก a ว่าส่วนจริง (real part) และเรียก b ว่าส่วนจินตภาพ (imaginary part) จำนวนเชิงซ้อน (0, b) เมื่อ b # 0 เรียกว่าจำนวนจินตภาพแท้

จำนวนตรรกยะ
(rational number)

จำนวนที่เขียนได้ในรูป โดยที่ a และ b ต่างเป็นจำนวนเต็มและ b # 0 ได้แก่

1. จำนวนเต็ม 0, 1, -1, 2, -2, 3, -3, ....

2. จำนวนที่เขียนไว้ในรูปเศษส่วนของจำนวนเต็ม โดยที่ตัวหารไม่เป็นศูนย์

3. จำนวนที่เขียนไว้ในรูปทศนิยมซ้ำ เช่น

จำนวนเต็ม
(integer)

จำนวนที่อยู่ในเซต { ..., -2, -1, 0, 1, 2, ...}

จำนวนเต็มบวก
(positive integer, natural number, counting number)

จำนวนที่อยู่ในเซต { 1, 2, 3, ...}

จำนวนเต็มลบ
(negative integer)

จำนวนที่อยู่ในเซต { -1, -2, -3, ....}

จำนวนนับ
(natural number, counting number)

ดู จำนวนเต็มบวก

จำนวนเลขคณิต
(arithmetic number)

จำนวนที่เกี่ยวข้องกับชีวิตประจำวันได้แก่จำนวนเต็มบวก เศษส่วน ทศนิยม และจำนวนจริง (ที่เป็นบวก)

จำนวนอตรรกยะ
(irrational number)

จำนวนจริงที่ไม่ใช่จำนวนตรรกยะเขียนได้ในรูปทศนิยมไม่ซ้ำ เช่น = 3.1415926535..., sin 45 = 0.70710678..., tan 140 = -0.8391...

จีเอม
(G.M.)

ดู ค่าเฉลี่ยเรขาคณิต

จุดกำเนิด
(origin)

จุดตัดของแกน X และแกน Y ในระบบแกนมุมฉาก หรือจุดแทนจำนวนศูนย์บนเส้นจำนวน

จุดกึ่งกลาง
(mid point)

ทางสถิติหมายถึงจุดกึ่งกลางของแต่ละอันตรภาคชั้น หาได้จากการเฉลี่ยค่าขอบบนและขอบล่างของแต่ละอันตรภาคชั้น

จุดทศนิยม
(decimal point)

จุดที่อยู่ระหว่างจำนวนเต็มหรือศูนย์กับเศษส่วนในระบบฐานสิบ

 

 

อ่านเพิ่มเติมเสริมความรู้ทางคณิตศาสตร์ที่    http://www.web.ku.ac.th/schoolnet/snet2/vocabulary/voc4.htm