-1- หน่วยท่ี 1 แนวคิดเกย่ี วกบั การพฒั นาโปรแกรม บทท่ี 1 หลกั การพฒั นาโปรแกรม บทที่ 2 ผงั งาน
-2-
-3- บทที่ 1 หลกั การพฒั นาโปรแกรม ข้นั ตอนการพฒั นาโปรแกรม ภาษาคอมพวิ เตอร์
-4- แผนบริหารการสอนประจาบทท่ี 1 รหสั วชิ า คธ 0408 ชื่อวชิ า การเขยี นโปรแกรมคอมพวิ เตอร์เบื้องต้น หน่วยที่ 1 ชื่อหน่วย แนวคดิ เกยี่ วกบั การพฒั นาโปรแกรม จานวนชั่วโมง 8 ช่ัวโมง บทท่ี 1 ชื่อบท หลกั การพฒั นาโปรแกรม จานวนชั่วโมง 4 ชั่วโมง เนื้อหา 1. ข้นั ตอนการพฒั นาโปรแกรม 2. ภาษาคอมพวิ เตอร์ สาระสาคัญ 1. กลุ่มคาสงั่ ท่ีเรียบเรียงตามไวยากรณ์เพอ่ื ส่งั งานใหค้ อมพิวเตอร์ทางานในส่ิงที่ตอ้ งการ เรียกวา่ โปรแกรมคอมพิวเตอร์ โดยการเขียนกลุ่มคาส่ังที่ถูกตอ้ งตามไวยากรณ์ เพ่ือสั่งให้คอมพิวเตอร์ ทางานในสิ่งที่ตอ้ งการ นนั่ คือ การพฒั นาโปรแกรมคอมพิวเตอร์ ท้งั น้ีในการเขียนโปรแกรมหรือ การพฒั นาโปรแกรม ผเู้ ขียนโปรแกรมตอ้ งมีการเตรียมงานอยา่ งเป็ นข้นั ตอน เรียกข้นั ตอนเหล่าน้นั วา่ วงจรการพฒั นาโปรแกรม (Program Development Life Cycle: PDLC) ประกอบดว้ ย 7 ข้นั ตอน ไดแ้ ก่ การวิเคราะห์ปัญหา การออกแบบโปรแกรม การเขียนโปรแกรม การตรวจสอบขอ้ ผิดพลาด ของโปรแกรม การทดสอบความถูกต้องของโปรแกรม การจดั ทาเอกสารประกอบโปรแกรม การติดต้งั โปรแกรมและการบารุงรักษา 3. ภาษาคอมพิวเตอร์ เป็ นรหัสคาส่ังท่ีใช้ในการควบคุมการทางานของอุปกรณ์ในระบบ คอมพิวเตอร์ มีความสาคญั ต่อการพฒั นาโปรแกรม เพื่อให้บรรลุวตั ถุประสงคท์ ี่ผูใ้ ชง้ านโปรแกรม กาหนดไว้ ซ่ึ งมีวิวัฒนาการจากภาษาเคร่ื อง ภาษาระดับต่า และภาษาระดับสู ง โดยท่ี ผูพ้ ฒั นาโปรแกรมจาเป็ นตอ้ งพิจารณาเลือกใช้ภาษาโปรแกรม ท่ีเป็ นภาษามาตรฐานที่องค์กร เลือกใชแ้ ละมีความยืดหยนุ่ สูง ตวั แปลภาษาคอมพิวเตอร์ คือ ตวั กลางท่ีทาหนา้ ที่ในการแปลรหสั คาส่ังให้เป็ นรหัสเลขฐานสอง ซ่ึงตัวแปลภาษาคอมพิวเตอร์มี 3 ลักษณะ คือ ตัวแปลภาษา แอสแซมเบลอร์ ตวั แปลภาษาคอมไพลเ์ ลอร์ และตวั แปลภาษาอินเทอร์พรีเตอร์ วตั ถุประสงค์การเรียนการสอน วตั ถุประสงค์ทวั่ ไป 1. เพือ่ ใหน้ กั ศึกษามีความรู้ความเขา้ ใจเกี่ยวกบั ข้นั ตอนการพฒั นาโปรแกรมคอมพวิ เตอร์ 2. เพ่อื ใหน้ กั ศึกษามีความรู้ความเขา้ ใจเก่ียวกบั ภาษาคอมพวิ เตอร์และตวั แปลภาษา 3. เพ่อื ใหน้ กั ศึกษามีเจตคติท่ีดีในการพฒั นาโปรแกรม
-5- วตั ถุประสงค์เชิงพฤติกรรม เพ่ือให้นักศึกษาสามารถ 1. บอกข้นั ตอนของการพฒั นาโปรแกรมได้ 2. บอกข้นั ตอนและวเิ คราะห์ปัญหาเพื่อเขียนโปรแกรมได้ 3. เลือกเครื่องมือท่ีใชใ้ นการออกแบบโปรแกรมได้ 4. จาแนกประเภทความขอ้ ผดิ พลาดในการเขียนโปรแกรมไดแ้ ละบอกข้นั ตอนการ ตรวจสอบความผดิ พลาดได้ 5. บอกวธิ ีการทดสอบความถูกตอ้ งของโปรแกรมได้ 6. บอกความสาคญั ของการจดั ทาเอกสารประกอบโปรแกรมได้ 7. บอกความสาคญั ของการติดต้งั และบารุงรักษาโปรแกรมได้ 8. บอกประเภทของภาษาคอมพิวเตอร์ได้ 9. เลือกใชภ้ าษาคอมพวิ เตอร์ไดถ้ ูกตอ้ ง 10. อธิบายลกั ษณะของตวั แปลภาษาได้ วธิ ีสอนและกจิ กรรมการเรียนการสอน 1. วธิ ีสอน 1.1 บรรยายตามเน้ือหาแต่ละหวั ขอ้ 1.2 สาธิตวธิ ีการวเิ คราะห์ปัญหาของโปรแกรม 1.3 นกั ศึกษาฝึกปฏิบตั ิการวเิ คราะห์งาน ออกแบบโปรแกรม การทดสอบโปรแกรม การตรวจสอบขอ้ ผดิ พลาดของโปรแกรม 1.4 นกั ศึกษาคน้ ควา้ เพม่ิ เติมจากแหล่งเรียนรู้เก่ียวกบั เคร่ืองมือท่ีใชใ้ นการออกแบบ โปรแกรมและภาษาคอมพวิ เตอร์ในปัจจุบนั 2. กจิ กรรมระหว่างเรียน 2.1 นกั ศึกษาทาแบบทดสอบก่อนเรียน 2.2 นกั ศึกษาฟังบรรยาย และสาธิตการวเิ คราะห์งาน ออกแบบโปรแกรม การ ทดสอบโปรแกรม การตรวจสอบขอ้ ผดิ พลาดของโปรแกรม และคน้ ควา้ เพิ่มเติม เกี่ยวกบั ภาษาคอมพิวเตอร์ 2.3 นกั ศึกษาฝึกวเิ คราะห์โจทยต์ วั อยา่ ง 2.4 นกั ศึกษาทาใบงาน และผสู้ อนเฉลยใบงาน 2.5 นกั ศึกษาทาแบบฝึกหดั แต่ละบทเพ่ือฝึกปฏิบตั ิ และผสู้ อนเฉลยแบบฝึกหดั 2.6 นกั ศึกษาทาแบบทดสอบหลงั เรียน
-6- ส่ือการเรียนการสอน 1. เอกสารประกอบการเรียนท่ีประกอบดว้ ย เน้ือหา และแบบฝึกหดั 2. ส่ืออิเลก็ ทรอนิกส์ 3. ชุดคอมพวิ เตอร์ที่ติดต้งั โปรแกรม Dev C++ การประเมินผล 1. ประเมินผลจากแบบทดสอบก่อนเรียน 2. ประเมินผลจากแบบฝึกหดั 3. ประเมินผลจากแบบทดสอบหลงั เรียน แหล่งค้นคว้าเพม่ิ เตมิ 1. https://sites.google.com/site/ajpuangpet 2. http://www.programming.in.th/index.php 3. http://e-learning.snru.ac.th/els/program1/lesson1/page1.html 4. http://www.cs.jhu.edu/~scott/pl/book/dist/book/book.pdf 5. https://www.youtube.com/watch?v=EbNJ05EVXs0&list=PLF7C73918190889CE
-7- เนื้อหาบทที่ 1 รหัสวชิ า คธ 0408 ช่ือวชิ า การเขยี นโปรแกรมคอมพวิ เตอร์เบื้องต้น หน่วยที่ 1 ชื่อหน่วย แนวคดิ เกย่ี วกบั การพฒั นาโปรแกรม หน่วยที่ 1 บทท่ี 1 ช่ือบท หลกั การพฒั นาโปรแกรม บทท่ี 1 ซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ท่ีพฒั นาข้ึนในปัจจุบนั มีความมุ่งหมายเพ่ือสนองตอบ ต่อความตอ้ งการของผูใ้ ช้งาน ไม่ว่าจะเป็ นซอฟตแ์ วร์ระบบ หรือซอฟตแ์ วร์ประยุกต์ ลว้ นแลว้ แต่ ต้องการให้ผูใ้ ช้เกิดความสะดวก รวดเร็ว และตรงตามวตั ถุประสงค์การใช้งานแทบท้ังสิ้น การพฒั นาโปรแกรมตามความต้องการของผูใ้ ช้งานเพียงอย่างเดียวอาจไม่เพียงพอที่จะทาให้ โปรแกรมน้นั สามารถทางานไดด้ ี ยงั ตอ้ งมีกระบวนการท่ีดีในการพฒั นา นอกเหนือจากน้ี จะมีการ วิเคราะห์ความต้องการของผูใ้ ช้งาน ตรวจสอบและทดสอบโปรแกรม การติดต้งั โปรแกรม การบารุงรักษาให้ทางานได้ไปตลอด ดงั น้ัน ในบทน้ีจึงขอกล่าวถึงหลักการพฒั นาโปรแกรม การวเิ คราะห์งานเพ่ือใหไ้ ดโ้ ปรแกรมตรงตามเป้าหมาย 1. ข้นั ตอนการพฒั นาโปรแกรม โปรแกรมคอมพิวเตอร์ หมายถึง กลุ่มคาสงั่ ท่ีเรียบเรียงตามไวยากรณ์เพ่ือสงั่ งานใหค้ อมพิวเตอร์ ทางานในส่ิงที่ตอ้ งการ เช่น โปรแกรมคอมพิวเตอร์เพ่ืองานบญั ชี จึงเป็ นกลุ่มคาส่ังที่เรียบเรียงข้ึน เพอ่ื สัง่ ใหค้ อมพวิ เตอร์ทางานดา้ นการบญั ชี หรือโปรแกรมคอมพิวเตอร์เพ่ือการบริหารสถานศึกษา เป็นกลุ่มคาสงั่ ที่เรียบเรียงข้ึนเพอื่ ใหร้ องรับการทางานในสถาบนั การศึกษา เป็นตน้ ดงั น้นั การพฒั นาโปรแกรมคอมพิวเตอร์ หมายถึง การเขียนกลุ่มคาส่ังอยา่ งเป็ นกระบวนการ มีข้นั ตอน และถูกตอ้ งตรงตามไวยากรณ์ เพ่ือส่ังให้คอมพิวเตอร์ทางานในสิ่งที่ตอ้ งการ มุ่งเน้น ใหเ้ กิดความน่าเชื่อถือ ถูกตอ้ ง ทนั เวลา เป็นปัจจุบนั โดยมีการดาเนินงาน 7 ข้นั ตอน ดงั น้ี 1.1 การวเิ คราะห์ปัญหา (Problem Definition) การวิเคราะห์ปัญหา คือ การทาความเข้าใจปัญหา และค้นหาส่ิงที่ต้องการ นั่นคือ การวเิ คราะห์โดยละเอียดวา่ ตอ้ งการผลลพั ธ์อะไร ตอ้ งใชข้ อ้ มูลอะไรเพอื่ ใหไ้ ดผ้ ลลพั ธ์ตามตอ้ งการ และมีข้นั ตอนการประมวลผลอยา่ งไร อาจเรียกข้นั ตอนน้ีวา่ เป็ นข้นั ตอนการวเิ คราะห์ความตอ้ งการ ซ่ึงถือไดว้ า่ เป็ นข้นั ตอนแรกท่ีมีความสาคญั ต่อการพฒั นาโปรแกรม มีข้นั ตอนการวิเคราะห์ปัญหา ดงั น้ี
-8- 1. ระบุส่ิงที่ตอ้ งการ เป็นการบอกใหท้ ราบวา่ สิ่งที่ตอ้ งการใหท้ า 2. กาหนดรูปแบบผลลพั ธ์ การศึกษารูปแบบหรือลกั ษณะของการแสดงขอ้ มูล 3. ระบุขอ้ มูลนาเขา้ ขอ้ มูลท่ีใชใ้ นการประมวลผล 4. กาหนดตวั แปรท่ีใช้ เป็นการบอกวา่ ใชต้ วั แปรใดบา้ งแทนขอ้ มูลนาเขา้ และ ตวั แปรใดบา้ งแสดงผลลพั ธ์ 5. กาหนดวธิ ีการประมวลผล เป็นข้นั ตอนของคาสงั่ หรือวธิ ีการที่ใชใ้ นโปรแกรม โดยการเรียงลาดบั ก่อนหลงั ตวั อย่างการวเิ คราะห์ปัญหา ตัวอย่างที่ 1 จงแกป้ ัญหาเพ่ือหาพ้นื ท่ีสามเหลี่ยม โดยการรับค่าความกวา้ ง และความสูงจากผใู้ ช้ ทาง แป้นพมิ พ์ วเิ คราะห์ปัญหา 1. ระบุสิ่งที่ตอ้ งการ - พ้นื ท่ีของรูปสามเหลี่ยม 2. กาหนดรูปแบบผลลพั ธ์ - แสดงผลลพั ธ์ของพ้ืนที่รูปสามเหลี่ยมเป็นตวั เลข 3. ระบุขอ้ มูลนาเขา้ - คา่ ความกวา้ งของรูปสามเหลี่ยม - ค่าความสูงของรูปสามเหล่ียม 4. กาหนดตวั แปรท่ีใช้ - width แทน ความกวา้ งของรูปสามเหล่ียม - height แทน ความสูงของรูปสามเหล่ียม - area แทน พ้ืนที่ของรูปสามเหลี่ยม 5. กาหนดวธิ ีการประมวลผล 1. เร่ิมตน้ 2. รับคา่ w และ h 3. คานวณคา่ พ้ืนท่ีของรูปสามเหล่ียมจากสูตร area = 0.5 x width x height 4. แสดงค่าพ้ืนท่ีของรูปสามเหลี่ยม 5. จบการทางาน
-9- ตัวอย่างท่ี 2 จงแกป้ ัญหาการคานวณหาค่าเฉลี่ยของเลขจานวนจริง 3 จานวน โดยการรับค่าทาง แป้นพิมพ์ วเิ คราะห์ปัญหา 1. ระบุสิ่งท่ีตอ้ งการ - ค่าเฉล่ียของเลขจานวน จริง 3 จานวน 2. กาหนดรูปแบบผลลพั ธ์ - แสดงค่าเฉล่ียของเลขจานวนจริง 3 จานวน 3. ระบุขอ้ มูลนาเขา้ - เลขจานวนจริง 3 จานวน 4. กาหนดตวั แปรที่ใช้ - num1 แทน เลขจานวนจริงตวั ท่ี 1 - num2 แทน เลขจานวนจริงตวั ที่ 2 - num3 แทน เลขจานวนจริงตวั ที่ 3 - average แทน คา่ เฉลี่ยของเลขจานวนจริง 3 จานวน 5. กาหนดวธิ ีการประมวลผล 1. เริ่มตน้ 2. รับค่าขอ้ มูลเลขจานวนจริง num1, num2, num3 ทีละรายการ 3. คานวณค่าเฉล่ียจากสูตร average = (num1+num2+num3) /3.00 4. แสดง average 5. จบการทางาน 1.2 การออกแบบโปรแกรม (Program Design) การออกแบบโปรแกรม เป็ นข้นั ตอนของการใชเ้ คร่ืองมือในการออกแบบลาดบั การทางาน ของโปรแกรมตามข้นั ตอนการประมวลผลและสอดคลอ้ งกบั วธิ ีการทางคอมพวิ เตอร์ โดยมีหลายวิธี ที่นามาช่วยในการออกแบบ ไดแ้ ก่ 1. การเขียนผงั งาน (Flow Chart) เป็ นเครื่องมือท่ีนิยมใช้การนาเสนอข้นั ตอนการทางาน โดยเปลี่ยนจากขอ้ ความ ในการวิเคราะห์งานมาเป็ นรูปภาพหรื อสัญลกั ษณ์ แล้วแสดงตามลาดบั ดงั ตวั อยา่ ง
- 10 - เริ่มตน้ รับข้อมลู ความกวา้ ง และความยาว พื้นท่สี ่เี หล่ยี มผนื ผ้า = ความกวา้ ง x ความยาว พิมพ์พืน้ ที่ สิ้นสุด รูปท่ี 1.1 แสดงผงั งานเพื่อการคานวณพ้ืนท่ีส่ีเหลี่ยมผนื ผา้ 2. การเขียนรหัสจาลอง (Pseudo code) เป็ นเครื่ องมือที่ใช้กันมากในการออกแบบ โปรแกรม ช่วยให้ผเู้ ขียนโปรแกรมเขียนโปรแกรมไดง้ ่ายข้ึน และใชภ้ าษาองั กฤษในการเขียนรหสั จาลองดงั ตวั อยา่ ง Area of Rectangle read wide and length compute area = wide * length display area end 3. การเขียนแผนภูมิโครงสร้าง (Structure Charts) เป็ นการใช้รูปภาพ แสดงการแบ่งงาน จากงานใหญ่แตกออกจนเป็นงานยอ่ ย จนกระทงั่ สามารถเขียนโปรแกรมได้ 4. การเขียนฮิโปชาร์ต (HIPO chart: Hierarchy Input/Process/Output Chart) เป็นการแสดง ภาพแบบไม่ละเอียด ถึงขอ้ มูลนาเขา้ ว่าประกอบดว้ ยอะไรบา้ ง มีการประมวลผลอยา่ งไร และได้ ผลลพั ธ์อะไร
- 11 - 1.3 การเขียนโปรแกรม (Coding Program) การเขียนโปรแกรม เป็ นข้นั ตอนของการเขียนโปรแกรมดว้ ยภาษาคอมพิวเตอร์ตามผงั งาน ที่เขียนไว้ โดยการแปลงผงั งานให้เป็ นโปรแกรมคอมพิวเตอร์ซ่ึงผงั งานที่เขียนไวต้ อ้ งไม่ข้ึนอยู่กบั ภาษาคอมพิวเตอร์ใด การเขียนโปรแกรมคอมพิวเตอร์ อาจเขียนลงในกระดาษท่ีจดั ทาข้ึนพิเศษ เรียกวา่ กระดาษลงรหสั (Coding form) อาจเป็นกระดาษลงรหสั เฉพาะภาษาท่ีใชง้ านก็เป็นได้ ดงั น้นั ในข้นั ตอนน้ีจึงสามารถเลือกใชภ้ าษาคอมพิวเตอร์ไดห้ ลายภาษา เช่น ภาษาปาสคาล ภาษาเบสิก ภาษาโคบอล ภาษาซี ภาษาฟอร์แทรน เป็นตน้ 1.4 การตรวจสอบความผดิ พลาดของโปรแกรม (Debugging) การตรวจสอบความผิดพลาดของโปรแกรม เป็ นข้นั ตอนที่ทาหลงั จากท่ีเขียนโปรแกรม เสร็จเรียบร้อยแลว้ เป็ นข้นั ตอนของการแปลโปรแกรมเพ่ือตรวจสอบว่าโปรแกรม มีขอ้ ผิดพลาด หรือทางานไม่ตรงตามวตั ถุประสงค์ เรียกวา่ เอเรอร์ (Error) ซ่ึงในการตรวจสอบความผดิ พลาดของ โปรแกรมที่เขียนข้ึนน้ัน ให้พิจารณาประเภทของความผิดพลาด และข้นั ตอนของการตรวจสอบ ขอ้ ผดิ พลาด ดงั น้ี 1.4.1 ประเภทของความผดิ พลาดของโปรแกรม สามารถจาแนกได้ 3 ประเภท ดงั ตอ่ ไปน้ี 1. ความผิดพลาดทางไวยากรณ์ (Syntax Error) เป็ นขอ้ ผิดพลาดท่ีเกิดข้ึนจากการ เขียนรหสั คาส่ัง (source code) โดยการเขียนไวยากรณ์ของภาษาผิดพลาด ตรวจพบไดข้ ณะท่ีแปล โปรแกรม ตวั แปลภาษาคอมพิวเตอร์จะแจง้ ให้ทราบในทนั ที สามารถแกไ้ ขไดง้ ่าย ตวั อยา่ งเช่น การ กาหนดตวั แปรในภาษาซี ทา้ ยคาสั่งตอ้ งใส่เคร่ืองหมายเซมิโคลอน (;) แต่ในโปรแกรมตวั อยา่ งไม่มี เครื่องหมายดงั กล่าว จึงเกิดขอ้ ผดิ พลาดของโปรแกรมข้ึนในขณะคอมไพล์ #include<stdio.h> จากตวั อยา่ งเป็นการเขียน int main() { โปรแกรมดว้ ยภาษาซี เน่ืองจาก ทา้ ยคาสง่ั ของภาษาซีตอ้ งมี int number semicolon ( ; ) จะทาใหเ้ กิด return 0; ความผดิ พลาดในขณะคอมไพล์ } ได้ รูปที่ 1.2 แสดงตวั อยา่ งของขอ้ ผดิ พลาดที่เกิดข้ึนในโปรแกรมแบบความผิดพลาดทางไวยากรณ์ 2. ความผิดพลาดขณะปฏิบตั ิงาน (Run-time Error) เป็ นความผิดพลาดท่ีเกิดข้ึนระหวา่ ง การปฏิบตั ิการ (Execution) ของคอมพิวเตอร์ ซ่ึงความผดิ พลาดน้ีไม่สามารถตรวจพบในขณะแปล ผลโปรแกรม เช่น จากคาส่ัง x/y โดยกาหนดให้ x=20, y=0 โดยปกติแลว้ การหารดว้ ย 0 จะทาให้ เกิดความผดิ พลาดได้ แต่การแปลโปรแกรมไมม่ ีขอ้ ผดิ พลาด ดงั น้นั จึงตรวจพบไดข้ ณะปฏิบตั ิงาน
- 12 - 3. ความผิดพลาดของลาดบั ข้นั ตอน (Logical Error) เป็ นความผิดพลาดของโปรแกรม ท่ีเกิดจากการตีความหมายของปัญหาผิดหรือออกแบบอลั กอริทึมผิดพลาด จึงทาให้กระบวนการ ทางานของโปรแกรมผิดพลาดไปดว้ ย ซ่ึงความผดิ พลาดประเภทน้ีเป็ นความผดิ พลาดท่ีแกไ้ ขไดย้ าก เน่ืองจากตอ้ งวิเคราะห์ปัญหาใหม่ และยงั ตรวจสอบความผดิ พลาดยากอีกดว้ ย การแกไ้ ขโปรแกรม ประเภทน้ี ตอ้ งตรวจโปรแกรมทีละคาส่งั เพือ่ หาขอ้ ผดิ พลาด เช่น คาส่ังกาหนดให้ x=10, y เกิดจาก การคานวณ ซ่ึงหากคานวณ แลว้ ผลลพั ธ์ไดเ้ ท่ากบั 0 ให้ x/y ทาใหม้ ีความผดิ พลาดเกิดข้ึนได้ 1.4.2 การตรวจสอบความผิดพลาดของโปรแกรม ได้มีการจาแนกข้นั ตอนของการ ตรวจสอบความผดิ พลาดไว้ 2 ประเภท ดงั ตอ่ ไปน้ี 1. การตรวจสอบความผิดพลาดด้วยตนเอง (Self-Checking) เป็ นการตรวจสอบ ความผดิ พลาดการทางานทีละข้นั ตอนของโปรแกรมดว้ ยตนเอง โดยการทดลองเขียนโปรแกรมลง บนกระดาษแลว้ ใส่ตรวจสอบการทางานของโปรแกรมทีละข้นั ดว้ ยตนเอง วา่ โปรแกรมมีการทางาน ท่ีถูกตอ้ งไดผ้ ลลพั ธ์ตรงตามความเป็ นจริงหรือไม่ ซ่ึงอาจตรวจพบความผิดพลาดทางการเขียน ไวยากรณ์ หรือความผดิ พลาดของลาดบั ข้นั ตอน 2. ตรวจสอบความผิดพลาดด้วยการแปลโปรแกรม (Translating) สามารถ ตรวจสอบความผดิ พลาดทางการเขียนไวยากรณ์ แต่ไม่สามารถตรวจสอบความผดิ พลาดของลาดบั ข้นั ตอนและความผิดพลาดขณะการปฏิบัติงาน โดยหลงั จากท่ีเขียนโปรแกรมเสร็จและมีการ ตรวจสอบดว้ ยตนเองเรียบร้อยแลว้ ก็จะติดต้งั โปรแกรมเขา้ สู่เคร่ืองคอมพิวเตอร์เพ่ือทาการแปล โปรแกรม โดยจะตอ้ งเรียกใชต้ วั แปลภาษาโปรแกรม ท่ีเรียกวา่ คอมไพเลอร์ หรืออินเตอร์พรีเตอร์ ทาการแปลภาษาโปรแกรมให้เป็ นภาษาเครื่อง การแปลน้ีจะเป็ นการตรวจสอบความผิดพลาดของ โปรแกรม หากมีขอ้ ผิดพลาดเกิดข้ึน เคร่ืองคอมพิวเตอร์จะแจง้ ให้ทราบทางหน้าจอ โดยทว่ั ไป พบวา่ หลงั จากท่ีเขียนโปรแกรมเสร็จแลว้ เวลาส่วนใหญ่ของเวลาในการพฒั นาโปรแกรม จะถูกใช้ ไปในการหาขอ้ ผดิ พลาดของโปรแกรมและการแกไ้ ขขอ้ ผดิ พลาดน้นั 1.5 การทดสอบความถูกต้องของโปรแกรม (Testing and Validating) การทดสอบความถูกตอ้ งของโปรแกรมเป็ นการทดสอบว่าโปรแกรมให้ผลลพั ธ์ถูกตอ้ ง หรือไม่ สามารถทาไดโ้ ดยการป้อนขอ้ มูลสมมติหลายกรณีท้งั ท่ีเป็ นไปได้ และท่ีเป็ นไปไม่ไดแ้ ลว้ จึงตรวจสอบผลลพั ธ์ท่ีไดว้ ่ามีค่าถูกตอ้ งหรือไม่ หากถูกตอ้ งแสดงว่าโปรแกรมน้นั มีความถูกตอ้ ง สมบูรณ์ สามารถนาไปใชไ้ ดต้ อ่ ไป โดยมีวธิ ีการทดสอบโปรแกรมคอมพวิ เตอร์ 2 แบบ ไดแ้ ก่ 1.5.1 การทดสอบโครงสร้างของโปรแกรม หรือที่เรียกวา่ White Box Testing เป็ นวธิ ีการ ทดสอบโปรแกรมเพ่ือดูโครงสร้างของโปรแกรม หรือทางเดินในโปรแกรม (Structured Testing) วา่ โปรแกรมสามารถทางานไดต้ ามโครงสร้างหรือไม่ โดยตอ้ งสร้างชุดทดสอบเฉพาะสาหรับการ
- 13 - ทดสอบในเง่ือนไขที่แตกต่างกนั ซ่ึงชุดทดสอบจะตอ้ งประกอบดว้ ยชุดที่สามารถประมวลผลอยา่ ง ปกติและไม่ปกติ และพยายามใหท้ ุกคาสง่ั ที่สร้างข้ึน ถูกทดสอบอยา่ งนอ้ ย 1 คร้ัง 1.5.2 การทดสอบฟังก์ชันการทางานของโปรแกรม หรือที่เรียกว่า Black Box Testing เป็นการทดสอบโดยไม่คานึงถึงคาส่ังภายในโปรแกรม โดยจะมุ่งทดสอบการทางานไดต้ ามฟังก์ชนั (Functional Testing) ท่ีไดบ้ อกความตอ้ งการไวต้ ้งั แต่เร่ิมศึกษาความตอ้ งการ พิจารณาผลลพั ธ์ท่ีได้ ใหส้ อดคลอ้ งกบั ขอ้ มูลเร่ิมตน้ เทา่ น้นั 1.6 การทาเอกสารประกอบโปรแกรม (Documentation) การทาเอกสารประกอบโปรแกรมท่ีเขียนข้ึนเป็ นสิ่งจาเป็ นและสาคญั อย่างยิ่ง โดยเฉพาะ ในการเขียนโปรแกรมแต่ละข้นั ตอนจะตอ้ งจดั ทาเอกสารประกอบอย่างสม่าเสมอ ทุกข้นั ตอน โดยวตั ถุประสงค์ของการจดั ทาเอกสารน้ันเพื่ออธิบายรายละเอียดการทางานของโปรแกรม ทาใหอ้ ่านโปรแกรมและแกไ้ ขปัญหาน้นั ไดง้ ่ายในภายหลงั ซ่ึงประกอบดว้ ยเอกสาร 2 ประเภทคือ 1.6.1 เอกสารประกอบโปรแกรมสาหรับผูใ้ ช้ (User Documentation) อธิบายการใชง้ าน โปรแกรมสาหรับผูใ้ ช้ เช่น การติดต้งั การเปิ ดโปรแกรมใช้งาน การกาหนดค่าเริ่มต้น การปิ ด โปรแกรม การพมิ พเ์ อกสาร การขอความช่วยเหลือ เป็นตน้ 1.6.2 เอกสารประกอบสาหรับผูเ้ ขียนโปรแกรม (Technical Documentation) เป็ นเอกสาร อธิบายรายละเอียดข้ันตอนการทางานของโปรแกรม ชื่อโปรแกรมหลัก ชื่อโปรแกรมย่อย และแต่ละโปรแกรมทาหน้าท่ีอะไร สาหรับผูเ้ ขียนโปรแกรมหรือเพ่ือการปรับปรุงโปรแกรมใน อนาคต ท้งั น้ี ไม่วา่ จะเป็ นเอกสารประกอบโปรแกรมสาหรับผใู้ ชง้ าน และเอกสารสาหรับผูเ้ ขียน โปรแกรม จะต้องมีการปรับปรุงแก้ไข เพิ่มเติมเมื่อเวลาผ่านไป เน่ืองจากอาจมีการตรวจสอบ พบขอ้ ผดิ พลาดเพม่ิ เติมในภายหลงั ก็เป็นได้ 1.7 การตดิ ต้งั และการบารุงรักษาโปรแกรม (Implementation and Program Maintenance) การติดต้ังโปรแกรม เป็ นข้ันตอนท่ีจะต้องทาการติดต้ังโปรแกรมให้กับผูใ้ ช้งานจริง การกาหนดสภาพแวดลอ้ มของระบบ การอธิบายถึงแหล่งที่จะใหค้ วามช่วยเหลือเบ้ืองตน้ หรือการ จดั การในเบ้ืองตน้ เมื่อเกิดขอ้ ผิดพลาด จดั การฮาร์ดแวร์หรืออุปกรณ์ที่เกี่ยวขอ้ ง เช่น ระบบไฟฟ้า ระบบเครือขา่ ย เป็นตน้ การบารุงรักษาโปรแกรม เป็ นข้นั ตอนที่ผูเ้ ขียนโปรแกรมต้องคอยเฝ้าระวงั หาความ ผิดพลาดของโปรแกรมระหวา่ งการใชง้ าน หรือในการใชง้ านไดน้ าน ผใู้ ชอ้ าจตอ้ งการปรับเปลี่ยน เพิ่มเติมโปรแกรมเพ่ือให้ทนั ต่อเหตุการณ์ ซ่ึงผูเ้ ขียนโปรแกรมอาจตอ้ งปรับปรุงให้ เป็ นไปตาม ความตอ้ งการของผใู้ ชท้ ี่เปล่ียนแปลงไปนนั่ เอง
- 14 - ดงั น้นั ในการพฒั นาโปรแกรมน้นั ผูเ้ ขียนโปรแกรมจะตอ้ งมีการเตรียมงานท่ีเกี่ยวกบั การ เขียนโปรแกรมอยา่ งเป็ นข้นั ตอน เรียกข้นั ตอนเหล่าน้นั วา่ วงจรการพฒั นาโปรแกรม ประกอบดว้ ย 7 ข้นั ตอน ไดแ้ ก่ การวิเคราะห์ปัญหา การออกแบบโปรแกรม การเขียนโปรแกรม การตรวจสอบ ขอ้ ผิดพลาดของโปรแกรม การทดสอบความถูกตอ้ งของโปรแกรม การจดั ทาเอกสารประกอบ โปรแกรม การติดต้งั และการบารุงรักษาโปรแกรม 2. ภาษาคอมพวิ เตอร์ (Computer Language) มนุษยใ์ ช้ภาษาที่แตกต่างกันในการส่ือสาร เช่น ภาษาไทย ภาษาจีน ภาษาองั กฤษ เป็ นต้น การติดตอ่ ส่ือสารซ่ึงกนั และกนั เพ่ือถ่ายทอดความคิดและความตอ้ งการระหวา่ งผสู้ ่งสารกบั ผรู้ ับสาร ใหเ้ กิดความเขา้ ใจและสามารถทางานไดบ้ รรลุวตั ถุประสงค์ ในทานองเดียวกนั หากมนุษยต์ อ้ งการ สื่อสารเพ่ือให้คอมพิวเตอร์สามารถทางานได้ตรงตามวตั ถุประสงค์ จึงตอ้ งอาศยั สื่อกลางในการ ติดตอ่ สื่อสารระหวา่ งมนุษยก์ บั คอมพวิ เตอร์ ส่ิงนน่ั คือ ภาษาคอมพวิ เตอร์ ภาษาคอมพิวเตอร์มีมากมายหลายภาษา โดยแต่ละภาษาจะประกอบไปด้วยกลุ่มคา (Word) สญั ลกั ษณ์ (Symbol) และกฎเกณฑห์ รือไวยากรณ์ (Syntax) ของแตล่ ะภาษาท่ีมีความแตกตา่ งกนั ไป โดยแต่ละภาษาจะมีกลุ่มคาสั่งและไวยากรณ์เฉพาะของภาษา ซ่ึงไม่สามารถนาไปใชป้ ะปนกนั ได้ ดงั น้นั ผเู้ ขียนโปรแกรมจะตอ้ งเรียนรู้กลุ่มคาสง่ั และกฎเกณฑห์ รือไวยากรณ์ ของภาษาท่ีตอ้ งการใช้ งานเสียก่อน เพอ่ื จะไดเ้ ขียนโปรแกรมไดอ้ ยา่ งถูกตอ้ ง ปัจจุบนั ภาษาคอมพิวเตอร์มีมากมายหลายภาษาใหเ้ ลือกใชง้ าน มีจุดเด่น ประสิทธิภาพ แตกต่าง กนั ไป ดงั น้นั ผูเ้ ขียนโปรแกรมจึงตอ้ งศึกษาว่าภาษาใดมีคาส่ังท่ีมีประสิทธิภาพควบคุมการทางาน ตามท่ีตอ้ งการ เพอ่ื ใหส้ ามารถนาไปเขียนโปรแกรมท่ีตรงตามวตั ถุประสงคข์ องระบบงาน 2.1 ประเภทของภาษาคอมพวิ เตอร์ ภาษาคอมพิวเตอร์สามารถจาแนกได้ 3 ระดบั จาแนกตามลกั ษณะที่ติดต่อระหวา่ งภาษากบั เคร่ืองคอมพวิ เตอร์ ไดแ้ ก่ ภาษาเคร่ือง ภาษาระดบั ต่า และภาษาระดบั สูง 2.1.1 ภาษาเคร่ือง เป็ นภาษาพ้ืนฐานท่ีคอมพิวเตอร์สามารถเขา้ ใจไดแ้ ละปฏิบตั ิตามคาสั่ง ไดท้ นั ที แต่ละคาส่ังประกอบข้ึนจากเลขฐานสอง คือ 0 และ 1 ซ่ึงเป็ นตวั เลขฐานสองเขียนเรียง ติดต่อกนั โดยท่ีโครงสร้างคาสง่ั ในภาษาเคร่ืองจะประกอบดว้ ย 2 ส่วนคือ 1. ส่วนที่ 1 คือ โอเปอเรชันโคด (Operation Code) เป็ นคาสั่งท่ีสั่งให้เครื่ อง คอมพิวเตอร์ปฏิบตั ิการ ทาหนา้ ที่บอกใหค้ อมพิวเตอร์ทราบวา่ ตอ้ งทาอะไร เช่น การบวก(Addition) การลบ(Subtraction) เป็นตน้ 2. ส่วนท่ี 2 คือ โอเปอแรนด์ (Operands) เป็ นส่วนท่ีบอกตาแหน่งของหน่วยความจา หลกั ท่ีใชเ้ กบ็ ขอ้ มูล ซ่ึงคอมพวิ เตอร์ตอ้ งนามาใชก้ ารทางาน
- 15 - ตวั อยา่ งเช่น ตอ้ งการเขียนคาสั่งเพ่ือบวกขอ้ มูลท่ีเก็บอยูใ่ นหน่วยความจาหลกั 2 ตาแหน่งเขา้ ดว้ ยกนั กาหนดให้ 01011010 แทน คาสงั่ บวกในภาษาเครื่อง 00001000 แทน ตาแหน่งของหน่วยความจาท่ีเก็บข้อมูลจานวนแรก อยใู่ นตาแหน่ง 00001000 00001010 แทน ตาแหน่งของหน่วยความจาท่ีเก็บข้อมูลจานวนที่สอง อยใู่ นตาแหน่ง 00001000 รูปแบบคาสงั่ ในภาษาเคร่ือง คือ 01011010 0000 1000 0000 1010 จากตวั อย่างจะเห็นวา่ คาส่ังภาษาเคร่ืองจะมีแต่ตวั เลข 0 กบั 1 เท่าน้นั ทาให้ ยากต่อการทาความเขา้ ใจ ดงั น้นั จึงทาใหม้ ีโอกาสในการเขียนโปรแกรมผดิ พลาดไดง้ ่าย ขอ้ จากดั ของภาษาเคร่ือง คือ ยากต่อการเขียน การจดจาและเรียนรู้คาส่ัง ผูเ้ ขียน โปรแกรมจาเป็นตอ้ งมีความรู้เก่ียวกบั ฮาร์ดแวร์เป็ นอยา่ งดี นอกจากน้ียงั เป็นภาษาที่ยดึ ติดกบั เครื่อง คอมพิวเตอร์ (Hardware Dependent) กล่าวคือ ไม่สามารถนาโปรแกรมเดียวกันไปใช้บนเคร่ือง ตา่ งชนิดกนั ได้ 2.1.2 ภาษาระดบั ต่า เป็ นภาษาที่คอมพิวเตอร์ รับรู้คาสั่งโดยตรงหรือเขา้ ใจง่าย แต่เป็ น ภาษาที่มนุษยอ์ ่านแล้วเข้าใจยาก ภาษาระดับต่าเป็ นภาษาท่ีข้ึนกบั ฮาร์ดแวร์ของคอมพิวเตอร์ แต่ ละระบบ นน่ั คือ ไม่สามารถนาโปรแกรมจากคอมพวิ เตอร์หน่ึงไปทางานกบั อีกคอมพิวเตอร์ หน่ึงได้ โดยภาษาระดบั ต่า ไดแ้ ก่ ภาษาแอสแซมบลี ภาษาแอสแซมบลี จดั เป็ นภาษาท่ีใชส้ ัญลกั ษณ์ขอ้ ความ (Mnemonic code) แทนกลุ่ม ตวั เลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจามากข้ึน การทางานของโปรแกรมจะตอ้ ง แปลภาษาแอสแซมบลีใหเ้ ป็นภาษาเคร่ืองดว้ ยตวั แปลภาษาท่ีเรียกวา่ แอสแซมเบลอร์ การทางานของภาษาแอสแซมบลี ยงั คงมีความสัมพนั ธ์กบั ภาษาเคร่ืองอยู่ นัน่ คือ ภาษาแอสแซมบลี 1 คาส่ัง จะถูกแปลเป็นภาษาเครื่อง 1 คาสัง่ เทา่ น้นั และยงั คงเป็นภาษาที่ยดึ ติดกบั เคร่ืองคอมพิวเตอร์เช่นเดียวกบั ภาษาเคร่ือง ผเู้ ขียนโปรแกรมจึงตอ้ งมีความรู้เกี่ยวกบั ฮาร์ดแวร์เป็ น อยา่ งดี ดงั ตวั อยา่ งตอ่ ไปน้ี LD HL, MEMLOC จากตัวอย่างคาส่ังข้างต้นเป็ นการอ่านค่าตัวแปร (ท่ีเก็บในหน่วยความจา) ช่ือ MEMLOC ไปเก็บไวใ้ นรีจิสเตอร์ ซ่ึงสามารถเขียนเทียบเคียงเป็นภาษาเครื่องคือ 00100001 10001111 00001000
- 16 - ข้อจากัดของภาษาแอสแซมบลี คือ เป็ นภาษาท่ียังข้ึนอยู่กับฮาร์ดแวร์ หรื อ คอมพวิ เตอร์เฉพาะระบบเทา่ น้นั 2.1.3 ภาษาระดบั สูง เน่ืองจากภาษาระดบั ต่าเป็ นภาษาที่ยากต่อการเขา้ ใจและยากต่อการ พฒั นา ท้งั ยงั เป็ นภาษาที่ข้ึนกับเคร่ืองคอมพิวเตอร์เฉพาะระบบใดระบบหน่ึง เม่ือการส่ือสาร พฒั นาข้ึนทาให้มนุษยไ์ ม่จากดั การใช้งานอยู่เพียงเครื่องเดียว ทาให้โปรแกรมท่ีถูกเขียนข้ึนดว้ ย ภาษาเครื่องและภาษาระดับต่าไม่สามารถแลกเปลี่ยนข้อมูลระหว่างกันได้ จึงได้มีการพัฒนา ภาษาคอมพิวเตอร์กลุ่มใหม่ข้ึน โดยมีจุดมุ่งหมาย คือให้ใช้งานและเรียนรู้คาส่ังง่าย เรียกภาษาที่ พฒั นาข้ึนน้ีวา่ ภาษาระดบั สูง ภาษาระดับสูง เป็ นภาษาที่สร้างข้ึนเพื่อช่วยอานวยความสะดวกในการเขียน โปรแกรม ลักษณะของคาสั่งจะประกอบด้วยคาในภาษาอังกฤษ โปรแกรมท่ีได้จะไม่ข้ึนกับ ฮาร์ดแวร์ ผูอ้ ่านสามารถเขา้ ใจความหมายไดท้ นั ที ภาษาระดบั สูงมีมากมายหลายภาษา อาทิเช่น ภาษาฟอร์แทรน ภาษาโคบอล ภาษาปาสคาล ภาษาเบสิก ภาษาวชิ วลเบสิก ภาษาซี และภาษาจาวา เป็ นตน้ 2.2 การเลือกใช้ภาษาคอมพวิ เตอร์ การเลือกใช้ภาษาคอมพิวเตอร์ในการพฒั นาโปรแกรมเพ่ือประยุกต์ใชใ้ นการแต่ละดา้ น จาเป็ นอยา่ งยิ่งที่จะตอ้ งเลือกใชภ้ าษาที่เหมาะสม และเน่ืองจากภาษาคอมพิวเตอร์มีเป็ นจานวนมาก ดงั น้นั จึงมีขอ้ ควรพิจารณาการเลือกใชภ้ าษาคอมพิวเตอร์ ดงั น้ี 1. ภาษามาตรฐานที่ใชใ้ นองคก์ ร การพฒั นาโปรแกรมเพ่อื ใชง้ านในองคก์ รหน่ึง โดยส่วน ใหญ่จะยึดภาษาใดภาษาหน่ึงเป็ นหลกั เน่ืองจาก ทีมงานมีความเช่ียวชาญในภาษาน้นั แลว้ ไม่ตอ้ ง เสียเวลาศึกษาภาษาใหม่ ทาใหส้ ะดวกต่อการพฒั นาข้ึนใหม่หรือปรับปรุงเปลี่ยนแปลงแกไ้ ข 2. คุณสมบตั ิและความเหมาะสมกบั งาน ควรเลือกภาษาคอมพิวเตอร์ที่มีคุณสมบตั ิและ มีความเหมาะสมกบั งาน ซ่ึงควรพิจารณาเก่ียวกบั ความยดื หยนุ่ จุดเด่นและประสิทธิภาพของภาษา ลกั ษณะของการประมวลผล เช่น งานดา้ นธุรกิจ งานด้านบญั ชี นิยมใช้ภาษาโคบอลในงานดา้ น วทิ ยาศาสตร์ และงานดา้ นวศิ วกรรม ควรเลือกใชภ้ าษาซี เป็นตน้ 3. การทางานร่วมกบั โปรแกรมอื่น การเขียนโปรแกรมเพื่อใช้งานในองคก์ ร อาจมีการ ทางานร่วมกนั กบั โปรแกรมอื่น เช่น ระบบการลงทะเบียน จะตอ้ งมีการทางานท้งั ส่วนท่ีติดต่อกบั ผูใ้ ช้ และส่วนของฐานขอ้ มูล ดงั น้นั จึงควรพิจารณาเลือกใชภ้ าษาท่ีสามารถรองรับกนั จะช่วยให้ ระบบทางานอยา่ งมีประสิทธิภาพ
- 17 - 4. การทางานร่วมกบั ระบบอ่ืน โปรแกรมประยุกตบ์ างตวั มีเป้าหมายในการทางานขา้ ม ระบบ เช่นโปรแกรมรับรายการอาหารจากลูกคา้ และการออกใบเสร็จเก็บเงินลูกคา้ ตอ้ งทางาน ร่วมกนั ระหวา่ งโปรแกรมรับรายการสินคา้ ของพนกั งานขาย และส่งขอ้ มูลไปยงั โปรแกรมคานวณ เงินค่าอาหาร เป็นตน้ 2.3 ตวั แปลภาษา การเขียนรหัสคาส่ังควบคุมการทางานระบบด้วยภาษาคอมพิวเตอร์ ท่ีมิใช่ภาษาเครื่ อง ระบบจะไมส่ ามารถประมวลผลไดใ้ นทนั ที เน่ืองจากการทางานของระบบเป็นรหสั เลขฐานสอง คือ 0 กบั 1 ดงั น้นั จึงตอ้ งอาศยั ตวั แปลภาษาคอมพิวเตอร์เพ่ือแปลรหัสคาส่ังไปเป็ นรหัสเลขฐานสอง โดยสามารภจาแนกตวั แปลภาษาได้ 3 ประเภท ไดแ้ ก่ 2.3.1 ตวั แปลภาษาแบบแอสแซมเบลอร์ (Assembler) ตวั แปลภาษาแอสแซมเบลอร์ ใช้แปลรหัสคาส่ังเฉพาะภาษาแอสแซมบลีให้เป็ น ภาษาเครื่อง 2.3.2 ตวั แปลภาษาแบบคอมไพลเ์ ลอร์ (Compiler) ตวั แปลภาษาแบบคอมไพเลอร์ มีลกั ษณะของการแปลคือ แปลคาส่ังท้งั โครงสร้าง โปรแกรมแลว้ จึงแจง้ ความผิดพลาดท้งั หมดเพ่ือให้แกไ้ ข หากไม่มีความผิดพลาดเกิดข้ึนจะสร้าง โปรแกรมใหม่เพื่อเก็บรหสั คาสัง่ ทาใหก้ ารทางานคร้ังต่อไปสามารถเรียกหรืออ่านโปรแกรมไดเ้ ลย โดยไมต่ อ้ งแปลรหสั ใหม่ หากไม่มีการแกไ้ ขโปรแกรม 2.3.3 ตวั แปลภาษาแบบอินเทอร์พรีเตอร์ (Interpreter) ตวั แปลภาษาแบบอินเทอร์พรีเตอร์ มีลกั ษณะของการแปลคือ แปลรหัสทีละคาส่ัง เมื่อพบความผิดพลาดจะหยุดทางาน แล้วแจง้ ความผิดพลาดน้นั ให้ทราบทนั ที จากน้ันจึงทาการ ประมวลผลใหม่ จนกว่าจะไม่มีความผิดพลาดเกิดข้ึนอีก ท้งั น้ีจะไม่มีการสร้างโปรแกรมใหม่เพื่อ เกบ็ รหสั คาสงั่ กล่าวไดว้ ่า ภาษาคอมพิวเตอร์มีความสาคญั อย่างยิ่งต่อผูเ้ ขียนโปรแกรม หรือนักพฒั นา ระบบ โดยภาษาคอมพิวเตอร์ มีววิ ฒั นาการต้งั แต่ ภาษาเครื่อง ภาษาระดบั ต่า ภาษาระดบั สูง และการ เลือกใชภ้ าษาคอมพิวเตอร์จะตอ้ งพิจารณาจาก ภาษาท่ีใชใ้ นองคก์ ร คุณสมบตั ิและความเหมาะสม ของภาษาในดา้ นความยืดหยุน่ จุดเด่นและประสิทธิภาพ และการประมวลผล เป็ นตน้ ท้งั ยงั ตอ้ ง พิจารณาจาก การทางานร่วมกบั ภาษาและระบบสารสนเทศท่ีมีอยู่แลว้ อีกดว้ ย นอกเหนือจากน้ี ตวั แปลภาษายงั มีความสาคญั ต่อการแปลภาษาใหเ้ ป็ นภาษาเคร่ือง ไดแ้ ก่ ตวั แปลภาษาแอสแซมเบลอร์ ตวั แปลภาษาแบบคอมไพลเ์ ลอร์ และตวั แปลภาษาแบบอินเทอร์พรีเตอร์
- 18 - สรุป โปรแกรมคอมพิวเตอร์ หมายถึง กลุ่มคาสั่งท่ีเรียบเรียงตามไวยากรณ์เพื่อสั่งงานให้ คอมพิวเตอร์ทางานในสิ่งที่ตอ้ งการ โดยการเขียนกลุ่มคาส่งั ใหถ้ ูกตอ้ งตามหลกั ไวยากรณ์ เพ่อื สัง่ ให้ คอมพวิ เตอร์ทางานในสิ่งท่ีตอ้ งการ นนั่ คือ การพฒั นาโปรแกรมคอมพิวเตอร์ โดยมีรูปแบบของการ พฒั นาโปรแกรมที่ดี คือ อ่านง่าย ง่ายต่อการบารุงรักษา การเขียนคอมเมนต์ การต้งั ชื่อ การจดั ย่อ หนา้ ของโปรแกรม การกาหนดคา่ ตวั เลข การเวน้ ช่องวา่ ง การใชง้ านฟังกช์ นั ผลลพั ธ์ของโปรแกรม โดยมีข้นั ตอนการพฒั นาโปรแกรม ท่ีเรียกวา่ วงจรการพฒั นาโปรแกรม ประกอบดว้ ย 7 ข้นั ตอน ไดแ้ ก่ การวิเคราะห์ปัญหา การออกแบบโปรแกรม การเขียนโปรแกรม การตรวจสอบขอ้ ผิดพลาด ของโปรแกรม การทดสอบความถูกตอ้ งของโปรแกรม การจดั ทาเอกสารประกอบโปรแกรม การ ติดต้งั โปรแกรมและการบารุงรักษา นอกจากข้นั ตอนการพฒั นาโปรแกรมแลว้ ยงั ตอ้ งคานึงถึง ภาษาคอมพิวเตอร์ โดยภาษาคอมพิวเตอร์ คือ รหสั คาส่ังที่ใชใ้ นการควบคุมการทางานของอุปกรณ์ ในระบบคอมพิวเตอร์ มีความสาคญั ต่อการพฒั นาโปรแกรม เพ่ือให้บรรลุวตั ถุประสงคท์ ่ีผูใ้ ช้งาน โปรแกรมกาหนดไว้ ซ่ึงมีพัฒนาการจากภาษาเคร่ื อง ภาษาระดับต่า และภาษาระดับสูง ผพู้ ฒั นาโปรแกรมจาเป็นตอ้ งพจิ ารณาเลือกใช้โปรแกรมภาษาที่เป็นภาษามาตรฐานที่องคก์ รเลือกใช้ และมีความยดื หยุน่ สูง ตวั แปลภาษาคอมพิวเตอร์ คือ ตวั กลางที่ทาหนา้ ที่ในการแปลรหสั คาสั่งให้ เป็ นรหัสเลขฐานสอง ซ่ึงตวั แปลภาษาคอมพิวเตอร์มี 3 ลกั ษณะ คือ ตวั แปลภาษาแบบแอสแซม เบลอร์ ตวั แปลภาษาแบบคอมไพลเ์ ลอร์ และตวั แปลภาษาแบบอินเทอร์พรีเตอร์
- 19 - แบบฝึ กหดั บทที่ 1 รหสั วชิ า คธ 0408 ช่ือวชิ า การเขยี นโปรแกรมคอมพวิ เตอร์เบือ้ งต้น หน่วยที่ 1 ช่ือหน่วย แนวคดิ เกย่ี วกบั การพฒั นาโปรแกรม จานวนชั่วโมง 8 ช่ัวโมง บทท่ี 1 ชื่อบท หลกั การพฒั นาโปรแกรม จานวนชั่วโมง 4 ชั่วโมง จงตอบคาถามแบบฝึ กหัดต่อไปนี้ จานวน 14 ข้อ คะแนน 80 คะแนน 1. จงบอกความหมายของการพฒั นาโปรแกรมมาพอสงั เขป (5 คะแนน) 2. จงอธิบายพร้อมท้งั ยกตวั อยา่ งรูปแบบของการพฒั นาโปรแกรมท่ีดี (5 คะแนน) 3. จงอภิปรายถึงข้นั ตอนการพฒั นาโปรแกรมคอมพวิ เตอร์มาพอสงั เขป (5 คะแนน) 4. จงบอกข้นั ตอนของการวเิ คราะห์ปัญหา (5 คะแนน) 5. ตอ้ งการคานวณหาความยาวของเส้นรอบวงกลม โดยการรับคา่ รัศมีทางแป้นพมิ พ์ และตอ้ งการ ใหผ้ ลลพั ธ์ทางจอภาพ จงแสดงวธิ ีการวเิ คราะห์ปัญหา (10 คะแนน) 6. ตอ้ งการคานวณหาเงินค่าตดั หญา้ ที่คนสวนจะไดร้ ับ โดยใหโ้ ปรแกรมรับคา่ ความกวา้ งและ ความยาว (หน่วยเป็ นเมตร) ของพ้ืนท่ี ผา่ นทางแป้นพิมพ์ กาหนดใหอ้ ตั ราคา่ ตดั หญา้ เป็น 1 ตารางเมตรละ 500 บาท จงแสดงวธิ ีการวเิ คราะห์ปัญหา (10 คะแนน) 7. จงอธิบายพร้อมท้งั ยกตวั อยา่ งเคร่ืองมือที่ใชใ้ นการออกแบบโปรแกรม (5 คะแนน) 8. จงอภิปรายถึงประเภทของขอ้ ผดิ พลาดของโปรแกรมมาพอสังเขป (5 คะแนน) 9. จงอธิบายถึงข้นั ตอนการตรวจสอบความผดิ พลาดของโปรแกรม มาพอสงั เขป (5 คะแนน) 10. จงอธิบายถึงสาเหตุของการจดั ทาเอกสารประกอบโปรแกรม พร้อมท้งั ยกตวั อยา่ ง (5 คะแนน) 11. จงบอกความสาคญั ของการติดต้งั และบารุงรักษาโปรแกรมคอมพิวเตอร์ (5 คะแนน) 12. จงอภิปรายถึงประเภทของภาษาคอมพิวเตอร์ พร้อมท้งั ยกตวั อยา่ ง (5 คะแนน) 13. นกั ศึกษาจะมีวธิ ีการเลือกใชภ้ าษาคอมพวิ เตอร์เพื่อเขียนโปรแกรมใหบ้ รรลุวตั ถุประสงคข์ อง งานอยา่ งไร (5 คะแนน) 14. จงอภิปรายถึงตวั แปลภาษาคอมพิวเตอร์แตล่ ะประเภท (5 คะแนน)
- 20 - ใบงานบทท่ี 1 รหสั วชิ า วท 014 ช่ือวชิ า การเขยี นโปรแกรมคอมพวิ เตอร์ 1 หน่วยที่ 1 ช่ือหน่วย แนวคดิ เกย่ี วกบั การพฒั นาโปรแกรม จานวนชั่วโมง 8 ช่ัวโมง บทท่ี 1 ชื่อบท หลกั การพฒั นาโปรแกรม จานวนชั่วโมง 4 ชั่วโมง 1. จงแสดงวธิ ีการวเิ คราะห์ปัญหาเพอื่ พฒั นาโปรแกรม เพ่ือคิดคานวณคะแนนผลการเรียนของ นกั เรียน ท่ีเกิดจากการนาค่าคะแนนสอบกลางภาคเรียนมาบวกกบั ค่าคะแนนสอบปลายภาค เรียน โดยใหโ้ ปรแกรมสามารถรับค่าคะแนนสอบกลางภาคเรียน และคะแนนสอบปลายภาค เรียน
- 21 - 2. หากตอ้ งการเรียงลาดบั เลขจานวนเตม็ 3 จานวน จากมากไปหานอ้ ย โดยการรับคา่ ตวั เลขทาง แป้นพิมพ์ และตอ้ งการใหผ้ ลลพั ธ์ทางจอภาพ จงแสดงวธิ ีการวเิ คราะห์ปัญหา
- 22 - 3. ตอ้ งการคานวณหาเงินค่าซ่อมบา้ น มีวิธีการคิดคานวณจากพ้ืนที่ของบา้ นท่ีตอ้ งการซ่อมแซม โดยให้โปรแกรมรับค่าความยาวและความกวา้ งของบา้ น (หน่วยเป็ นเมตร) ผา่ นทางแป้นพิมพ์ กาหนดใหอ้ ตั ราคา่ ซ่อมแซมตารางเมตรละ 1000 บาท จงแสดงวธิ ีการวเิ คราะห์ปัญหา
- 23 - บทท่ี 2 ผงั งาน ความรู้เบ้ืองตน้ เก่ียวกบั การเขียนผงั งาน การเขียนผงั งาน
- 24 - แผนบริหารการสอนประจาบทท่ี 2 รหัสวชิ า คธ 0408 ชื่อวชิ า การเขยี นโปรแกรมคอมพวิ เตอร์เบือ้ งต้น หน่วยที่ 1 ช่ือหน่วย แนวคดิ เกย่ี วกบั การพฒั นาโปรแกรม จานวนชั่วโมง 8 ชั่วโมง บทท่ี 2 ช่ือบท การเขียนผงั งาน จานวนช่ัวโมง 4 ชั่วโมง เนื้อหา 1. ความรู้เบ้ืองตน้ เกี่ยวกบั การเขียนผงั งาน 1.1 ความหมายของผงั งาน 1.2 ประเภทของผงั งาน 1.3 หลกั เกณฑก์ ารเขียนผงั งานที่ดี 1.4 ประโยชน์ของผงั งาน 2. การเขียนผงั งาน 2.1 สัญลกั ษณ์ท่ีใชใ้ นการเขียนผงั งาน 2.2 รูปแบบการเขียนผงั งาน สาระสาคญั 1. ผงั งาน คือ แผนภาพท่ีใช้แสดงลาดบั ข้นั ตอนในการทางานของโปรแกรม ซ่ึงจะใช้ภาพ สัญลกั ษณ์ท่ีเป็ นมาตรฐานเดียวกนั สื่อความหมายแทนแต่ละข้นั ตอนการทางาน ซ่ึงจะทาใหท้ ราบ ข้นั ตอนและลาดบั การทางานของโปรแกรม โดยทวั่ ไปมกั เขียนหลงั จากที่ไดม้ ีการวิเคราะห์ปัญหา เรียบร้อยแลว้ 2. ผงั งานในการทางานทางคอมพิวเตอร์ สามารถแบ่งได้ 2 ประเภท คือ ผงั งานระบบ และผงั งานโปรแกรม 3. การเขียนผงั งานท่ีดี ควรปฏิบตั ิตามหลกั เกณฑข์ องการเขียนผงั งาน อนั ไดแ้ ก่ ควรวเิ คราะห์ ปัญหาและเขียนข้นั ตอนวิธีให้เสร็จก่อนเขียนผงั งาน ใช้สัญลักษณ์ตามมาตรฐานของ ANSI ขอ้ ความภายในสัญลกั ษณ์ควรจะเขียนให้ส้นั อ่านเขา้ ใจง่ายและชดั เจน ขนาดของสัญลกั ษณ์มีความ เหมาะสม ควรเขียนจากบนลงล่าง ซา้ ยไปขวา และเส้นที่เชื่อมจะตอ้ งมีการระบุทิศทางโดยหวั ลูกศร ควรเขียนผงั งานใหจ้ บในหนา้ เดียว แต่หากจาเป็ นตอ้ งเขียนหลายหนา้ จะตอ้ งมีการใชส้ ัญลกั ษณ์ใน การเชื่อมโยงและระบุหมายเลขกากบั ดว้ ย ไม่ควรลากเส้นตดั กนั ไม่ควรโยงลูกศรไปท่ีอยไู่ กลกนั หากมีความจาเป็นใหใ้ ชส้ ัญลกั ษณ์การเชื่อมตอ่ แทน 4. ผงั งานจะมีประโยชน์ต่อการเขียนโปรแกรม คือ ช่วยใหเ้ ขา้ ใจข้นั ตอนและลาดบั การทางาน ของโปรแกรมอย่างรวดเร็ว เป็ นสื่อกลางระหว่างผูอ้ อกแบบ นักวิเคราะห์ระบบหรือนักเขียน โปรแกรม ลดความผดิ พลาดที่เกิดข้ึนระหวา่ งการเขียนโปรแกรม เป็นตน้ ฉบบั เพื่อพฒั นาโปรแกรม ท่ีมีลาดบั ข้นั ตอนที่คลา้ ยคลึงกนั
- 25 - 5. สัญลกั ษณ์ที่ใชใ้ นการเขียนผงั งาน มีหลายชนิดข้ึนอยกู่ บั งานที่ตอ้ งการให้ทา เช่น ตอ้ งการ บอกจุดเริ่มตน้ ของการทางาน จุดสิ้นสุดของการทางาน หรือ การประกาศตวั แปร การประมวลผล เป็ นตน้ 6. การเขียนผงั งานมี 3 รูปแบบ ไดแ้ ก่ แบบเรียงลาดบั แบบมีการเลือก และแบบทาซ้า โดยแต่ ละประเภทจะเหมาะสมกบั งานใดก็ข้ึนอยูก่ บั การวิเคราะห์งานหรือปัญหาที่ตอ้ งการแกไ้ ข หรือใน บางคร้ังอาจข้ึนอยกู่ บั ความถนดั ของนกั พฒั นาโปรแกรมก็เป็นได้ จุดประสงค์การเรียนการสอน จุดประสงค์ทว่ั ไป 1. เพอื่ ใหม้ ีความรู้ความเขา้ ใจเก่ียวกบั ผงั งาน 2. เพื่อใหม้ ีความรู้ความเขา้ ใจเกี่ยวกบั สัญลกั ษณ์ท่ีใชใ้ นผงั งาน 3. เพอื่ ใหม้ ีความรู้ความเขา้ ใจเก่ียวกบั รูปแบบของผงั งาน 4. เพ่ือใหม้ ีกิจนิสัยในการศึกษาคน้ ควา้ หาความรู้เพิม่ เติม จุดประสงค์เชิงพฤติกรรม 1. บอกความหมายของผงั งานได้ 2. เลือกใชป้ ระเภทของผงั งานไดอ้ ยา่ งถูกตอ้ ง 3. บอกหลกั เกณฑก์ ารเขียนผงั งานได้ 4. บอกประโยชน์ของผงั งานได้ 5. เลือกใชส้ ัญลกั ษณ์ในการเขียนผงั งานได้ 6. เขียนผงั งานแต่ละรูปแบบได้ วธิ ีสอนและกจิ กรรมการเรียนการสอน 1. วธิ ีสอน 1.1 สอนแบบบรรยายตามเน้ือหาแตล่ ะหวั ขอ้ โดยการนาเขา้ สู่บทเรียนเก่ียวกบั การ เขียนผงั งาน ความสาคญั และความจาเป็นของการเขียนผงั งานก่อนการเขียนโปรแกรม 1.2 สอนแบบสาธิตวธิ ีการเขียนผงั งาน 1.3 นกั ศึกษาฝึกปฏิบตั ิการเขียนผงั งาน การเลือกใชส้ ัญลกั ษณ์ในการเขียนผงั งาน 1.4 นกั ศึกษาคน้ ควา้ เพ่ิมเติมจากแหล่งเรียนรู้เกี่ยวกบั ประเภทของผงั งานและการ ประยกุ ตใ์ ชใ้ นปัจจุบนั
- 26 - 2. กจิ กรรมระหว่างเรียน 2.1 นกั ศึกษาทาแบบทดสอบก่อนเรียน 2.2 นกั ศึกษาฟังบรรยาย และสาธิตการแกป้ ัญหาของโปรแกรม การเขียนผงั งาน และ คน้ ควา้ เพม่ิ เติมเก่ียวกบั ประเภทของผงั งานและการประยกุ ตใ์ ชใ้ นปัจจุบนั 2.3 นกั ศึกษาทาแบบฝึกหดั แต่ละบทเพือ่ ฝึกปฏิบตั ิ ผสู้ อนเฉลยแบบฝึกหดั 2.4 นกั ศึกษาทาใบงาน และผสู้ อนเฉลยใบงาน 2.5 นกั ศึกษาทาแบบทดสอบหลงั เรียน ส่ือการเรียนการสอน 1. เอกสารประกอบการเรียนที่ประกอบดว้ ย เน้ือหา และแบบฝึกหดั 2. สื่ออิเลก็ ทรอนิกส์ 3. ชุดคอมพวิ เตอร์ที่ติดต้งั โปรแกรม Dev C++ การประเมินผล 1. ประเมินผลจากแบบทดสอบก่อนเรียน 2. ประเมินผลจากแบบฝึกหดั 3. ประเมินผลจากแบบทดสอบหลงั เรียน แหล่งค้นคว้าเพมิ่ เติม 1. https://sites.google.com/site/ajpuangpet 2. http://www.programming.in.th/index.php 3. http://www.thaiall.com/flowchart/indexo.html 4. http://www.programiz.com/article/flowchart-programming 5. https://www.youtube.com/watch?v=xN6QkkGTwI4
- 27 - เนื้อหาบทที่ 2 รหัสวชิ า คธ 0408 ชื่อวชิ า การเขยี นโปรแกรมคอมพวิ เตอร์เบื้องต้น หน่วยที่ 1 ชื่อหน่วย แนวคิดเกย่ี วกบั การพฒั นาโปรแกรม จานวนช่ัวโมง 8 ชั่วโมง บทที่ 2 ชื่อบท การเขียนผงั งาน จานวนช่ัวโมง 4 ช่ัวโมง การเขียนโปรแกรมดว้ ยภาษาคอมพิวเตอร์ โดยทวั่ ไปจะมีหลกั การหรือข้นั ตอนท่ีสาคญั หลาย ข้นั ตอนไดแ้ ก่ การวเิ คราะห์ปัญหา การออกแบบโปรแกรม การเขียนโปรแกรม การตรวจสอบความ ผดิ พลาดของโปรแกรม การทดสอบความถูกตอ้ งของโปรแกรม ทาเอกสารประกอบโปรแกรม และ การติดต้งั และบารุงรักษาโปรแกรม ดงั น้นั หลงั จากการวเิ คราะห์ปัญหาแลว้ จะตอ้ งมีการออกแบบ โปรแกรมเพื่อเป็ นการวางแผนการทางาน ผงั งาน (Flowchart) จดั เป็ นเครื่องมือหน่ึงที่ใช้อธิบาย ลาดับข้นั ตอนการทางานในรูปแบบแผนภาพ โดยใช้สัญลักษณ์ที่มีรูปร่างแตกต่างกัน และมี ความหมายแทนคาส่ัง และใช้ข้อความในสัญลักษณ์แทนข้อมูลตวั แปร ตวั ดาเนินการทางการ คานวณและการเปรียบเทียบ นอกจากน้ี ผงั งานยงั แสดงความสัมพนั ธ์ระหวา่ งข้นั ตอนการทางาน โดยสามารถแบ่งลกั ษณะการทางานและความสัมพนั ธ์เป็ นรูปแบบท่ีแตกต่างกนั ไดแ้ ก่ การทางาน แบบมีลาดบั การทางานแบบมีเงื่อนไข และการทางานแบบทาซ้าภายใตเ้ ง่ือนไขท่ีแตกต่างกนั แลว้ จึงนาผงั งานท่ีออกแบบไวไ้ ปเขียนเป็ นภาษาคอมพวิ เตอร์ ในบทน้ี จึงขอกล่าวถึงความรู้เก่ียวกบั การ เขียนผงั งาน ประเภทของผงั งาน และการเขียนผงั งานท่ีถูกตอ้ ง 1. ความรู้เบื้องต้นเกย่ี วกบั การเขยี นผงั งาน 1.1 ความหมายของผังงาน การเขียนโปรแกรมแต่ละคร้ัง จาเป็ นตอ้ งมีการกาหนดลาดบั ข้นั ตอนในการทางานของ โปรแกรมอยา่ งชดั เจน เรียกว่า การเขียนอลั กอริทึม (Algorithm) เพ่ือให้โปรแกรมทางานไดอ้ ยา่ ง มีระเบียบแบบแผน และมีข้นั ตอนทางานท่ีชดั เจน ดงั น้นั การจดั ทาผงั งานแสดงลาดบั การทางาน ของการทางานของจึงเป็นส่ิงจาเป็นอยา่ งยงิ่ ต่อการเขียนโปรแกรม ผงั งาน หมายถึง แผนภาพท่ีใชแ้ สดงลาดบั ข้นั ตอนในการทางานของโปรแกรม ซ่ึงจะใช้ ภาพสัญลกั ษณ์สื่อความหมายแทนข้นั ตอนของการทางาน โดยมีการเช่ือมโยงสัญลกั ษณ์เขา้ ดว้ ยกนั ต้งั แต่เริ่มตน้ จนจบโปรแกรม เพ่ือแสดงลาดบั การทางานของโปรแกรม โดยทวั่ ไปมกั เขียนหลงั จาก ที่ไดม้ ีการวเิ คราะห์ปัญหาและเขียนข้นั ตอนวธิ ีการทางานเรียบร้อยแลว้
- 28 - 1.2 ประเภทของผงั งาน ผงั งาน สามารถแบ่งตามประเภทของการใชง้ าน ได้ 2 ประเภท ไดแ้ ก่ ผงั งานระบบ และ ผงั งานโปรแกรม ดงั น้ี 1.2.1 ผังงานระบบ เป็ นภาพแผนผงั ท่ีแสดงขอบเขตและลาดบั ข้นั ตอนในการทางานของ ระบบ ถึงองค์ประกอบท่ีมีอยู่ในระบบท้งั หมดว่ามีการเริ่มต้นระบบเป็ นอย่างไร มีข้อมูลอะไร มีกระบวนการทางานเป็ นอย่างไร ผลลัพธ์เป็ นอย่างไร จนกระทั่งจบการทางาน ไม่มุ่งเน้น รายละเอียดในการปฏิบตั ิ เช่น เอกสารเบ้ืองตน้ หรือส่ือบนั ทึกขอ้ มูลที่ใชอ้ ยเู่ ป็ นอะไร และผา่ นไป ยงั หน่วยงานใด มีกิจกรรมอะไรในหน่วยงานน้นั แลว้ จะส่งต่อไปหน่วยงานใด เป็ นตน้ ดงั น้นั ผงั งานระบบอาจเก่ียวขอ้ งกบั คน วสั ดุ และเคร่ืองจกั ร ซ่ึงแต่ละจุดจะประกอบไปดว้ ย การนาขอ้ มูลเขา้ วธิ ีการประมวลผลและการแสดงผลลพั ธ์ ดงั เช่นรูปที่ 2.1 แบบส่งผลการเรียน ขอ้ มูลนกั ศึกษา บนั ทึกผลการเรียน ขอ้ มูลผลการเรียน ใบเกรด รูปท่ี 2.1 ผงั งานระบบแสดงผลการเรียน ผงั งานระบบเป็ นเอกสารประกอบโปรแกรม ซ่ึงจะช่วยให้การศึกษาลาดบั ข้นั ตอนของ โปรแกรมง่ายข้นั จึงนิยมเขียนผงั งานระบบประกอบการเขียนโปรแกรม ดว้ ยเหตุผลท่ีวา่ ง่ายตอ่ การ ทาความเขา้ ใจ ไม่ข้ึนกบั ภาษาคอมพิวเตอร์ใด ดงั น้นั เป้าหมายของการเขียนผงั งานระบบจึงเขียน เพ่ือใหท้ ราบถึงความเก่ียวขอ้ งของระบบต้งั แตเ่ ริ่มตน้ วา่ มีการปฏิบตั ิแต่ละข้นั ตอนอยา่ งไร ใชว้ ธิ ีการ อะไรบ้าง เหมาะสาหรับผูบ้ ริหาร ผูว้ ิเคราะห์ระบบ และนักเขียนโปรแกรม จะได้ทราบถึง ความสัมพนั ธ์ของแต่ละส่วน แต่ยงั ไมส่ ามารถบอกลาดบั ความสาคญั ของแตล่ ะข้นั ตอนได้ 1.2.2 ผงั งานโปรแกรม เป็ นแผนผงั ที่แสดงลาดบั ข้นั ตอนการทางานของโปรแกรม มีการ แสดงรายละเอียดของการทางาน มีวิธีการทางาน ลาดบั ข้นั ตอนของโปรแกรม ต้งั แต่เร่ิมตน้ วา่ รับ ขอ้ มูลใดมาบา้ ง ประมวลผลอยา่ งไร และแสดงผลลพั ธ์แบบใด ดงั รูปท่ี 2.2
- 29 - Start score1, score2 average = (score1+score2)/2 Stop รูปท่ี 2.2 แสดงผงั งานโปรแกรมการทางานหาคา่ เฉล่ีย 1.3 หลกั เกณฑ์การเขียนผงั งานทด่ี ี การเขียนผงั งานท่ีดี ผเู้ ขียนควรมีหลกั เกณฑใ์ นการเขียนผงั งานดงั ตอ่ ไปน้ี 1. ควรวเิ คราะห์ปัญหาและเขียนข้นั ตอนวธิ ีใหเ้ สร็จก่อนเขียนผงั งาน 2. ใชส้ ญั ลกั ษณ์ตามมาตรฐานของ ANSI 3. ขอ้ ความภายในสัญลกั ษณ์ควรจะเขียนใหส้ ้นั อา่ นเขา้ ใจง่ายและชดั เจน 4. ขนาดของสญั ลกั ษณ์มีความเหมาะสม 5. ควรเขียนจากบนลงล่าง และเส้นท่ีเช่ือมจะตอ้ งมีการระบุทิศทางโดยหวั ลูกศร 6. ควรเขียนผงั งานให้จบในหนา้ เดียว แต่หากจาเป็ นตอ้ งเขียนหลายหนา้ จะตอ้ งมีการใช้ สญั ลกั ษณ์ในการเชื่อมโยงและระบุหมายเลขกากบั ดว้ ย 7. ไมค่ วรลากเส้นตดั กนั 8. ไมค่ วรโยงลูกศรในระยะที่ห่างกนั มาก ใหใ้ ชส้ ัญลกั ษณ์การเช่ือมตอ่ แทน 1.4 ประโยชน์ของผงั งาน 1. ช่วยใหเ้ ขา้ ใจข้นั ตอนและลาดบั การทางานของโปรแกรมอยา่ งรวดเร็ว 2. เป็นส่ือกลางระหวา่ งผอู้ อกแบบ นกั วเิ คราะห์ระบบหรือนกั เขียนโปรแกรม 3. ลดความผดิ พลาดที่เกิดข้ึนระหวา่ งการเขียนโปรแกรม 4. เม่ือมีข้นั ตอนใดมีการทางานผดิ พลาดสามารถหาจุดผดิ พลาดไดง้ ่าย 5. สามารถนาผงั งานไปพฒั นาเป็นโปรแกรมคอมพวิ เตอร์ไดท้ ุกภาษา
- 30 - 2. การเขียนผงั งานโปรแกรม การเขียนผงั งานโปรแกรม เป็นผงั งานที่แสดงข้นั ตอนการทางาน โดยใชส้ ญั ลกั ษณ์รูปภาพ เพ่ือ แสดงลาดบั การทางาน ดงั น้นั จึงควรทาความเขา้ ใจสัญลกั ษณ์ที่ใชใ้ นการเขียนผงั งาน และรูปแบบ ของผงั งาน 2.1 สัญลกั ษณ์ทใ่ี ช้ในการเขยี นผงั งาน การใช้ภาพแทนความหมายของงานและความเชื่อมโยง เพื่อให้สามารถใช้ผงั งาน เป็ น เครื่องมือส่ือสารระหว่างกัน จึงจาเป็ นต้องมีสัญลักษณ์ท่ีมีมาตรฐาน เรียกว่า สัญลักษณ์ตาม มาตรฐาน ANSI (American National Standards Institute) ดงั น้ี สัญลกั ษณ์ ช่ือเรียก ความหมาย เริ่มตน้ และลงทา้ ย จุดเร่ิมตน้ และจุดสิ้นสุดในการทางาน ทิศทาง แสดงทิศทางการทางานของโปรแกรม การปฏิบตั ิงาน การประมวลผลเช่น การคานวณและ การนาขอ้ มูลเขา้ /ออก การกาหนดค่า รับ/แสดงผลโดยไมแ่ สดงชนิดอุปกรณ์ การนาขอ้ มูลเขา้ ดว้ ยมือ รับขอ้ มูลจากคียบ์ อร์ด การแสดงขอ้ มูล แสดงรายละเอียดทางจอภาพ การทาเอกสาร แสดงขอ้ มูลทางเครื่องพิมพ์ การตดั สินใจ เปรียบเทียบตดั สินใจ การตรวจสอบ จุดเชื่อมต่อหนา้ กระดาษ เง่ือนไขเพือ่ เลือกทาอยา่ งใดอยา่ งหน่ึง จุดเชื่อมต่อผงั งานหนา้ ใหม่ จุดเช่ือมต่อ จุดเชื่อมต่อผงั งานภายในหนา้ เดียวกนั
- 31 - สัญลกั ษณ์ ช่ือเรียก ความหมาย การเรียกโปรแกรมภายนอก การทางานยอ่ ย การเตรียมการ กาหนดค่าเร่ิมตน้ รอบวนซ้า ตารางท่ี 2.1 แสดงสัญลกั ษณ์ที่ใชใ้ นการเขียนผงั งาน 2.2 รูปแบบของผงั งาน ผงั งานโปรแกรมสามารถจาแนกได้ 3 รูปแบบ ไดแ้ ก่ 2.2.1 ผงั งานแบบเรียงลาดบั (Sequence Structure) เป็ นผงั งานที่มีการวางสัญลกั ษณ์เรียง ต่อกนั ตามลาดบั และเชื่อมต่อดว้ ยเส้นตรงที่มีลูกศร แสดงลาดบั ของงานจากงานที่ 1 จนถึงงานที่ N เป็นโครงสร้างท่ีพบมากท่ีสุด ดงั รูปท่ี 2.3 เริ่มตน้ ทาชดุ คาสงั่ ที่ 1 รบั ค่าตัวแปร ทาชดุ คาสัง่ ที่ 2 แสดงผล จบ รูปที่ 2.3 แสดงการเขียนผงั งานแบบเรียงลาดบั จากภาพ แสดงการเขียนผงั งานแบบเรียงลาดบั หมายถึง โปรแกรมจะทางานตามชุดคาสั่งท่ี ไดเ้ ขียนเรียงกนั ไปโดยไม่มีการทาซ้า
- 32 - ตัวอย่างการเขียนผงั งานเรียงแบบลาดบั ตัวอย่างท่ี 2.1 ผงั งานโปรแกรมบวกเลขจานวนเตม็ 2 จานวนแลว้ ทาการแสดงผลออกทางจอภาพ วเิ คราะห์ปัญหา 1. ระบุส่ิงท่ีตอ้ งการ - ผลลพั ธ์ของการบวกเลข 2 จานวน 2. กาหนดรูปแบบผลลพั ธ์ - แสดงผลลพั ธ์ของการบวกเลขจานวนเตม็ 3. ระบุขอ้ มูลนาเขา้ - จานวนเตม็ 2 จานวน 4. กาหนดตวั แปรที่ใช้ - number1, number2 แทน จานวนเตม็ ตวั ที่ 1, จานวนเตม็ ตวั ท่ี 2 - sum แทน ผลลพั ธ์ของผลรวม 5. กาหนดวธิ ีการประมวลผล - เริ่มการทางาน - กาหนดค่าเลขจานวนเตม็ ตวั ที่ 1 - กาหนดค่าเลขจานวนเตม็ ตวั ที่ 2 - บวกเลขจานวนเตม็ ตวั ที่ 1 กบั เลขจานวนเตม็ ตวั ที่ 2 เก็บไวท้ ี่ตวั แปร sum - แสดงผลรวมของเลขจานวนเตม็ - จบการทางาน Start number1 = 10 number2 = 20 sum = number1 + number2 printf(sum) Stop รูปท่ี 2.4 แสดงการเขียนผงั งานแบบเรียงลาดบั เพอ่ื แสดงผลลพั ธ์ของการบวกเลขสองจานวน
- 33 - 2.2.2 ผงั งานแบบมีการเลือก (Selection Structure) เป็ นโครงสร้างการทางานท่ีซับซ้อน มากกว่าผงั งานแบบลาดบั โดยจะมีการเลือกเส้นทางในการทางานมากกว่า 1 เส้นทาง หรืออาจ มากกวา่ ข้ึนอยกู่ บั เงื่อนไขท่ีเราออกแบบไว้ ซ่ึงโดยทว่ั ไปแลว้ ผงั งานแบบมีการเลือกจะมีอยู่ 3 กรณี ดงั น้ี กรณีที่ 1 การเลือกแบบหน่ึงเส้นทาง ทางานชุดคาส่ังเฉพาะเมื่อเงื่อนไขเป็ นจริง เท่าน้นั ดงั รูปที่ 2.5 ตรวจสอบ เทจ็ เง่ือนไข จริง ชดุ คาสัง่ รูปที่ 2.5 แสดงผงั งานเลือกทา 1 เส้นทาง กรณีท่ี 2 การเลือกทาแบบสองเส้นทาง ทางานโดยการพิจารณาเง่ือนไขท่ีเป็ นจริง และเป็นเทจ็ โดยถา้ เป็นจริงจะทาอยา่ งหน่ึง และถา้ เป็นเทจ็ จะทาอีกอยา่ งหน่ึง ดงั รูปที่ 2.6 จริง ตรวจสอบ เทจ็ ชดุ คาสัง่ ท่ี 1 เงอ่ื นไข ชดุ คาสงั่ ท่ี 2 รูปท่ี 2.6 แสดงผงั งานการเลือกทาอยา่ งใดอยา่ งหน่ึง
- 34 - กรณีท่ี 3 การเลือกทาแบบหลายเส้นทาง ทางานโดยการพิจารณาเงื่อนไขท่ีเกิดข้ึน ถา้ เทา่ กบั ทางเลือกใดจะใหไ้ ปทางานตามทางเลือกน้นั ดงั รูปท่ี 2.7 เงอ่ื นไข X X=1 X=2 X=3 X=4 ชุดคาสัง่ ท่ี 1 ชุดคาสัง่ ท่ี 2 ชุดคาสงั่ ท่ี 3 ชุดคาสัง่ ท่ี 4 2.2.3 .. รูปท่ี 2.7 แสดงผงั งานการทางานหลายทางเลือก ตวั อย่างการเขียนผงั งานแบบมกี ารเลือก ตวั อย่างท่ี 2.2 จงเขียนผงั งานแสดงผลทางจอภาพของเลขท่ีมีคา่ มากสุดของเลขจานวนเตม็ 2 จานวน วเิ คราะห์ปัญหา 1. ระบุส่ิงท่ีตอ้ งการ - แสดงผลทางจอภาพของเลขท่ีมีคา่ มากสุด 2. กาหนดรูปแบบผลลพั ธ์ - เลขที่มีค่ามากสุด 3. ระบุขอ้ มูลนาเขา้ - จานวนเตม็ 2 จานวน 4. กาหนดตวั แปรที่ใช้ - number1 แทน จานวนเตม็ ท่ี 1 - number2 แทน จานวนเตม็ ท่ี 2 5. กาหนดวธิ ีการประมวลผล 1. เร่ิมการทางาน 2. กาหนดค่าเร่ิมตน้ ให้ number1 3. กาหนดคา่ เร่ิมตน้ ให้ number2
- 35 - 4. ทาการเปรียบเทียบวา่ number1 > number2 4.1 ถา้ จริง(T) 4.1.1 แสดงผล number1 ทางจอภาพ 4.2 ถา้ ไมจ่ ริง(F) 4.2.1 แสดงผล number2 ทางจอภาพ 5. จบการทางาน Start number1 = 10 number2 = 20 True if(number1> False number2) printf(number1) printf(number2) Stop รูปที่ 2.8 แสดงตวั อยา่ งการเขียนผงั งานแบบมีการเลือกเพื่อเปรียบเทียบและแสดงค่าท่ีมากกวา่
- 36 - ตัวอย่างที่ 2.3 จงเขียนผงั งานแบบทางเลือกตดั เกรดตามคะแนนที่นกั ศึกษาไดร้ ับโดยมีเงื่อนไขดงั น้ี คะแนน 80 – 100 เกรด A คะแนน 70 - 79 เกรด B คะแนน 60 - 69 เกรด C คะแนน 50 - 59 เกรด D คะแนนต่ากวา่ 50 เกรด F วเิ คราะห์ปัญหา 1. ระบุส่ิงท่ีตอ้ งการ - เกรดตามคะแนนท่ีนกั ศึกษาไดร้ ับ 2. กาหนดรูปแบบผลลพั ธ์ - เกรดของนกั ศึกษา 3. ระบุขอ้ มูลนาเขา้ - คะแนนผลการเรียนที่นกั ศึกษาไดร้ ับ มีคา่ ต้งั แต่ 1 - 100 4. กาหนดตวั แปรท่ีใช้ - Score แทน คะแนนผลการเรียนที่นกั ศึกษาไดร้ ับ มีค่า ต้งั แต่ 1 – 100 - Grade แทน เกรดของนกั ศึกษา 5. กาหนดวธิ ีการประมวลผล 1. เร่ิมการทางาน 2. กาหนดตวั แปร 3. รับคา่ คะแนน 4. ตรวจสอบขอ้ มูลคะแนน 4.1 ถา้ คะแนนมากกวา่ 79 พมิ พเ์ กรด A 4.2 ถา้ คะแนนมากกวา่ 69 พิมพเ์ กรด B 4.3 ถา้ คะแนนมากกวา่ 59 พิมพเ์ กรด C 4.4 ถา้ คะแนนมากกวา่ 49 พิมพเ์ กรด D 4.5 ถา้ ไมใ่ ช่กรณีขา้ งตน้ พิมพเ์ กรด F 5. จบการทางาน
- 37 - Start Input score score > 79 True Grade A False score > 69 True Grade B False score > 59 True Grade C False score > 49 True Grade D False Grade F Stop รูปที่ 2.9 แสดงตวั อยา่ งการเขียนผงั งานแบบทางเลือก เพ่ือตดั เกรด 2.2.3 ผงั งานแบบทาซ้า (Iteration Structure) เป็นรูปแบบการเขียนผงั งาน ท่ีมีการกาหนด และตรวจสอบเง่ือนไขในการทางาน หากเป็ นไปตามท่ีกาหนดจะทางานซ้าจนกระทง่ั หมดเง่ือนไข น้นั จึงออกจากการทางานซ้าเพือ่ ทางานอ่ืน หรือออกจากโปรแกรม ดงั รูปที่ 2.10 เง่อื นไข จริง ชุดคาสงั่ เท็จ รูปที่ 2.10 แสดงผงั งานแบบทาซ้า
- 38 - ผงั งานโปรแกรมแบบทาซ้า สามารถแบง่ ได้ 3 กรณี ดงั น้ี กรณีท่ี 1 ผงั งานทาซ้าแบบเงื่อนไขเป็ นจริง กาหนดเงื่อนไขเพื่อตรวจสอบก่อน การทางาน ถา้ เป็ นจริงจะทางานซ้า จนกระทงั่ จบเง่ือนไขหรือเป็ นเท็จ จึงออกจากการทางานซ้า ดงั รูปที่ 2.11 เท็จ ออกจากการทาซ้า ตรวจสอบเงือ่ นไข จริง ชดุ คาสงั่ ท่ีตอ้ งทางานซ้า รูปท่ี 2.11 แสดงรูปแบบผงั งานแบบเงื่อนไขเป็ นจริง กรณีท่ี 2 ผงั งานทาซ้าจนเง่ือนไขเป็ นจริง โปรแกรมจะทางานชุดคาสั่งก่อนการ ตรวจสอบเง่ือนไข และทางานจนเง่ือนไขเป็นจริง จึงจะออกจากการทาซ้า ดงั รูปที่ 2.12 ชุดคาสงั่ ท่ที างานซ้า ตรวจสอบ จริง ออกจากการทาซ้า เงือ่ นไข เทจ็ รูปที่ 2.12 แสดงผงั งานทาซ้าจนเง่ือนไขเป็ นจริง
- 39 - กรณีที่ 3 ผงั งานทาซ้าตามจานวนท่ีระบุ ทางานตามจานวนรอบที่กาหนด โดยเริ่ม ทางานจากรอบเร่ิมตน้ ไปยงั รอบสุดทา้ ย และจะตอ้ งมีการนบั รอบการทางานเพม่ิ ข้ึนทีละ 1 ค่า ดงั รูป ที่ 2.13 for i = 1 To n ชุดคาสงั่ ท่ตี อ้ งทาซ้า รูปท่ี 2.13 แสดงผงั งานทาซ้าตามจานวนที่ระบุ ตัวอย่างการเขียนผงั งานแบบทาซ้า ตัวอย่างที่ 2.4 จงเขียนผงั งานแบบทาซ้าเพ่ือแสดงผลเลขจานวนเตม็ ต้งั แต่ 1 ถึง 9 ออกทางจอภาพ วเิ คราะห์ปัญหา 1. ระบุสิ่งท่ีตอ้ งการ - แสดงตวั เลข 1 – 9 ทางจอภาพ 2. กาหนดรูปแบบผลลพั ธ์ - ตวั เลข 1 – 9 ทางจอภาพ 3. ระบุขอ้ มูลนาเขา้ - ตวั เลข 1 - 9 4. กาหนดตวั แปรท่ีใช้ - Number1 แทน ตวั เลข 5. กาหนดวธิ ีการประมวลผล 1. เริ่มการทางาน 2. กาหนดคา่ เร่ิมตน้ number1 เท่ากบั 1 3. ตรวจสอบวา่ number1< 10 หรือไม่ 3.1. ถา้ จริง 3.1.1.พิมพ์ number1 ทางจอภาพ 3.1.2.เพิม่ คา่ number1 อีก 1 3.1.3.ไปยงั ข้นั ตอนที่ 3
- 40 - 3.2. ถา้ ไม่จริง 3.2.1. ออกจากการทาซ้ า 4. จบการทางาน Start number1 = 1 False True while (number1 <10 ) printf(number1) Stop number1 = number1 + 1 รูปท่ี 2.14 แสดงตวั อยา่ งการเขียนผงั งานแบบทาซ้าเพอ่ื แสดงผลเลขจานวนเตม็ ต้งั แต่ 1 ถึง 9 ดงั น้นั ในการเขียนโปรแกรมคอมพวิ เตอร์ท่ีตอ้ งการใหไ้ ดผ้ ลลพั ธ์ที่ตรงตามความตอ้ งการ ของผูใ้ ช้งาน จึงจาเป็ นตอ้ งมีการเขียนข้นั ตอนวิธี และเขียนผงั งาน โดยผงั งานที่ดีน้นั จะตอ้ งเป็ น แผนภาพท่ีใชส้ ญั ลกั ษณ์แทนความหมายของลาดบั การทางาน ผงั งานในการทางานทางคอมพิวเตอร์ จะมี 2 ประเภท คือ ผงั งานระบบ และผงั งานโปรแกรม ผใู้ ชง้ านจะตอ้ งพิจารณาเลือกใชผ้ งั งานให้ ถูกตอ้ งและเขียนตามหลกั เกณฑใ์ นการเขียนผงั งานดงั น้ี มีการวิเคราะห์ปัญหาและเขียนข้นั ตอนวิธี ใหเ้ สร็จก่อนเขียนผงั งาน ใชส้ ัญลกั ษณ์ตามมาตรฐานของ ANSI ขอ้ ความภายในสัญลกั ษณ์ควรจะ เขียนใหส้ ้นั อา่ นเขา้ ใจง่ายและชดั เจน ขนาดของสญั ลกั ษณ์มีความเหมาะสม ควรเขียนจากบนลงล่าง ซ้ายไปขวา และเส้นที่เช่ือมจะตอ้ งมีการระบุทิศทางโดยหวั ลูกศร ควรเขียนผงั งานให้จบในหน้า เดียว ไมค่ วรลากเส้นตดั กนั ไม่ควรโยงลูกศรไกลเกินไป ซ่ึงมีโครสร้างของรูปแบบการเขียนผงั งาน 3 รูปแบบ ไดแ้ ก่ แบบเรียงลาดบั แบบมีการเลือก และแบบทาซ้า โดยผงั งานจะมีประโยชน์ต่อการ เขียนโปรแกรม คือ ช่วยให้เขา้ ใจข้นั ตอนและลาดบั การทางานของโปรแกรมอย่างรวดเร็ว เป็ น สื่อกลางระหวา่ งผูอ้ อกแบบ นกั วเิ คราะห์ระบบหรือนกั เขียนโปรแกรม ลดความผิดพลาดท่ีเกิดข้ึน ระหวา่ งการเขียนโปรแกรม เป็นตน้ ฉบบั เพ่ือพฒั นาโปรแกรมตอ่ ไป ที่มีลาดบั ข้นั ตอนที่คลา้ ยกนั
- 41 - สรุป ผงั งาน คือ แผนภาพท่ีใช้แสดงลาดบั ข้นั ตอนในการทางานของโปรแกรม ซ่ึงจะใช้ภาพ สัญลกั ษณ์ที่เป็ นมาตรฐานเดียวกนั สื่อความหมายแทนแต่ละข้นั ตอนการทางาน ซ่ึงจะทาใหท้ ราบ ข้นั ตอนและลาดบั การทางานของโปรแกรม โดยทว่ั ไปมกั เขียนหลงั จากที่ไดม้ ีการวิเคราะห์ปัญหา เรียบร้อยแลว้ ผงั งานในการทางานทางคอมพิวเตอร์ สามารถแบ่งได้ 2 ประเภท คือ ผงั งานระบบ และผงั งานโปรแกรม การเขียนผงั งานที่ดี ควรปฏิบตั ิตามหลกั เกณฑข์ องการเขียนผงั งาน อนั ไดแ้ ก่ ควรวิเคราะห์ปัญหาและเขียนข้นั ตอนวธิ ีให้เสร็จก่อนเขียนผงั งาน ใชส้ ัญลกั ษณ์ตามมาตรฐานของ ANSI ขอ้ ความภายในสญั ลกั ษณ์ควรจะเขียนใหส้ ้ันอา่ นเขา้ ใจง่ายและชดั เจน ขนาดของสัญลกั ษณ์มี ความเหมาะสม ควรเขียนจากบนลงล่าง ซา้ ยไปขวา และเส้นท่ีเชื่อมจะตอ้ งมีการระบุทิศทางโดยหวั ลูกศร ควรเขียนผงั งานให้จบในหน้าเดียว แต่หากจาเป็ นต้องเขียนหลายหน้าจะต้องมีการใช้ สัญลกั ษณ์ในการเช่ือมโยงและระบุหมายเลขกากบั ดว้ ย ไม่ควรลากเส้นตดั กนั ไมค่ วรโยงลูกศรไกล เกินไป หากมีความจาเป็ นให้ใช้สัญลกั ษณ์การเชื่อมต่อแทน ผงั งานจะมีประโยชน์ต่อการเขียน โปรแกรม คือ ช่วยใหเ้ ขา้ ใจข้นั ตอนและลาดบั การทางานของโปรแกรมอยา่ งรวดเร็ว เป็ นสื่อกลาง ระหวา่ งผูอ้ อกแบบ นกั วเิ คราะห์ระบบหรือนกั เขียนโปรแกรม ลดความผิดพลาดท่ีเกิดข้ึนระหว่าง การเขียนโปรแกรม เป็ นตน้ ฉบบั เพื่อพฒั นาโปรแกรมท่ีมีลาดบั ข้นั ตอนที่คลา้ ยคลึงกนั สัญลกั ษณ์ที่ ใชใ้ นการเขียนผงั งาน มีหลายชนิดข้ึนอยกู่ บั งานท่ีตอ้ งการใหท้ า เช่น ตอ้ งการบอกจุดเร่ิมตน้ ของการ ทางาน จุดสิ้นสุดของการทางาน หรือ การประกาศตวั แปร การประมวลผล เป็นตน้ การเขียนผงั งาน มี 3 รูปแบบ ไดแ้ ก่ แบบเรียงลาดบั แบบมีการเลือก และแบบทาซ้า โดยแต่ละประเภทจะเหมาะสม กบั งานใดกข็ ้ึนอยกู่ บั การวเิ คราะห์งานหรือปัญหาท่ีตอ้ งการแกไ้ ข
- 42 - แบบฝึ กหัดบทท่ี 2 รหสั วชิ า คธ 0408 ช่ือวชิ า การเขียนโปรแกรมคอมพวิ เตอร์เบือ้ งต้น หน่วยที่ 1 ชื่อหน่วย แนวคดิ เกย่ี วกบั การพฒั นาโปรแกรม จานวนชั่วโมง 8 ช่ัวโมง บทที่ 2 ชื่อบท การเขยี นผงั งาน จานวนช่ัวโมง 4 ช่ัวโมง จงตอบคาถามแบบฝึ กหดั ต่อไปนี้ จานวน 10 ข้อ คะแนน 100 คะแนน 1. จงบอกความหมายของผงั งาน ( 5 คะแนน) 2. จงจาแนกชนิดของผงั งานและการนาไปใชง้ านแตล่ ะชนิด ( 5 คะแนน ) 3. จงเขียนข้นั ตอนวิธีและผงั งานสาหรับคานวณค่าดชั นีมวลกาย(Body Mass Index: BMI) โดยที่ BMI=น้าหนัก/ส่วนสูง เมื่อ น้าหนักมีหน่วยเป็ นกิโลกรัม และความสูงมีหน่วยเป็ นเมตร (10 คะแนน) 4. จงเขียนข้นั ตอนวิธีและผงั งานเพ่ือตดั เกรดวชิ ากิจกรรมที่มีผลการเรียน ผา่ น กบั ไม่ผา่ น ให้การ รับคา่ คะแนนจากคียบ์ อร์ด หากคะแนนนอ้ ยกวา่ 60 ใหพ้ ิมพข์ อ้ ความไม่ผา่ นกิจกรรม หากไดร้ ับ คะแนน 60 ข้ึนไป ใหพ้ ิมพข์ อ้ ความผา่ นกิจกรรม (10 คะแนน) 5. จงเขียนข้นั ตอนวธิ ีและผงั งานแบบทาซ้า เพื่อรับขอ้ มูลตวั เลข 10 ค่า แลว้ หาคา่ เฉล่ีย (10 คะแนน) 6. จงเขียนข้นั ตอนวธิ ีและผงั งาน เพอ่ื รับขอ้ มูลของราคาสินคา้ จานวน 3 ชิ้น แลว้ จึงคานวณหาภาษี ท่ีตอ้ งจ่าย และนามาหาราคารวมที่ตอ้ งจ่ายค่าสินคา้ ท้งั หมด แลว้ ให้แสดงผลลพั ธ์ทางจอภาพ (15 คะแนน) 7. จงอธิบายหลกั เกณฑก์ ารเขียนผงั งาน พร้อมท้งั ยกตวั อยา่ ง ( 10 คะแนน ) 8. จงเขียนสัญลกั ษณ์ของผงั งาน พร้อมช่ือเรียก และ ความหมาย ( 15 คะแนน ) 9. จงอธิบายรูปแบบของผงั งานมีกี่ชนิด อะไรบา้ ง ( 15 คะแนน ) 10.จงบอกประโยชนข์ องผงั งาน ( 5 คะแนน )
- 43 - ใบงานบทท่ี 2 รหัสวชิ า คธ 0408 ช่ือวชิ า การเขียนโปรแกรมคอมพวิ เตอร์เบื้องต้น หน่วยที่ 1 ชื่อหน่วย แนวคดิ เกย่ี วกบั การพฒั นาโปรแกรม จานวนชั่วโมง 8 ชั่วโมง บทที่ 2 ช่ือบท การเขียนผงั งาน จานวนช่ัวโมง 4 ชั่วโมง 1. จงเขียนข้นั ตอนวธิ ีและผงั งานสาหรับคานวณพลงั งานของของอาหารท่ีรับประทานในแต่ละวนั ของพนกั งาน 1 คนในบริษทั แห่งหน่ึง โดยใหโ้ ปรแกรมรับคา่ พลงั งานของอาหารแต่ละชนิด
- 44 - 2. จงเขียนข้นั ตอนวิธีและผงั งานสาหรับตรวจสอบความเป็ นสมาชิกของลูกคา้ ในสถานที่ออก กาลังกายแห่งหน่ึง หากเป็ นสมาชิกอยู่แล้วไม่จาเป็ นต้องจ่ายเงินค่าบริการ แต่หากไม่เป็ น สมาชิกใหม้ ีการเรียกเกบ็ เงินค่าบริการได้ และใหแ้ สดงขอ้ มูลของการเป็นสมาชิก
- 45 - 3. จงเขียนข้นั ตอนวิธีและผงั งานเพื่อคานวณเงินท่ีได้รับใน 1 วนั ของร้านคา้ แห่งหน่ึง โดยให้ โปรแกรมสามารถรับคา่ ของรายการท่ีเขา้ มาได้ จนกวา่ จะสิ้นสุดวนั จึงจะคิดคานวณเงินที่ไดร้ ับ
- 46 - บรรณานุกรม ธีรวฒั น์ ประกอบผลและเอกพนั ธ์ คาปัญโญ. (2552). การวเิ คราะห์และออกแบบระบบ. กรุงเทพฯ: ซคั เซสมีเดีย. นรีรัตน์ นิยมไทย. (2550). หลกั การออกแบบและพฒั นาโปรแกรม. กรุงเทพฯ: ศูนยส์ ่งเสริม วชิ าการ. ประยงค์ อู่ประสิทธ์ิวงศ.์ (2553). หลกั การเขยี นโปรแกรม ด้วยภาษา C++ และการแก้ไขปัญหา. กรุงเทพมหานคร: ส.เอเชียเพรส(1989). รัชนี กลั ยาวนิ ยั และอจั ฉรา ธารอุไรกุล. (มปป). การวเิ คราะห์และออกแบบระบบคอมพวิ เตอร์ สมัยใหม่ : Introduction to system analysis and design. กรุงเทพฯ: การศึกษาจากดั . วศิน เพ่มิ ทรัพย.์ (2548) . ความรู้เบื้องต้นเก่ยี วกบั คอมพวิ เตอร์. กรุงเทพฯ : โปรวชิ นั่ . วโิ รจน์ ชยั มูลและคณะ. (2552). ความรู้เบื้องต้นเกีย่ วกบั คอมพวิ เตอร์และเทคโนโลยสี ารสนเทศ. กรุงเทพฯ: โปรวชิ น่ั . เวชยนั ต์ สงั ขจ์ ุย้ . (2554) . คู่มือเรียนการเขียนโปรแกรมภาษาซี. กรุงเทพฯ: บริษทั ว.ี พริ้นท(์ 1991) จากดั . สกาวรัตน์ จงพฒั นากร. (2551). การวเิ คราะห์และออกแบบสารสนเทศ. กรุงเทพฯ : มหาวทิ ยาลยั เกษตรศาสตร์. เอกพนั ธ์ คาปัญโญและธีรวฒั น์ ประกอบผล. (2551). การเขียนโปรแกรมคอมพวิ เตอร์. กรุงเทพฯ: ซคั เซสมีเดีย. _______. (2552). หลักการออกแบบและพฒั นาโปรแกรม. กรุงเทพฯ: ซคั เซสมีเดีย. เอกสารการสอนชุดวชิ าการโปรแกรมคอมพวิ เตอร์. (2553). นนทบุรี: มหาวทิ ยาลยั สุโขทยั ธรรมาธิราช. William S. Davis. (2537). Business System Analysis and Design. Bellmont California: Wadsworth Publishing Company.
Search
Read the Text Version
- 1 - 46
Pages: