Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore ชุดที่ 1 หลักการเขียนโปรแกรมเบื้องต้น

ชุดที่ 1 หลักการเขียนโปรแกรมเบื้องต้น

Published by kruraphiphon2019, 2022-06-14 11:49:26

Description: ชุดที่ 1 หลักการเขียนโปรแกรมเบื้องต้น

Search

Read the Text Version

นางรพพี ร นามมุลตรี ตาแหน่ง ครู วิทยฐานะ ครชู านาญการพิเศษ

คานา สำหรับชุดกิจกรรมกำรเรยี นรู้แบบอิเลก็ ทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชพี และเทคโนโลยี สำหรับนักเรียนช้นั มัธยมศึกษำปที ี่ 6 ชดุ นี้ จัดทำขึ้น เพือ่ ใชเ้ ปน็ ส่อื ประกอบกำรจดั กจิ กรรมกำรเรียนรูด้ ว้ ยกำรเรียนรูแ้ บบสบื เสำะหำควำมรู้ 7 ขั้น (7E) วชิ ำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชพี และเทคโนโลยี สำหรบั นกั เรยี นช้ันมัธยมศึกษำปที ี่ 6 โรงเรยี นนำโพธ์ิพทิ ยำสรรพ์ สังกดั สำนกั งำนเขตพ้นื ทกี่ ำรศึกษำ มัธยมศึกษำ เขต 26 เพ่ือพัฒนำผลสัมฤทธ์ทิ ำงกำรเรยี น และทกั ษะกำรคิดวเิ ครำะห์ สงั เครำะห์ และ แก้ปญั หำ ตลอดจนควำมสำมำรถในกำรใชเ้ ทคโนโลยีและกำรทำงำนร่วมกับผู้อืน่ ทงั้ นี้ ชุดกิจกรรมกำรเรยี นรูแ้ บบอเิ ลก็ ทรอนกิ ส์ วิชำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชีพและเทคโนโลยี สำหรับนักเรยี นชนั้ มัธยมศึกษำปีที่ 6 จะช่วยพัฒนำ ผลสมั ฤทธิท์ ำงกำรเรยี น และทกั ษะกำรคดิ วิเครำะห์ สังเครำะห์ และแก้ปัญหำ ตลอดจน ควำมสำมำรถในกำรใช้เทคโนโลยแี ละกำรทำงำนร่วมกับผู้อื่น จำกกำรทำกจิ กรรมเสริมทักษะย่อย ตำ่ งๆ ประจำเน้ือหำสำระกำรเรยี นรูท้ กี่ ำหนดใหต้ ำมวิธีกำรเรยี นร้แู บบสืบเสำะหำควำมรู้ มคี วำม สอดคลอ้ งตำมมำตรฐำนกำรเรียนรู้และตวั ชวี้ ัด หลักสตู รแกนกลำงกำรศกึ ษำขัน้ พน้ื ฐำน พทุ ธศักรำช 2551 และหลักสตู รสถำนศึกษำโรงเรยี นนำโพธ์ิพทิ ยำสรรพ์ สังกดั สำนักงำนเขตพื้นที่กำรศึกษำ มธั ยมศกึ ษำ เขต 26 มุ่งเน้นกำรเรยี นรดู้ ว้ ยตัวเอง และทำกิจกรรมรว่ มกับผ้อู ื่น เพื่อใหน้ กั เรียนรจู้ กั เข้ำสงั คมและปรับตัวใหเ้ ข้ำกับผูอ้ ื่นได้ ตลอดจนสำมำรถนำควำมรู้ ควำมสำมำรถไปปรบั ประยกุ ต์ใช้ ในชวี ติ ประจำวนั ได้ ผ้จู ัดทำขอขอบพระคุณ และคณะครูอำจำรยท์ ุกทำ่ นทใ่ี ห้กำรสนบั สนนุ กำรพัฒนำชุดกิจกรรม กำรเรียนรู้แบบอิเล็กทรอนกิ ส์ วชิ ำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กลมุ่ สำระกำรเรยี นรู้ กำรงำนอำชพี และเทคโนโลยี สำหรับนักเรียนชน้ั มธั ยมศึกษำปีท่ี 6 นี้ ได้สำเร็จตำมวัตถปุ ระสงค์ จนทำใหม้ ีควำมสมบรู ณ์ถูกต้องเป็นอย่ำงดี และเปน็ ประโยชน์ต่อครู นักเรียน และผสู้ นใจได้เป็นอยำ่ งดี รพีพร นำมมุลตรี

คาช้ีแจง ชุดกจิ กรรมกำรเรยี นรู้แบบอิเล็กทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กล่มุ สำระกำรเรยี นรู้กำรงำนอำชีพและเทคโนโลยี สำหรับนกั เรียนช้นั มัธยมศึกษำปที ่ี 6 มีเน้อื หำสำระ สอดคล้องกบั หลักสตู รกำรศึกษำข้ันพืน้ ฐำน พทุ ธศักรำช 2551 และหลักสูตรสถำนศึกษำตำม กระทรวงศกึ ษำธกิ ำรกำหนด ซ่งึ นับว่ำมคี วำมสำคัญอย่ำงยงิ่ สำหรบั นกั เรยี น เพรำะถือเป็นพน้ื ฐำน สำคญั ของกำรใช้เทคโนโลยใี นยุค 4.0 และสอดคล้องกบั กำรเรยี นรู้ในศตวรรษท่ี 21 น้ี เพื่อสง่ เสรมิ และพฒั นำกำรเรยี นรูด้ ้ำนเทคโนโลยแี กน่ กั เรยี น ตลอดจนทักษะกำรคิดวิเครำะห์ สังเครำะห์ และ กำรแกป้ ัญหำ เพื่อกำรนำไปใชใ้ นชีวติ ประจำวัน ชดุ กจิ กรรมกำรเรยี นร้แู บบอเิ ล็กทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชพี และเทคโนโลยี สำหรบั นกั เรียนชั้นมธั ยมศึกษำปีท่ี 6 ชดุ นี้ ท่ไี ดจ้ ดั ทำขึ้น ประกอบด้วย 9 ชดุ ดงั น้ี ชดุ ที่ 1 หลักกำรเขียนโปรแกรมเบื้องต้น ชุดที่ 2 กำรตดิ ต้งั โปรแกรม Dev C++ ชดุ ท่ี 3 องคป์ ระกอบของภำษำซี ตัวแปร และชนิดข้อมลู ชุดท่ี 4 นพิ จน์และตัวดำเนนิ กำร ชุดที่ 5 ฟงั ก์ชันกำรรบั แสดงผล และฟงั ก์ชันทำงคณิตศำสตร์ ชุดที่ 6 คำส่งั ควบคุมเง่ือนไข และกำรทำงำนเป็นรอบ ชดุ ท่ี 7 อำร์เรยแ์ ละฟังก์ชนั จดั กำรสตริง ชดุ ที่ 8 กำรสรำ้ งฟงั กช์ ันและตวั แปรชนิดพอยน์เตอร์ ชุดท่ี 9 ขอ้ มลู ชนดิ โครงสรำ้ งและกำรจดั กำรแฟ้มข้อมูล ทง้ั น้ี ชดุ กจิ กรรมกำรเรยี นรแู้ บบอเิ ลก็ ทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุม่ สำระกำรเรียนรกู้ ำรงำนอำชพี และเทคโนโลยี สำหรับนกั เรียนชน้ั มธั ยมศึกษำปีท่ี 6 เป็นหนงั สอื อิเล็กทรอนกิ ส์ โดยสำมำรถ สแกนผ่ำน QR-Code หรือผำ่ นลิงค์เว็บไซต์ https://pubhtml5.com/bookcase/wjru เพ่ือใชง้ ำนตำมปกติ พร้อมกับรูปเล่มจริง ตำมลิงค์ ออนไลนท์ ี่แนบนี้ QR-Code

คาแนะนาสาหรับครู 1. นักเรยี นศกึ ษำคำชแี้ จง และคำแนะนำให้พร้อมก่อนเริ่มศกึ ษำ 2. นกั เรียนรับฟงั คำแนะนำกำรใช้ชุดกจิ กรรมกำรเรยี นรู้แบบอิเล็กทรอนิกส์ วิชำ กำรเขยี น โปรแกรมภำษำซี (ง33205) กลุม่ สำระกำรเรยี นรู้กำรงำนอำชพี และเทคโนโลยี สำหรบั นักเรยี น ชน้ั มัธยมศกึ ษำปีท่ี 6 ให้เข้ำใจกอ่ นเสมอ 3. นักเรียนแบ่งกลมุ่ 4-5 คน เพ่ือทำกิจกรรมกำรเรียนรู้ 4. นักเรียนทำแบบทดสอบก่อนเรียนประจำชุดกิจกรรมกำรเรยี นรแู้ บบอเิ ล็กทรอนิกส์ วิชำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชีพและเทคโนโลยี สำหรบั นักเรยี นช้นั มธั ยมศึกษำปีที่ 6 ด้วยควำมต้ังใจ และซ่ือสตั ย์ 5. นกั เรยี นศึกษำใบควำมรู้ ให้เข้ำใจก่อนทำกิจกรรมระหว่ำงเรยี น และกิจกรรมโครงงำน 6. ทบทวนควำมรู้และฝึกทักษะกระบวนกำรทำงเทคโนโลยีด้วยกำรทำกิจกรรมกำรเรียนรู้ 7. หำกนกั เรยี นเกดิ ขอ้ สงสยั ใหป้ รกึ ษำ หรอื แจ้งครูได้ทนั ที และให้นักเรยี นควรตรวจสอบ ควำมถกู ต้องของกำรทำกิจกรรมให้เรียบร้อย 8. นักเรียนทำแบบทดสอบหลังเรยี นประจำชุดกจิ กรรมกำรเรยี นรแู้ บบอเิ ลก็ ทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชพี และเทคโนโลยี สำหรบั นกั เรียนช้นั มธั ยมศกึ ษำปีที่ 6 ด้วยควำมต้องใจ และซือ่ สตั ย์ 9. นักเรยี นรวบรวมกระดำษคำตอบและชดุ กจิ กรรมกำรเรยี นรแู้ บบอเิ ล็กทรอนิกส์ วิชำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชีพและเทคโนโลยี สำหรับนักเรยี นชั้นมธั ยมศึกษำปีที่ 6 สง่ คนื ครู 10. นกั เรียนตอ้ งใหค้ วำมรว่ มมอื ในกำรทำกิจกรรมกำรเรียนรู้ เพ่ือให้บรรลเุ ปำ้ หมำย

คาแนะนาสาหรบั นักเรยี น 1. ศึกษำคำชีแ้ จง คำแนะนำ และเตรียมกระดำษคำตอบให้พร้อมก่อนเรม่ิ ศึกษำ 2. อธบิ ำยและให้คำแนะนำกับนกั เรียนในกำรใช้ชดุ กจิ กรรมกำรเรยี นรู้แบบอเิ ลก็ ทรอนิกส์ วชิ ำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรกู้ ำรงำนอำชพี และเทคโนโลยี สำหรบั นักเรยี นชั้นมัธยมศึกษำปีท่ี 6 3. นักเรยี นแบง่ กลุ่ม 4-5 คน เพอ่ื ทำกิจกรรมกำรเรยี นรู้ 4. ให้นักเรยี นทำแบบทดสอบกอ่ นเรียนประจำชุดกิจกรรมกำรเรยี นรู้แบบอิเลก็ ทรอนิกส์ วิชำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนร้กู ำรงำนอำชพี และเทคโนโลยี สำหรับนกั เรียนชั้นมธั ยมศึกษำปีท่ี 6 ด้วยควำมต้งั ใจ และซื่อสตั ย์ 5. ใหน้ ักเรียนศกึ ษำใบควำมรู้ ให้เข้ำใจก่อนทำกิจกรรมระหว่ำงเรยี นและกิจกรรมโครงงำน 6. ให้ทบทวนควำมรูแ้ ละฝึกทักษะกระบวนกำรทำงเทคโนโลยีด้วยกำรทำกิจกรรมกำรเรียนรู้ 7. หำกนกั เรยี นเกดิ ข้อสงสยั ให้ปรกึ ษำ หรือแจ้งครูได้ทนั ที และให้นกั เรียนควรตรวจสอบ ควำมถกู ต้องของกำรทำกิจกรรมใหเ้ รยี บรอ้ ย 8. ให้นักเรยี นทำแบบทดสอบหลังเรยี นประจำชดุ กจิ กรรมกำรเรียนร้แู บบอเิ ล็กทรอนิกส์ วชิ ำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรกู้ ำรงำนอำชีพและเทคโนโลยี สำหรับนักเรียนชนั้ มธั ยมศกึ ษำปที ี่ 6 ด้วยควำมต้องใจ และซื่อสตั ย์ 9. ให้นกั เรียนรวบรวมกระดำษคำตอบและชดุ กิจกรรมกำรเรยี นรแู้ บบอเิ ลก็ ทรอนิกส์ วิชำ กำรเขียนโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรู้กำรงำนอำชพี และเทคโนโลยี สำหรับนักเรียนชน้ั มัธยมศกึ ษำปที ี่ 6 สง่ คืนครู 10. สงั เกตพฤตกิ รรมและคณุ ลักษณะอนั พึงประสงค์ของนักเรียนเพื่อบันทึกคะแนน และกล่มุ

มาตรฐานการเรยี นรแู้ ละตวั ชี้วัด มำตรฐำน ง 3.1 เข้ำใจ เหน็ คุณค่ำ และใช้กระบวนกำรเทคโนโลยสี ำรสนเทศในกำรสบื ค้น ข้อมูล กำรเรียนรู้ กำรสื่อสำร กำรแกป้ ัญหำ กำรทำงำน และอำชีพอยำ่ งมปี ระสิทธภิ ำพประสทิ ธผิ ล และมีคุณธรรม (ง3.1 ม.5/1-13) แนวคดิ ศกึ ษำเกย่ี วกับขน้ั ตอนกำรเขียนโปรแกรม เพื่อให้ทรำบว่ำในกำรโปรแกรมเพ่ือใชง้ ำนน้ัน จะตอ้ งมีขัน้ ตอนอยำ่ งไรบ้ำง รวมถงึ รปู แบบกำรเขยี นโปรแกรม เทคนิคกำรออกแบบโปรแกรมเชิง โครงสรำ้ งอัลกอริทึมและซูโดโคด้ ซึง่ เนือ้ หำเหล่ำน้ีถอื เปน็ สงิ่ สำคญั ในกำรศกึ ษำวิชำกำรเขียน โปรแกรมเบื้องตน้ ทั้งส้นิ สาระการเรยี นรู้ หนว่ ยที่ 1 หลักกำรเขียนโปรแกรมเบ้ืองต้น 1. ขน้ั ตอนกำรเขยี นโปรแกรม 2. รูปแบบกำรเขยี นโปรแกรม 3. เทคนิคกำรออกแบบโปรแกรมเชิงโครงสร้ำง 4. อัลกอรทิ ึม (Algorithms) 5. ซูโดโคด้ (Pseudo code) จดุ ประสงค์การเรียนรู้ ความรู้ ความเขา้ ใจ (K) 1. มีควำมรเู้ กี่ยวกบั หลกั กำรเขียนโปรแกรมเบ้ืองต้น 2. รวบรวม วเิ ครำะห์ข้อมูล ควำมรู้หลกั กำรเขียนโปรแกรมเบือ้ งตน้ ได้ 3. สรปุ ข้อมลู เก่ยี วกับควำมรู้หลกั กำรเขยี นโปรแกรมเบื้องตน้ ได้ ทักษะกระบวนการ (P) 1. ใช้ควำมรู้เกย่ี วกับหลักกำรเขียนโปรแกรมเบื้องตน้ ได้ 2. มกี ำรคดิ วิเครำะห์ และกำรใหเ้ หตผุ ลตำมกระบวนกำรทำงวทิ ยำศำสตร์ได้ คุณลกั ษณะอันพงึ ประสงค์ (A) 1. มคี วำมสนใจและต้ังใจเรยี น กระตือรอื รน้ ตรงต่อเวลำ ใหค้ วำมรว่ มมอื ในกำรทำงำนกล่มุ และมีเจตคติที่ดีต่อกำรเรยี นวิทยำศำสตร์

สมรรถนะทสี่ าคัญ (C) 1. ควำมสำมำรถในกำรแก้ปัญหำ 2. ควำมสำมำรถในกำรให้เหตุผล 3. ควำมสำมำรถในกำรส่ือสำร 4. ควำมสำมำรถในกำรเชื่อมโยง 5. ควำมสำมำรถในกำรใช้ควำมคิดริเรมิ่ สร้ำงสรรค์ ภาระหนา้ ที่ / ช้นิ งาน ชดุ กจิ กรรมกำรเรยี นรู้แบบอเิ ล็กทรอนิกส์ วิชำ กำรเขียนโปรแกรมภำษำซี (ง330205) กลุม่ สำระกำรเรยี นร้กู ำรงำนอำชพี และเทคโนโลยี สำหรบั นกั เรียนช้ันมัธยมศึกษำปีที่ 6 ชดุ ท่ี 1 หลักกำรเขียนโปรแกรมเบอ้ื งตน้ 1. แบบทดสอบก่อนเรยี น 2. กจิ กรรมระหวำ่ งเรยี น (กิจกรรมที่ 1-3) 3. แบบทดสอบหลังเรยี น กระบวนการจดั กจิ กรรมการเรยี นรู้ กำรเรยี นรแู้ บบสบื เสำะหำควำมรู้ 7 ขั้น (7E) การวัดผลประเมนิ ผลการเรียนรู้ 1. แบบทดสอบกอ่ นเรยี น คะแนนเฉลย่ี รอ้ ยละ 80 ข้นึ ไป จึงจะผ่ำนเกณฑ์ 2. กจิ กรรมระหวำ่ งเรยี น คะแนนเฉลี่ย ร้อยละ 80 ขนึ้ ไป จงึ จะผำ่ นเกณฑ์ 3. แบบทดสอบหลังเรียน คะแนนเฉลยี่ รอ้ ยละ 80 ขึ้นไป จงึ จะผ่ำนเกณฑ์ 4. แบบประเมนิ สมรรถนะทสี่ ำคญั คะแนนเฉลีย่ รอ้ ยละ 60 ข้ึนไป จงึ จะผำ่ นเกณฑ์ 5. แบบประเมนิ คุณลักษณะอันพึงประสงค์ คะแนนเฉล่ยี ร้อยละ 60 ขึ้นไป จงึ จะผ่ำนเกณฑ์

สารบญั คำนำ หนา้ คำช้แี จง ก คำแนะนำสำหรบั ครู ข คำแนะนำสำหรับนกั เรียน ค ง ชุดกิจกรรมกำรเรยี นรู้แบบอเิ ลก็ ทรอนิกส์ วชิ ำ กำรเขยี นโปรแกรมภำษำซี (ง33205) กลุ่มสำระกำรเรียนรกู้ ำรงำนอำชีพและเทคโนโลยี สำหรบั นักเรียนช้นั มัธยมศึกษำปที ี่ 6 จ สำรบัญ ช แบบทดสอบกอ่ นเรียน 1 กระดำษคำตอบแบบทดสอบกอ่ นเรียน 3 ใบควำมรู้ เร่อื ง หลกั กำรเขยี นโปรแกรมเบ้ืองต้น 4 21 กจิ กรรมที่ 1 22 กิจกรรมท่ี 2 23 กิจกรรมท่ี 3 24 แบบทดสอบหลงั เรยี น 26 กระดำษคำตอบแบบทดสอบหลังเรยี น 27 ภำคผนวก 28 เฉลยแบบทดสอบก่อนเรยี น 29 เฉลยกจิ กรรมท่ี 1 30 เฉลยกิจกรรมท่ี 2 31 เฉลยกจิ กรรมท่ี 3 32 เฉลยแบบทดสอบหลงั เรียน 33 แบบบันทึกคะแนน 34 บรรณำนกุ รม 35 ประวตั ิย่อผ้จู ดั ทำ

คาช้ีแจง ให้นักเรยี นเลอื กคำตอบที่ถูกท่สี ดุ เพยี งคำตอบเดียวแล้วทำเครื่องหมำย X ลงใน กระดำษคำตอบ 1. ข้อใดต่อไปนี้ ไม่ใช่ ขนั้ ตอนกำรเขียนโปรแกรม ข. กำรเขียนอลั กอริทึม ก. กำรสร้ำงปญั หำ ง. กำรทดสอบโปรแกรม ค. กำรเขียนโปรแกรม 2. ตัวแปรภำษำชนิดใดที่จะทำกำรแปลงทง้ั โปรแกรม หำกมีท่ผี ดิ จะต้องแก้ไขใหถ้ ูกต้อง ก. อนิ เตอร์พรีเตอร์ ข. คอมไพเลอร์ ค. ดบี ั๊กเกอร์ ง. ซนิ แทคเออเรอ 3. ข้อใดต่อไปน้เี ปน็ รูปแบบกำรเขยี นโปรแกรมเชิงโครงสร้ำง ก. มีทำงเลอื กให้ตัดสนิ ใจทำงใดทำงหนง่ึ ข. กำรกำหนดเงื่อนไข ค. มกี ระบวนกำรทำงำนรอบเดยี ว ง. กำรทดสอบโปรแกรม 4. ขอ้ ใดต่อไปน้ีถอื เปน็ กระบวนกำรทำซำ้ ก. ถำ้ หวิ จะทำนข้ำวกอ่ น แลว้ คอ่ ยนอน ข. เรยี นหนงั สอื งว่ งนอน แอบหลับ ค. ตนื่ นอน ล้ำงหน้ำ แปรงฟัน อำบน้ำ ไปโรงเรียน ง. อ่ำนหนังสอื จนถงึ เวลำเทย่ี ง แลว้ จึงไปทำนข้ำวกลำงวัน 5. ขอ้ ใด “ไม่ใช่”จดุ ประสงค์ของเทคนิคกำรออกแบบเชงิ โครงสรำ้ ง ก. สร้ำงกำลงั ใจใหแ้ กท่ มี งำน ข. สร้ำงโปรแกรมทป่ี รับปรงุ แกไ้ ขงำ่ ย ค. ทำนำยไดว้ ่ำจะเกดิ เหตุกำรณใ์ ดในโปรแกรม ง. ประหยัดตน้ ทุนในกำรเขยี นโปรแกรม 6. เมื่อต้องกำรพัฒนำโปรแกรมจะต้องทำสิง่ ใดก่อน ก. เขียน Flowchart ข. เขยี นโปรแกรม ค. วิเครำะห์ปัญหำ ง. เลอื กภำษำทต่ี ้องกำรใชเ้ ขยี น

7. ประสทิ ธภิ ำพของอลั กอริทึมสำมำรถวดั จำกข้อใดต่อไปนี้ ก. ต้องใช้หนว่ ยควำมจำมำก ข. ใชเ้ วลำพฒั นำนำนเพ่ือควำมรอบคอบ ค. ตอ้ งยำกต่อกำรทำควำมเข้ำใจ ง. ตอ้ งมีควำมยืดหยุ่น 8. ขอ้ ใดต่อไปนี้ ไมเ่ ก่ียวขอ้ งกบั กำรเขียนโปรแกรมเชิงวัตถุ ก. กำรสรำ้ งคลำส ข. กำรสืบทอดคณุ สมบัติ ค. กำรสรำ้ งโพรซีเยอร์ ง. กำรนำกลบั มำใชใ้ หม่ 9. กำรรับค่ำจำกคียบ์ อรด์ ควรใชป้ ระโยคคำสงั่ ใด ก. Read ข. GET, Input ค. Write, Promrt ง. Keyboard 10. นำงสำวสมใจไดส้ ่ังพมิ พ์รำยงำนงบดุลปรำกฏว่ำ โปรแกรมมีกำรคำนวณผดิ พลำด อยำกทรำบวำ่ กรณีนี้ถอื วำ่ เป็นขอ้ ผิดพลำดชนิดใด ก. Program Error ข. Syntax Error ค. Logic Error ง. Input Error ส้ๆู นะคะนกั เรยี น

คาช้แี จง ใหน้ ักเรยี นเลือกคำตอบท่ีถกู ท่ีสุดเพยี งคำตอบเดียวแล้วทำเคร่อื งหมำย X ลงใน กระดำษคำตอบ ข้อ ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. สรุปคะแนน สรุปผล ผา่ น ไม่ผ่าน คะแนนเต็ม คะแนนท่ีได้ ……………...…. …………………. 10 คะแนน ………………. คะแนน

หลกั การเขยี นโปรแกรมเบอ้ื งตน้ ในอดตี ท่ีคอมพวิ เตอร์ถูกสร้ำงข้ึนมำนัน้ จะมขี นำด ใหญโ่ ตมโหฬำร มีกำรใชง้ ำนในแวดวงจำกดั อีกทงั้ เช่ยี วชำญในกำรปอ้ นคำส่งั ให้คอมพิวเตอรท์ ำงำน ก็มีนอ้ ย ภำษำคอมพวิ เตอร์ก็มีให้เลือกใชง้ ำนไม่ก่ีภำษำ เช่น ภำษำ Fortran, COBOL เป็นต้น และ ในยคุ น้ีน่ีเองท่ีโปรแกรมเมอรม์ กั เขียนโปรแกรมอยำ่ งไม่มีแบบแผน มกี ำรใชเ้ ทคนิคหรือกลวิธีแปลกๆ สง่ ผลตอ่ โปรแกรมทเ่ี ขียนขนึ้ กลำยเป็นโปรแกรมที่ดยู งุ่ เหยิงวกวนไปมำยำกตอ่ กำรอำ่ น เพ่อื แกไ้ ข ปรับปรุงและยังใช้กำลังคนทีส่ ้ินเปลือง ซ่ึงก่อใหเ้ กดิ ค่ำใช้จ่ำยสูงตำมมำเป็นลำดับ จำกนัน้ เป็นตน้ มำจึงมีกลมุ่ ผู้เช่ยี วชำญทำงคอมพิวเตอร์ ได้พยำยำมคิดค้นวิธีกำรเขียนโปรแกรม ใหม้ ีระบบมำกย่ิงขึ้น มีกำรคดิ คน้ หลักกำรท่สี ำมำรถนำไปศึกษำและปฏบิ ตั ไิ ด้จริง จงึ เปน็ ทีม่ ำของ กำรเขียนโปรแกรมเชิงโครงสร้ำง แมว้ ่ำกำรโปรแกรมเชงิ โครงสร้ำงจะมีอดีตท่ียำวนำนมำจนถึงปจั จุบัน แล้วก็ตำม แตเ่ ทคนคิ กำรออกแบบและกำรโปรแกรมเชิงโครงสรำ้ ง ก็ยังคงมคี วำมสำคัญและจำเปน็ ต่อ กำรศึกษำในระดับเบื้องต้น โดยเฉพำะผู้ทีร่ ิเร่ิมฝึกหัดกำรเขียนโปรแกรมถึงแมป้ ัจจบุ ันจะมรี ปู แบบ กำรเขียนโปรแกรมยคุ ใหม่อย่ำงกำรโปรแกรมเชงิ วัตถกุ ต็ ำม สำหรบั ในบทนี้ มจี ุดประสงค์เพ่อื ปูพนื้ ฐำนขน้ั ตอนกำรเขียนโปรแกรม เพ่ือให้ทรำบวำ่ ใน กำรโปรแกรมเพ่ือใชง้ ำนนัน้ จะต้องมขี ัน้ ตอนอยำ่ งไรบ้ำง รวมถึงรูปแบบกำรเขียนโปรแกรม เทคนิค กำรออกแบบโปรแกรมเชิงโครงสร้ำงอัลกอริทมึ และซโู ดโค้ด ซ่งึ เน้ือหำเหลำ่ น้ีถือเปน็ ส่ิงสำคัญใน กำรศกึ ษำวชิ ำกำรเขยี นโปรแกรมเบอ้ื งต้นทงั้ สิ้น มีผคู้ นจำนวนมำกที่เช่อื วำ่ โปรแกรมเมอร์ ซงึ่ เปน็ บุคคลที่ทำหนำ้ ท่เี ขียนโปรแกรมนั้น จะต้อง มีควำมร้ทู ำงคณิตศำสตร์เปน็ อยำ่ งดี และมีควำมจำเป็นเลิศแต่ในควำมเปน็ จริงแลว้ คำกลำ่ วขำ้ งตน้ ถอื ว่ำไม่ถูกซะทีเดยี ว เพรำะกำรเขียนโปรแกรมในยุคปัจจุบันไดม้ เี ครื่องมอื ต่ำงๆ ท่สี ำมำรถนำมำใช้ เพื่อใหก้ ำรเขยี นโปรแกรมเป็นไปได้อย่ำงสะดวกและงำ่ ยขึน้ กวำ่ ในอดตี มำก ดังนนั้ ผทู้ สี่ ำมำรถเขยี น โปรแกรมได้จึงย่อมขึ้นอยู่กับกำรฝึกฝนเป็นหลักสำคัญ กำรวเิ ครำะห์ ปัญหำ กำรออกแบบ โปรแกรม กำรเขยี น โปรแกรม กำรทดสอบ โปรแกรม กำรจัดทำเอกสำรประกอบ ภำพที่ 1 ผงั แสดงขโน้ัปรตแอกรนมกำรเขยี นโปรแกรม

ดังน้นั กำรเขยี นโปรแกรมท่ีดีจงึ จำเป็นตอ้ งมแี บบแผนและสำมำรถถำ่ ยทอดกนั ได้ โดยกำรเขยี นโปรแกรมจะประกอบด้วย 5 ข้ันตอนหลกั ๆ ด้วยกนั เรม่ิ ต้นจำกกำรวเิ ครำะห์ปัญหำ กำรออกแบบโปรแกรม กำรเขยี นโปรแกรม กำรทดสอบโปรแกรม และกำรจัดทำเอกสำรประกอบ โปรแกรมดังรำยละเอยี ดต่อไปน้ี 1. การวเิ คราะหป์ ญั หา ข้ันตอนกำรวเิ ครำะหป์ ญั หำ จำเป็นต้องอ่ำนโจทย์อยำ่ งระมัดระวงั โดยกำรวิเครำะห์ และตีโจทย์ให้แตก เพอ่ื ใหเ้ ขำ้ ใจถงึ แก่นแท้ของปัญหำใหจ้ งได้ เพ่ือให้ได้มำซงึ่ ควำม ตอ้ งกำรท่แี ทจ้ รงิ ทัง้ นี้หำกไม่สำมำรถตอบโจทยไ์ ด้หรือตีควำมสิ่งทีโ่ จทยต์ ้องกำรผิดพลำดไป ก็ยอม สง่ ผลกระทบต่อเนอ่ื งกนั เป็นทอดๆ ทำใหโ้ ปรแกรมท่ีเขียนขน้ึ ไมต่ รงกบั ควำมต้องกำรในท่ีสุด ซึง่ ส่งผล ตอ่ กำรสญู เสียงบประมำณและสญู เสยี โอกำสตำมมำ สำหรับข้นั ตอนกำรวเิ ครำะห์ปัญหำนั้น จะมี กำรแบง่ สว่ นประกอบออกเป็น 3 ส่วนหลกั ๆ ด้วยกัน ดังนี้ - ส่วนข้อมูลนำเขำ้ (Input) - ส่วนกำรประมวลผล (Processing) - สว่ นผลลพั ธ์ (Output) 2. การออกแบบโปรแกรม เม่ือปญั หำไดร้ บั กำรวเิ ครำะหเ์ ปน็ ท่ีเรยี บรอ้ ยแล้ว ตอ่ ไปก็คอื กำรออกแบบโปรแกรม โดยอัลกอริทึมกเ็ ปน็ เครื่องมือหนึ่งทส่ี ำมำรถนำมำใช้เพ่ือกำรออกแบบ โปรแกรมได้ ซงึ่ อัลกอริทึมเป็นขน้ั ตอนท่ีใชอ้ ธบิ ำยลำดบั กำรทำงำนของโปรแกรม และหำกได้ปฏิบัติ ตำมข้นั ตอนในอัลกอรทิ มึ แล้วก็จะไดม้ ำซ่ึงผลลัพธท์ ถ่ี ูกตอ้ ง ตรงตำมควำมต้องกำร สำหรับขน้ั ตอน กำรออกแบบโปรแกรมจะประกอบด้วยกจิ กรรมต่ำงๆ ดังน้ี - กำหนดขั้นตอนกำรประมวลผลสว่ นหลกั ๆ - กำรทำงำนของส่วนงำนย่อย - กำรออกแบบสว่ นประสำนกำรทำงำนระหวำ่ งผ้ใู ช้ (User Interface) - โครงสร้ำงควบคมุ กำรทำงำน เชน่ กำรทำงำน หรือกำรตรวจสอบเง่ือนไข - ตวั แปร และโครงสรำ้ งของเรคอรด์ - ตรรกะโปรแกรม (Logic) 3. การเขียนโปรแกรม เมื่ออัลกอรทิ ึมถูกเขยี นขึน้ ผำ่ นกำรตรวจสอบและทดสอบจนแนใ่ จว่ำ ถูกต้องในตอนต่อไปก็คือ กำรนำอัลกอรทิ ึมมำเขยี นเป็นชุดคำส่ังดว้ ยภำษำคอมพิวเตอร์อัลกอรทิ ึมน้ัน ไมใ่ ชภ่ ำษำคอมพวิ เตอร์แต่เป็นประโยคภำษำอังกฤษท่ีมคี วำมคลำ้ ยคลึงกบั ชุดคำสงั่ คอมพิวเตอร์ท่ีไม่ ขนึ้ กับภำษำคอมพวิ เตอร์ภำษำใดภำษำหนึ่ง โดยกำรเขียนสำมำรถเลอื กใช้ภำษำคอมพิวเตอร์ระดบั สูง ตำ่ งๆ ตำมควำมเหมำะสม เชน่ Pascal, C, C++, Java หรอื Visual Basic เป็นต้น 4. การทดสอบโปรแกรม หลังจำกโปรแกรมได้เขียนขนึ้ เป็นท่ีเรียบร้อยแลว้ ขน้ั ตอนต่อไปก็ คอื กำรโปรแกรมมำแปล (ตวั แปลภำษำคอมพิวเตอร์อำจเป็นตวั แปลชนิดคอมไพเลอร์ หรอื อนิ เตอร์ พรีเตอร์กไ็ ด้) เพื่อทดสอบควำมถกู ต้อง หำกตัวแปลภำษำเป็นคอมไพเลอร์ (Compiler) เช่น ภำษำซี กจ็ ะแปลแบบท้งั โปรแกรม ซ่ึงหำกโปรแกรมมีข้อผดิ พลำด ก็ตอ้ งถูกแกไ้ ขให้ถูกต้อง และแปลใหม่ จนกระทัง่ ไม่พบข้อผิดพลำด โปรแกรมจึงสำมำรถใชง้ ำนได้ ในขณะทต่ี ัวแปลแบบอินเตอร์พรีเตอร์ (Interpreter) จะแปลชุดคำส่ังทลี ะคำสัง่ ในแต่ละบรรทดั โดยโปรแกรมยงั คงสำมำรถทำงำนไดต้ ่อไป ถงึ แม้ว่ำจะมีข้อผิดพลำดในโปรแกรมก็ตำม ตรำบใดที่ตวั แปลภำษำยังไม่ผำ่ นกำรแปลในบรรทดั ท่ี

เขยี นชุดคำสั่งผดิ และขนั้ ตอนกำรทดสอบโปรแกรมสำมำรถเรยี กอีกชื่อหนง่ึ วำ่ “กำรดบี ๊ักโปรแกรม” (Debugging) อยำ่ งไรก็ตำม กำรทดสอบดว้ ยกำรแปลรหัสชดุ คำสั่งเป็นกำรตรวจสอบข้อผิดพลำดของ ชดุ คำส่ัง (Syntax Error) เป็นสำคญั เชน่ กรณพี ิมพ์คำส่งั ผิด เชน่ print แทนทจี่ ะเป็น printf ซ่ึงตัว แปลภำษำจะไมร่ จู้ กั คำสงั่ ดังกลำ่ วก็จะแสดงข้อผดิ พลำดออกมำ แต่ถำ้ ผลลพั ธ์ของโปรแกรมผดิ พลำด จำกกำรใชส้ ูตรคำนวณทีผ่ ดิ (Logic Error) เช่น ตั้งสูตรคำนวณภำษผี ิดส่ิงเหล่ำนี้มิใช่เป็นขอ้ ผดิ พลำด จำกชุดคำสัง่ แต่อย่ำงใด เพรำะตัวแปลภำษำไมส่ ำมำรถรับรู้ได้เลยว่ำสตู รที่เขยี นข้นึ มำผดิ หรือถกู ดงั นั้น กำรทดสอบโปรแกรมจึงตอ้ งทดสอบท้ังรปู แบบชดุ คำสั่ง และผลลพั ธท์ ีร่ ันว่ำถูกต้องหรอื ไม่ และอำจมคี วำมจำเปน็ ตอ้ งดำเนนิ กำรทดสอบหลำยๆ รอบ ด้วยกำรปอ้ นข้อมูลทดสอบในหลำยๆ กรณจี นมนั่ ใจวำ่ ไม่พบข้อผดิ พลำด 5. การจัดทาเอกสารประกอบโปรแกรม หลำยคนคดิ วำ่ เอกสำรประกอบโปรแกรม จะ ถูกจดั ทำข้ึนในขั้นตอนสุดท้ำยของกำรพฒั นำโปรแกรม แต่ในควำมเปน็ จริงเอกสำรประกอบโปรแกรม อำจจัดทำขึ้นต้งั แต่ขนั้ ตอนกำรกำหนดปัญหำจนถึงข้ันตอนสุดทำ้ ย ซ่งึ กค็ ือ กำรทดสอบโปรแกรม โดยเอกสำรเหลำ่ นจี้ ะนำมำใช้สำหรับอำ้ งอิงถึงขอ้ ผดิ พลำดที่เกดิ ข้นึ วธิ ีกำรแก้ไขข้อผดิ พลำดรวมถึง กำรนำไปใช้ เพื่อกำรปรับปรงุ โปรแกรมในอนำคต สำหรบั รปู แบบกำรเขยี นโปรแกรม สำมำรถแบง่ ออกเปน็ 2 รูปแบบใหญ่ๆ ดว้ ยกัน คือ 1. การเขยี นโปรแกรมเชิงโครงสร้าง (Structured Programming) โปรแกรมทมี่ ีคณุ ภำพ มิใชพ่ ิจำรณำเพยี งผลลพั ธ์ท่ีถูกต้องเทำ่ นน้ั แตห่ มำยถงึ โปรแกรมท่ีงำ่ ยตอ่ กำรอ่ำน และง่ำยต่อกำร ปรับปรุงในอนำคต โดยรปู แบบกำรเขียนโปรแกรมเชงิ โครงสรำ้ งนั้นกเ็ ป็นรูปแบบกำรเขียนโปรแกรม ชนดิ หนง่ึ ท่ที ำใหโ้ ปรแกรมมีโครงสร้ำงทด่ี งี ำ่ ยตอ่ กำรอ่ำนและปรบั ปรงุ ซ่ึงประกอบดว้ ย - ชดุ คำสั่งภำยในโปรแกรมจะเป็นลำดับขน้ั ตอน (Sequence) - มีทำงเลือกในกำรตดั สินใจทำงใดทำงหน่ึง (Decision) - มชี ุดคำส่ังเพื่อกำรทำซำ้ (Repetition) พจิ ำรณำจำกภำพที่ 2 ที่แสดงถงึ โครงสรำ้ งทัง้ 3 ชนดิ ของกำรเขียนโปรแกรมเชิงโครงสรำ้ ง ภำพท่ี 2 ผังงำนแสดงถึงกำรโปรแกรมเชงิ โครงสรำ้ งทง้ั 3 รปู แบบ

สำหรบั แนวคิดอนื่ ๆ ที่เก่ยี วข้องกับกำรโปรแกรมเชิงโครงสรำ้ งกค็ ือ กำรโปรแกรมแบบบนลง ล่ำง (Top-Down Programming) ทจี่ ะนำโปรแกรมมำแบง่ ส่วนเป็นโมดลู ยอ่ ยๆ เพื่อลดควำมซบั ซ้อน พิจำรณำจำกภำพท่ี 3 ซ่งึ เป็นโปรแกรมคิดเกรดของนักศึกษำโดยโปรแกรมหลักที่อยู่ระดับบน จะมกี ำร เรยี กใช้โมดลู ย่อยต่ำงๆ และแตล่ ะโมดูลยอ่ ย ต่ำงกม็ ีหน้ำท่กี ำรทำงำนของตนเอง เช่น โมดลู ที่ 1: อ่ำนขอ้ มูลคะแนนนกั ศกึ ษำ โมดลู ที่ 2: คำนวณเกรด โมดลู ที่ 3: จำแนกนกั ศึกษำท่ีสอบผำ่ นและสอบไมผ่ ่ำน โมดลู ที่ 4: พมิ พร์ ำยงำน ดงั นนั้ ภำยในโปรแกรมจงึ ประกอบไปด้วยหลำยๆ โมดลู ที่ทำงำนร่วมกันเพื่อแก้ไขปัญหำ และกำรโปรแกรมแบบโมดลู น้ีเอง จะช่วยใหง้ ำ่ ยต่อกำรอ่ำนและงำ่ ยต่อกำรแก้ไขโปรแกรม เช่น หำกมี ควำมตอ้ งกำรเปลย่ี นแปลงช่วงคะแนนกำรคิดเกรด เช่น จำกเดมิ 80 คะแนนขน้ึ ไปไดเ้ กรด A มำเป็น คะแนน 85 ข้นึ ไป ถงึ ไดเ้ กรดก็จะเข้ำไปแกไ้ ขทีโ่ มดลู ที่ 2 เป็นกำรเฉพำะซึ่งจะพบว่ำง่ำยตอ่ กำรคน้ หำ ตำแหนง่ ท่ตี ้องกำรแก้ไขมำก และดว้ ยแตล่ ะโมดูลจะมคี วำมอิสระต่อกัน ดังนน้ั หำกแกไ้ ขแล้วก็จะไม่ สง่ ผลกระทบต่อโมดูลอ่ืนๆ ที่เกีย่ วข้อง ภำพท่ี 3 รูปแบบกำรโปรแกรมแบบบนลงล่ำง หรือแบบโมดลู 2. การเขียนโปรแกรมเชิงวตั ถุ (Object-Oriented Programming) กำรเขยี นโปรแกรม เชิงวตั ถุ ตง้ั อยู่บนพื้นฐำนของกำรแจกแจงรำยละเอยี ดของปญั หำด้วยกำรม่งุ เนน้ เก่ียวกับวตั ถุในโลก แห่งควำมเปน็ จริง ซ่งึ ตำมปกตกิ ำรเขยี นโปรแกรมเชิงโครงสร้ำงนัน้ ข้อมูลและกระบวนกำรจะแยกออก จำกกนั แต่กำรโปรแกรมเชงิ วัตถุนัน้ จะมองวัตถุหน่ึงๆ เปน็ แหล่งรวมของข้อมูลและกระบวนกำรเข้ำไว้ ดว้ ยกัน โดยจะมีคลำส (Class) เป็นตัวกำหนดคณุ สมบัติของวัตถุ และคลำสจะสำมำรถสืบทอดคุณสมบตั ิ (Inheritance) ไปยงั คลำสย่อยต่ำงๆ ได้ ที่เรียกวำ่ SubClass ดว้ ยคุณสมบัติดงั กล่ำวจึงทำให้เกดิ กำร นำมำใชใ้ หม่ (Reusable) ทีท่ ำให้ลดขั้นตอนกำรพฒั นำโปรแกรมลงได้ โดยเฉพำะโปรแกรมขนำดใหญ่ ทมี่ ีควำมซบั ซ้อนสงู

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

3. เพ่ือให้ขั้นตอนการพัฒนาโปรแกรมมรี ะบบระเบยี บย่ิงขนึ้ เป็นท่เี ขำ้ ใจว่ำกำรเขียน โปรแกรมแบบเกำ่ ๆ ท่ีไรโ้ ครงสร้ำงย่อมก่อให้เกิดปัญหำยุ่งยำกในด้ำนกำรสื่อสำรระหวำ่ งนักเขียน โปรแกรมกบั นักวเิ ครำะหร์ ะบบ ดงั นน้ั ด้วยวธิ กี ำรโปรแกรมเชิงโครงสรำ้ งทมี่ กี ำรแตกโปรแกรม ออกเป็นโมดลู ยอ่ ยๆ นกั วเิ ครำะห์ระบบจึงสำมำรถแจกจ่ำยงำนเขยี นโปรแกรมให้กบั ทีมงำนแต่ละคน และสำมำรควบคมุ กำรพัฒนำโปรแกรมภำยในทมี งำนได้ และท้ำยที่สดุ ก็สำมำรถนำโปรแกรมโมดูล ยอ่ ยเหล่ำนนั้ มำรวมกัน เพื่อทดสอบกำรทำงำนของโปรแกรมทั้งระบบได้อยำ่ งมีคุณภำพ 4. เพื่อใหก้ ารพัฒนาระบบมีความรวดเรว็ และประหยัดตันทนุ สำหรบั จุดประสงคข์ ้อนี้ เปน็ ผลพลอยได้ที่เกดิ จำกจุดประสงค์ข้อที่ 3 น่นั เอง เน่ืองจำกเรำสำมำรถพัฒนำโปรแกรมให้มรี ะบบ ระเบียบทด่ี ี ระบบงำนก็จะสำเรจ็ ลงได้รวดเร็วขึน้ คำ่ ใช้จ่ำยในกำรพฒั นำโปรแกรมก็ลดลง กอ่ ให้เกิด ต้นทุนทตี่ ่ำลงมำน่ันเอง และจำกจุดประสงคห์ ลักทั้ง 4 ข้อตำมข้ำงต้นนเ่ี อง จึงได้มีควำมพยำยำม บรรลุให้ถึง จุดประสงค์หลักดังกล่ำว ดังน้นั เทคนิคโครงสร้ำงต่ำงๆ จงึ มีวิธีกำรอยหู่ ลำยแบบด้วยกัน แตโ่ ดยทั่วไปจะมแี นวทำงในกำรประยกุ ต์ใชง้ ำน ดงั น้ี - แตกปญั หำท่ีซบั ซอ้ นใหง้ ำ่ ยลง ด้วยกำรแตกโปรแกรมออกเปน็ โมดูลย่อย - ออกแบบโปรแกรมให้ง่ำยเข้ำไว้ และหำกมกี ำรส่งผ่ำนขอ้ มลู ระหวำ่ งโมดลู จะต้อง กำหนดกำรสง่ ผ่ำนข้อมูลระหว่ำงโมดูลให้ชดั เจน - สำมำรถควบคมุ ควำมขับข้อนของโปรแกรมได้ - เขยี นผังงำนใหเ้ ขำ้ ใจง่ำย - ปรับปรุงโปรแกรมใหอ้ ่ำนงำ่ ย - ส่อื สำรกบั ผู้ใชง้ ำนใหม้ คี วำมเขำ้ ใจตรงกันในด้ำนของควำมตอ้ งกำร - เป็นวิธกี ำรทสี่ ำมำรถถ่ำยทอดควำมร้กู นั ได้ - ใชโ้ ครงสรำ้ งท่ีควบคุมง่ำย เช่น กำรควบคุมลปู หรือกำรตรวจสอบเงอื่ นไข - สำมำรถสื่อสำรภำยในทีมงำนใหเ้ ข้ำใจตรงกนั - ลดจำนวนคนในทมี งำนให้คงเหลอื ซ่ึงทีมงำนที่จำเปน็ จรงิ ๆ ทง้ั น้ที ีมงำนท่มี ำกเกนิ ควำมจำเป็นจะสง่ ผลต่องบประมำณ และควำมย่งุ ยำกจะมำกขน้ึ - ช่วยลดข้อผดิ พลำดภำยในโปรแกรม - สำมำรถนำโปรแกรมกลับมำใชไ้ ด้ เช่น กำรจัดทำโปรแกรมย่อยทีเ่ ปน็ มำตรฐำน ที่ผูใ้ ช้ สำมำรถเรยี กใชง้ ำนได้จำกไลบรำรี (Library) โดยเพยี งส่งผำ่ นข้อมลู เพ่ือประมวลผล ซึ่งไมจ่ ำเปน็ ต้อง เขยี นข้ึนใหม่ - ชว่ ยในกำรทดุ สอบโปรแกรม เทคนคิ กำรเขยี นโปรแกรมเชงิ โครงสร้ำงจะช่วยให้ สำมำรถกำหนดรำยละเอียดของข้อมูลทนี่ ำมำใชท้ ดสอบได้อยำ่ งถูกต้องและสมบรู ณ์ สง่ิ สำคัญของกำรเขียนโปรแกรมคงมใิ ช่กำรลงมือเขยี นโปรแกรมโดยทนั ที เพรำะกำรกระทำ ดังกล่ำว อำจส่งผลให้โปรแกรมทเ่ี ขียนขึ้นนนั้ แลดไู ม่เปน็ โครงสร้ำงทด่ี ีได้ ดังนนั้ จึงจำเปน็ ตอ้ งไดร้ บั กำรออกแบบอยำ่ งมแี บบแผนก่อน จงึ ไปส่ขู น้ั ตอนกำรเขยี นโปรแกรมจริง และกระบวนกำรท่ีไดร้ บั กำรยอมรับก็คืออัลกอริทมึ นนั่ เอง

หำกเปรียบเทียบถงึ อลั กอริทึมวำ่ เปน็ ตำรำทำอำหำรก็ไม่ผิด ตำรำทำอำหำรน้ีสำมำรถให้พอ่ ครัวหรือแมค่ รัวแต่ละคนสำมำรถปฏบิ ตั ิตำมข้ันตอน เพื่อปรุงอำหำรตำมแต่ละเมนูได้เหมือนกนั กล่ำวคือ ใครก็ตำมที่ได้ปฏิบตั ิตำมข้ันตอนกำรเตรียมอำหำร กำรปรงุ อำหำรตำมเมนทู ี่กำหนดไว้ก็จะได้อำหำร เมนูนัน้ ตำมทตี่ ้องกำรทุกคน ดังนน้ั อัลกอริทึมจึงหมำยถึงขน้ั ตอนวธิ ีที่จะอธบิ ำยว่ำงำนงำนนัน้ ทำอย่ำงไร โดยจะประกอบดว้ ยกระบวนกำรทำงำนเป็นลำดับข้นั ตอนทีช่ ัดเจน และมีกำรรับประกนั ว่ำเมอ่ื ได้ปฏิบตั ิ ถูกต้องตำมข้นั ตอนจนครบแล้ว จะต้องไดผ้ ลลัพธท์ ีถ่ ูกต้องตำมควำมต้องกำร และต่อไปนี้ เปน็ ตัวอย่ำง อลั กอริทึมกำรต้มบะหมี่กึ่งสำเร็จรูปซึ่งประกอบดว้ ยขัน้ ตอนดังต่อไปนี้ 1. เทนำ้ สะอำดใส่หม้อ และต้มจนเดอื ด 2. ฉีกซอง และนำบะหมกี่ ่ึงสำเร็จรูปใสล่ งในชำม 3. เทเครอ่ื งปรุงลงในชำม 4. นำน้ำท่ตี ม้ เดือดเทลงในชำม 5. ปิดฝำ 6. รอประมำณ 3 นำที เมอื่ ได้ปฏบิ ัติตำมขน้ั ตอนข้ำงตน้ กจ็ ะได้บะหมก่ี ่งึ สำเร็จรปู ที่พรอ้ มรบั ประทำนได้ ทนั ที และ จำกขั้นตอนดังกล่ำวน้ีเองหำกผใู้ ดกต็ ำมท่ีไปปฏิบตั ิตำมขนั้ ตอนนแ้ี ล้วก็รับประกัน ไดว้ ำ่ จะได้บะหมี่ก่ึง สำเร็จรปู พร้อมทำนได้อย่ำงแนน่ อนน่ันเอง อยำ่ งไรก็ตำม ขน้ั ตอนกำรทำงำนของอัลกอรทิ มึ อำจมคี วำมแตกตำ่ งกนั ได้ แต่จะไดผ้ ลเชน่ เดยี วกนั ทง้ั นข้ี ้นึ อยกู่ ับควำมเหมำะสม เชน่ กำรทำบะหมก่ี ึง่ สำเรจ็ รูปอำจมิไดท้ ำตำมกระบวนกำรข้ำงตน้ กไ็ ด้ แตจ่ ะใช้วธิ กี ำรนำเข้ำไปอนุ่ ในเตำไมโครเวฟก็ได้ ดังน้ันจงึ สรุปได้ว่ำ อัลกอริทึมท่ีใช้สำหรบั กำรแก้ไข ปัญหำทำงคอมพิวเตอร์ สำมำรถมหี ลำยวิธดี ้วยกันขึน้ อยู่กบั ควำมเหมำะสม และแนวทำงทค่ี ิดว่ำดี ทีส่ ุดในสถำนกำรณน์ ้ันๆ 1. คณุ สมบตั ิของอลั กอรทิ ึม ประกอบดว้ ยรำยละเอยี ดดังต่อไปนี้ 1.1 เปน็ กระบวนกำรท่สี ร้ำงข้ึนจำกกฎเกณฑ์ เน่อื งจำกอลั กอรทิ ึมจดั เปน็ รปู แบบหนึ่ง ของกำรแก้ปัญหำ และกระบวนกำรกค็ ือกลุ่ม ของขนั้ ตอนที่อยู่รวมกันเพ่ือใช้แก้ปัญหำต่ำง ๆ เพือ่ ให้ดู มำพึงผลลัพธด์ ังนัน้ จึงจำเปน็ ตอ้ งมีกฎเกณฑ์ในกำรสรำ้ งกระบวนกำรเหล่ำน้นั ซ่ึงอำจอยู่ในรปู แบบ ของประโยคภำษำอังกฤษ สัญลักษณ์ หรือซโู ดโค้ด ทีม่ ีควำมเปน็ สำกล 1.2 กฎเกณฑ์ทสี่ รำ้ งอัลกอริทึมตอ้ งไม่คลุมเครือ รูปแบบของกฎเกณฑ์ใดก็ตำมทีใ่ ชส้ ร้ำง อลั กอริทึมนน้ั สมควรจะต้องมีระบบระเบียบ อำ่ นแล้วไมส่ ับสน กล่ำวคอื จะต้องเป็นกฎเกณฑ์ที่อำ่ น แล้วเขำ้ ใจตรงกัน และที่สำคัญควรหลีกเลย่ี งคำที่กอ่ ให้เกดิ ควำมเขำ้ ใจไดห้ ลำยควำมหมำย 1.3 กำรประมวลผลตอ้ งเป็นลำดบั ขั้นตอนคำสัง่ ตำ่ งๆ ท่ถี ูกกำหนดด้วยกฎเกณฑ์จะตอ้ ง ประมวลผลเป็นลำดบั ตำมขั้นตอนที่แน่นอน 1.4 กระบวนกำรต้องให้ผลลัพธต์ ำมที่กำหนดในปญั หำกลุ่มขั้นตอนต่ำงๆ ท่ีกำหนดไวใ้ น กระบวนกำร เมื่อถกู ดำเนินกำรแลว้ จะตอ้ งมีผลลพั ธ์ ตรงตำมทก่ี ำหนดในปัญหำนั้นๆ 1.5 อลั กอริทึมต้องมจี ุดส้นิ สดุ คุณสมบัติอีกข้อหนงึ่ ท่สี ำคัญกค็ ือ อลั กอริทึมต้องมี จดุ สน้ิ สุด เนอ่ื งจำกคอมพิวเตอร์จะไม่สำมำรถประมวลผลแบบไมส่ ิ้นสุดได้ เช่น กำรบวกเลขจำนวน

เตม็ บวกไมถ่ ือวำ่ เป็นอัลกอริทึม เน่ืองจำกไม่ทรำบถึงขอบเขตสน้ิ สุดของตัวเลขจำนวนเต็ม ดงั นัน้ คำวำ่ “กำรบวกเลขจำนวนเตม็ บวก” จึงเปน็ ข้ันตอนกำรทำงำนแบบไม่มีที่สิน้ สดุ 2. ประสิทธิภาพของอัลกอริทึม เป็นที่ทรำบกนั ดวี ่ำ กำรออกแบบอัลกอริทึมเพื่อแก้ปญั หำ แต่ละคนอำจออกแบบขนั้ ตอนกำรแก้ปัญหำท่ีแตกต่ำงกันได้ ทง้ั นี้ข้ึนอยู่แนวคิด เง่ือนไข และข้อจำกัด ต่ำงๆ เพื่อให้ได้มำซึง่ อลั กอริทึมทเ่ี หมำะสมทส่ี ดุ ตำมแต่ละสถำนกำรณ์ อย่ำงไรกต็ ำมในกำรพิจำรณำ ถึงประสิทธิภำพของอัลกอริทึม จะพจิ ำรณำถงึ เกณฑพ์ น้ื ฐำนดังตอ่ ไปนี้ 2.1 อัลกอริทึมทีด่ ีต้องใช้เวลำในกำรดำเนินกำรน้อยที่สุด อัลกอรทิ ึมท่ีดีควรมีขั้นตอนต่ำง ๆ เท่ำทจ่ี ำเปน็ และหำกเป็นไปไดก้ ็ควรหลีกเสยี่ งกำร ดำเนนิ งำนทีเ่ กยี่ วข้องกบั อุปกรณ์ ซึง่ มกั ใช้เวลำ ในกำรดำเนินงำนนำน 2.2 อลั กอริทมึ ท่ีดตี ้องใชห้ น่วยควำมจำนอ้ ยท่สี ดุ ภำยในหน่วยควำมจำควรจะมีข้อมูล ทีจ่ ำเปน็ ตอ่ กำรดำเนนิ งำนในขณะนน้ั ดังน้นั ควร หลีกเล่ียงตัวแปรหรือข้อมลู ที่ไมเ่ ก่ยี วข้อง 2.3 อลั กอริทึมที่ดีต้องมคี วำมยดื หยนุ่ อัลกอริทมึ ควรออกแบบให้สำมำรถปรับปรงุ กำร ใช้งำนได้งำ่ ย 2.4 อัลกอริทึมทด่ี ีองใชเ้ วลำในกำรพัฒนำน้อยทีส่ ุด ควรใช้เวลำในกำรพฒั นำอัลกอริทึมให้ เหมำะสมกับเวลำ เชน่ กรณที ่ีอัลกอริทมึ นั้นไมม่ ีควำมซับซ้อนมำกมำย แต่กลับใช้เวลำในกำรพัฒนำมำก เกินควำมจำเป็นก็แลดูไม่เหมำะสม 2.5 อัลกอริทึมที่ดตี ้องง่ำยต่อกำรทำควำมเขำ้ ใจ อลั กอรทิ ึมจะต้องออกแบบดว้ ย กำรใช้ประโยคคำสง่ั ท่เี ป็นมำตรฐำนโดยเมื่ออ่ำนแลว้ ตอ้ งตีควำมหมำยที่เข้ำใจตรงกนั ไม่สบั สน ควำมจริงแลว้ ทัง้ ซูโดโคด้ และผังงำน (Flowchart) ต่ำงก็สำมำรถนำมำใช้เป็นตวั แทนของ อลั กอริทึมได้ โดยงำนจะประกอบด้วยสญั ลักษณ์ที่ใชแ้ ทนควำมหมำยตำ่ งๆ วำ่ กำรประมวลผลมีลำดบั ขนั้ ตอนใดบ้ำง แตผ่ ังงำนมขี ้อจำกัดในเร่ืองของกำรขำดรำยละเอียด ดงั นน้ั ในกำรทำงำนจรงิ ซโู ดโคด้ จงึ มักถูกนำมำใชเ้ ปน็ ตัวแทนของอลั กอริทมึ มำกกวำ่ เนื่องจำกสำมำรถสื่อสำรตรรกะในกำรแก้ปญั หำ ของอัลกอรทิ มึ นน้ั ๆ กับโปรแกรมเมอรไ์ ด้อย่ำงเข้ำใจ กล่ำวคือโปรแกรมมอร์สำมำรถนำอัลกอริทมึ ท่ี นำเสนอในรูปแบบของซโู ดโค้ดไปเขยี นเป็นชุดคำสั่งภำษำโปรแกรมได้ทันที เน่ืองจำกซโู ดโค้ดมรี ูปแบบ เป็นโครงสร้ำงภำษำอังกฤษที่มีควำมคลำ้ ยคลงึ กับภำษำคอมพิวเตอรร์ ะดบั สูง อย่ำงไรก็ตำม กำร เขียนซโู ดโคด้ ไม่ไดม้ ีมำตรฐำนกำรเขียนท่ชี ัดเจนอย่ำงภำษำระดบั สูง ดังนั้นจงึ จำเป็นต้องเรยี นรูถ้ ึง หลักกำรเพื่อสำมำรถเขียนซูโดโค้ดใหส้ ำมำรถสื่อสำรกับโปรแกรมเมอรใ์ ดอยำ่ งเขำ้ ใจ 1.วิธีการเขยี นซโู ดโคด้ 1.1 ถอ้ ยคำหรือประโยคคำสงั่ (Statement) ใหเ้ ขียนอยใู่ นรปู แบบของภำษำองั กฤษอย่ำงงำ่ ย 1.2 ในหน่ึงบรรทัดให้เขยี นประโยคคำสง่ั เพียงคำสงั่ เดียว 1.3 ควรใชย้ ่อหน้ำใหเ้ ป็นประโยชน์ เพอื่ แยกคำเฉพำะ (Keywords) ไดช้ ดั เจนรวมถึง จดั โครงสร้ำงกำรควบคุมใหเ้ ป็นสดั สว่ น ซ่งึ กำรกระทำดงั กล่ำวจะทำให้อ่ำนงำ่ ย 1.4 แต่ละประโยคคำสัง่ ใหเ้ ขียนลำดับจำกบนลงลำ่ ง โดยมีทำงเข้ำเพยี งทำงเดยี ว และ มีทำงออกทำงเดยี วเทำ่ น้นั

1.5 กลุ่มของประโยคคำส่ังต่ำงๆ อำจจัดรวมกลุ่มเข้ำด้วยกันในรปู แบบของโมดลู แตต่ ้องกำหนดชื่อโมดูลเหล่ำนัน้ ดว้ ย เพอื่ ใหส้ ำมำรถเรียกใช้งำนโมดูลนัน้ ได้ ALGORITHM PROBLEM_1 VARIABLES: mLoop, sum, testScore, average BEGIN INPUT mLoop counter = 0 sum = 0 FOR I = 1 to mLoop INPUT testScore sum = sum + testScore NEXT Average END PROBLEM_1 ภำพท่ี 5 ตวั อยำ่ งกำรเรยี นซูโดโคด้ 2. รปู แบบการเขยี นซูโดโคด้ ทส่ี ามารถนาไปประยุกต์ใชเ้ พอื่ การเขียนโปรแกรม 2.1 กำรกำหนดคำ่ และกำรคำนวณ รปู แบบ name = expression - name คือ ชือ่ ตวั แปรที่ใชส้ ำหรบั เกบ็ ค่ำ - expression คอื คำ่ ข้อมลู หรือนิพจน์ ตัวอยา่ งเช่น salary = 10000 overtime = 2500 tax = 125 income = salary + overtime - tax หมำยควำมวำ่ ได้มกี ำรกำหนดคำ่ เรมิ่ ต้นให้กับตัวแปร salary, overtime และ tax จำกน้นั ก็กำหนดให้ income = salary + overtime – tax 2.2 กำรอำ่ น / รบั ข้อมลู รปู แบบ READ variable_1, variable_2, variable_n INPUT variable_1, variable_2, variable_n GET variable_1, variable_2, variable_n

กำรอ่ำนขอ้ มูลสำมำรถใช้คำส่งั READ, INPUT หรือ GET ก็ได้ อยำ่ งไรกต็ ำม ทั้ง 3 คำสัง่ นั้น มกั ถูกนำไปใช้ตำมแตล่ ะกรณี ดังนี้ - READ นำไปใชส้ ำหรบั กำรอ่ำนค่ำท่ีมีอยแู่ ล้วมำเก็บไวใ้ นตัวแปร เชน่ กำรอ่ำน ขอ้ มลู จำกไฟล์ - INPUT และ GET น้ำไปใช้สำหรับกำรรับค่ำขอ้ มลู ผ่ำนแป้นพมิ พ์ สำหรบั variable คอื ตัวแปรท่ีใช้เกบ็ ข้อมลู ท่ีอ่ำนหรือรับเข้ำมำ ซึง่ สำมำรถกำหนดได้ หลำยตวั ตำมจำนวนตัวแปรทต่ี ้องกำร โดยใช้เครอื่ งหมำย \",\" คั่นระหว่ำงชื่อตัวแปร ตวั อย่างเช่น INPUT a, b, c answer = a + b + c หมำยควำมวำ่ ให้รบั คำตวั แปร a, b และ c ผำ่ นทำงแป้นพิมพ์ และกำหนดให้ตวั แปร GET Current_date expire_date = Current_date + 120 หมำยควำมวำ่ ให้รบั คำวนั ทป่ี ัจจบุ นั แล้วเก็บไว้ในตวั แปรชอ่ื current date OPEN student_file READ id, name, address, sex หมำยควำมวำ่ ใหเ้ ปิดไฟล์ชื่อ student_file ไว้ แล้วอ่ำนคำ่ เรคอร์ดจำกไฟลด์ ังกล่ำว ซงึ่ ประกอบด้วยพลิ ค์ id, name, address และ sex 3. การแสดงผลข้อมูล รปู แบบ PRINT variable_1, variable_2, variable_n PROMPT variable_1, variable_2, variable_n WHITE variable_1, variable_2, variable_n สำหรับกำรแสดงผลขอ้ มลู สำมำรถใช้คำสง่ั Print, Prompt หรือ Write อยำ่ งไรกต็ ำม ทั้ง 3 คำสั่งนนั้ มักถูกนำไปใช้ตำมแตล่ ะกรณี ดงั นี้ - Print และ Prompt นำไปใช้สำหรบั กำรพิมพค์ ำ่ ข้อมลู หรอื ข้อควำม - Write นำไปใชส้ ำหรบั กำรบันทึกข้อมลู ลงในแฟ้มขอ้ มลู

ตัวอยา่ งเชน่ PROMPT \"Enter 3 value ==> \" INPUT value1, value2, value3 sum = value1 + value2 + value3 PRINT sum หมำยควำมว่ำ ใหพ้ ิมพ์ขอ้ ควำมรับค่ำตัวเลขจำนวน 3 ค่ำ จำกนน้ั ให้รบั ค่ำตวั เลขทัง้ สำม โดยจัดเกบ็ ไว้ทีต่ วั แปรชอื่ value1, value2 และ value3 ตำมลำดบั และกำหนดให้ sum มีค่ำเท่ำกบั ผลรวมของตวั แปรทง้ั สำมแล้วทำกำรพิมพค์ ำ่ sum OPEN student_file INPUT id, name, address, sex WHITE id, name, address, sex หมำยควำมว่ำให้ปิดไฟลช์ ือ่ student_file ขน้ึ มำจำกนนั้ ให้รบั ค่ำ id, name, address และ sex แล้วบนั ทึกค่ำดังกล่ำวลงในแฟม้ ข้อมูล 4. การกาหนดเง่อื นไข THEN รปู แบบ IF <coudition> activity1 ELSE activity2 ENDIF โดยท่ี <condition> คอื เงื่อนไขท่ีกำหนด ซ่ึงหำกเง่ือนไขเป็นจรงิ กจ็ ะทำกจิ กรรมหลงั THEN แตถ่ ำ้ เงื่อนไขเปน็ เท็จก็จะทำกิจกรรมหลัง ELSE ตวั อย่างเชน่ IF sax = \"M\" THEN male = MALE + 1 ELSE female = female + 1 ENDIF หมำยควำมว่ำ ถำ้ sex มีคำ่ เท่ำกับ “M” ใหท้ ำกำรบวกสะสมค่ำทลี ะหนึง่ เก็บไว้ทตี่ วั แปร male แตถ่ ำ้ ไม่ใช่ก็ให้บวกสะสมค่ำทีละหน่ึงใหก้ บั ตัวแปร female นอกจำกนี้ ยงั สำมำรถกำหนดเงือ่ นไขแบบหลำยๆ เง่ือนไขดังนี้

IF score >= 80 grade = \"A\" ELSEIF score >= 70 grade = \"B\" ELSEIF score >= 60 grade = \"C\" ELSEIF score >= 50 grade = \"D\" ELSE grade = \"F\" ENDIF ENDIF ENDIF ENDIF อยำ่ งไรก็ตำม กรณีกำรใช้ IF เพ่ือกำรตรวจสอบหลำยเงื่อนไขอำจแลดยู ุ่งเหยิง หรือ ตรวจสอบโปรแกรมค่อนข้ำงยำก ดงั นนั้ จึงสำมำรถใชค้ ำสง่ั CASE …ENDCASE แทนได้ดังตวั อย่ำง ตอ่ ไปน้ี CASE score OF >= 80 : grade = \"A\" >= 70 : grade = \"B\" >= 60 : grade = \"C\" >= 50 : grade = \"D\" < 50 : grade = \"F\" ENDIF 5. การทางานเปน็ รอบ (Loop) สำหรับคำส่งั ทีใ่ ช้ทำงำนเปน็ รอบ จะมีอย่หู ลำยรปู แบบดว้ ยกัน คอื 5.1 กำรทำงำนเป็นรอบด้วยลูป WHILE…ENDWHILE รูปแบบ WHITE <condition> activity 1 activity 2 activity n ENDIF กำรทำงำนของลปู WHILE จะมีกำรตรวจสอบเงื่อนไขก่อน หำกเงื่อนไขเป็นจรงิ ก็จะ ทำกจิ กรรมภำยในลูปซ้ำไปเร่อื ยๆ จนกระทั่งเงื่อนไขเป็นเท็จก็จะออกจำกลูป อย่ำงไรกต็ ำมหำก เงอื่ นไขที่ตรวจครัง้ แรกเปน็ เท็จกจ็ ะไม่มีกำรดำเนนิ กิจกรรมภำยในลปู เลย

ตวั อยา่ งเชน่ WHILE num <= 20 PRINT num num = num + 1 ENDWHILE PROMPT \"STOP RUN\" หมำยควำมวำ่ หำกคำ่ num มคี ่ำเร่ิมตน้ เป็น 1 กจ็ ะมีกำรวนซำ้ ภำยในลูปจำนวน 20 รอบ พร้อมทง้ั พิมพ์คำ่ num ทเี่ พมิ่ คำทลี ะหนงึ่ ไปเร่ือยๆ จนกระทั่งคำ่ num มีคำ่ เกนิ กวำ่ 20 กจ็ ะหลุดออกจำกลปู แล้วพิมพ์ข้อควำมวำ่ <STOP RUN> ในขณะท่ีถ้ำคำ่ num มีค่ำเร่ิมต้นเท่ำกับ 55 กจ็ ะหมำยควำมว่ำจะไมไ่ ด้ดำเนินกำรกับกิจกรรมใดๆ ภำยในลปู นเี้ ลยมีเพียงแตพ่ ิมพ์ข้อควำม <STOP RUN> แสดงออกมำเท่ำนน้ั 5.2 กำรทำงำนเปน็ รอบด้วยลูป DO...UNTIL รปู แบบ DO activity 1 activity 2 activity n UNTIL <condition> กำรทำงำนของลปู DO...UNTIL จะดำเนินกำรวนซำ้ ภำยในลปู รอบหนง่ึ ก่อนจำกนั้น จงึ ทำกำรตรวจสอบเง่อื นไขโดยจะวนซ้ำไปเร่ือยๆ จนว่ำเงอื่ นไขเป็นเท็จจึงหลุดออกจำกลูป ดงั นน้ั ถึงแมเ้ ง่ือนไขทตี่ รวจสอบจะเปน็ เท็จต้งั แต่แรกลูป DO...UNTIL ก็จะมีกำรดำเนินกำรกับกิจกรรม ภำยในลปู อย่ำงน้อยหนง่ึ รอบเสมอ ตัวอย่างเช่น DO PRINT \"HELLO...\" num = num + 1 UNTIL num > 20 หมำยควำมว่ำภำยในลูปจะสั่งให้พิมพข์ ้อควำม HELLO... ไปเรอ่ื ย ๆ พร้อมบวก สะสมคำ่ ทลี ะหน่งึ ให้กับ num ในแตล่ ะรอบจนกระทั่งคำ num มีค่ำเกนิ กวำ่ 20 ก็จะหลุดออกจำลูป ดงั น้นั ถงึ แม้ว่ำคำ num มีค่ำเร่มิ ต้นคือ 1 ชุดคำส่งั ภำยในลูปก็จะถูกทำงำนอย่ำงนอ้ ยหน่ึงรอบเสมอ 5.3 กำรทำงำนเปน็ รอบด้วยลูป FOR…NEXT รปู แบบ FOR i = 1 to n activity 1 activity 2 activity n NEXT

กำรทำงำนของลปู FOR...NEXT จะมีกำรวนซำ้ เพ่ือทำงำนภำยในลูปตำมจำนวนรอบ ท่ีกำหนดไว้แน่นอน เช่น กำหนดให้วน 10 รอบ กจ็ ะทำกิจกรรมภำยในลปู ด้วยกำรวนซ้ำ 1 รอบ ตัวอย่ำงเช่น ให้พมิ พ์คำวำ่ Good Morning จำนวน 10 ขอ้ ควำม กส็ ำมำรถเขียนๆ คำสั่งไดด้ ังน้ี FOR i = 1 to n PRINT \"Good morning...\" NEXT 6. โปรแกรมย่อย (Procedure) กรณที ่ีโปรแกรมมีควำมซบั ซ้อน และมีขั้นตอนมำกมำยอำจมคี วำมจำเป็นต้องแบ่งสว่ น ออกเปน็ โปรแกรมย่อยหรือทเี่ รียกว่ำโพรซเี ยอร์ โดยแต่ละโพรซีเยอรจ์ ะต้องมชี อ่ื กำกบั พร้อมชุดคำสัง่ ภำยใน สว่ นกำรเรียกใช้งำนก็จะใช้คำสง่ั CALL แล้วตำมด้วยชื่อโพรซีเยอร์ โดยหลังจำกท่ีมกี ำรสง่ั ให้ ทำงำนในโพรซเี ยอรน์ ั้นๆ เสร็จเป็นท่ีเรียบรอ้ ยแลว้ กจ็ ะกลับมำยงั ตวั โปรแกรมหลกั เพ่ือทำงำน ชดุ คำสั่งในลำดับถัดไป และที่สำคัญโพรซีเยอร์ยังใชง้ ำนได้อยำ่ งเหมำะสมกับกลุ่มกิจกรรมทีต่ อ้ งถูก เรียกใชง้ ำนอยบู่ ่อยๆ รูปแบบ PROCEDURE name และต่อไปนีเ้ ป็นตวั อย่ำงกำรสร้ำงและกำรเรียกใหง้ ำนโพรซีเยอร์ ALGORITHM quiz_report OPEN score_file DO READ id, name, quiz1, quiz2, quiz3 CALL checkPaSS PRINT id, name, quiz1, quiz2, quiz3, text UNTIL end of file END quiz_report PROCEDURE checkPaSS score = quiz1 + quiz2 + quiz3 IF score >= 60 text = \"PASS\" ELSE text = \"Faill\" ENDIF RETURN text มาสรปุ บทเรียน ด้วยกนั นะคะ

สรปุ ทา้ ยบท ขน้ั ตอนการเขยี นโปรแกรม สำมำรถแบง่ ออกเปน็ 5 ขน้ั ตอนดว้ ยกัน คือ 1. กำรวิเครำะห์ปญั หำ 2. กำรออกแบบโปรแกรม 3. กำรเขียนโปรแกรม 4. กำรทดสอบโปรแกรม 5. กำรจัดทำเอกสำรประกอบโปรแกรม รปู แบบการเขยี นโปรแกรม สำมำรถแบง่ ออกเปน็ 2 รูปแบบดว้ ยกันคือ 1. กำรเขยี นโปรแกรมเชงิ โครงสรำ้ ง 2. กำรเขยี นโปรแกรมเชงิ วตั ถุ การเขียนโปรแกรมเชิงโครงสร้าง ประกอบดว้ ย 1. ชดุ คำส่ังภำยในโปรแกรม จะเปน็ ลำดับข้ันตอน (Sequence) 2. มที ำงเลือกในกำรตัดสนิ ใจทำงใดทำงหนงึ่ (Decision) 3. มชี ดุ คำสงั่ เพื่อกำรทำซ้ำ (Repetition) จุดประสงค์ของเทคนคิ การออกแบบโปรแกรมเชิงโครงสรา้ ง ประกอบดว้ ย 1. เพ่อื สรำ้ งโปรแกรมให้มีคุณภำพ และทำนำยไดว้ ่ำจะเกิดอะไรข้นึ ในโปรแกรม 2. เพอื่ สรำ้ งโปรแกรมทง่ี ่ำยต่อกำรปรับปรุงและแกไ้ ข 3. เพอ่ื ให้ขั้นตอนกำรพัฒนำโปรแกรมมีระบบระเบียบย่ิงข้ึน 4. เพอ่ื ให้กำรพฒั นำระบบมีควำมรวดเร็ว และประหยดั ต้นทุน อลั กอริทึมหรือข้นั ตอนวธิ ี คือกระบวนกำรทำงำนท่ีเป็นลำดับขน้ั ตอน ชดั เจน และ มีกำรรับประกันว่ำเม่ือได้ปฏิบัตถิ กู ต้องตำมข้ันตอนจนครบแล้ว จะไดผ้ ลลพั ธท์ ถี่ ูกตอ้ งตำมควำม ตอ้ งกำร อลั กอริทึมท่ีนำมำใชเ้ พื่อกำรแก้ปญั หำหนงึ่ ๆ อำจมคี วำมแตกตำ่ งกนั ได้ แตก่ ็จะได้ผล เช่นเดียวกันทัง้ น้ขี ึ้นอยกู่ ับควำมเหมำะสม และเป็นแนวทำงทีค่ ิดว่ำดที ี่สุดในสถำนกำรณ์นั้นๆ คณุ สมบัตขิ องอัลกอริทึม ประกอบด้วย 1. เปน็ กระบวนกำรทีส่ ร้ำงข้ึนจำกกฎเกณฑ์ 2. เกณฑ์ที่สรำ้ งอลั กอรทิ ึมต้องไม่คลุมเครือ 3. กำรประมวลผลตอ้ งเปน็ ลำดับข้นั ตอน 4. กระบวนกำรต้องให้ผลลัพธต์ ำมท่กี ำหนดในปัญหำ 5. อลั กอรทิ ึมต้องมีจุดสิน้ สดุ การพิจารณาถงึ ประสทิ ธิภาพของอัลกอริทึม จะพจิ ำรณำถงึ เกณฑ์พนื้ ฐำนต่อไปน้ี 1. อลั กอรทิ ึมทด่ี ีต้องใช้เวลำในกำรดำเนินกำรน้อยทีส่ ดุ 2. อัลกอรทิ ึมทีด่ ีต้องใชห้ นว่ ยควำมจำนอ้ ยท่ีสดุ 3. อลั กอริทึมท่ดี ตี ้องมีควำมยึดหยุ่น 4. อลั กอรทิ ึมทีด่ ีต้องใช้เวลำในกำรพฒั นำน้อยทสี่ ดุ

5. อัลกอริทึมที่ดีต้องง่ำยต่อควำมเขำ้ ใจ ซูโดโคด้ และผงั งำนต่ำงก็สำมำรถนำมำใช้เป็นตวั แทนของอลั กอรทิ ึมได้ ผังงำนจะประกอบดว้ ยสัญลกั ษณท์ ่ีใช้แทนควำมหมำยต่ำงๆ วำ่ กำรประมวลผลมลี ำดบั ข้นั ตอนใดบำ้ ง แต่ผังงำนมขี ้อจำกดั ในเรื่องของกำรขำดรำยละเอยี ด ดงั นัน้ ในกำรทำงำนจรงิ ๆ แลว้ ซูโดโคด้ จงึ มกั ถูกนำมำใชเ้ ป็นตัวแทนของอัลกอริทึมมำกกว่ำ ซโู ดโค้ดมรี ูปแบบเป็นโครงสร้ำงภำษำองั กฤษทม่ี ีควำมคลำ้ ยคลงึ กบั ภำษำคอมพิวเตอร์ ระดับสงู แต่อยำ่ งไรกต็ ำม กำรเขียนซูโดโค้ดไม่ไดม้ ีมำตรฐำนกำรเขียนทีช่ ัดเจนอย่ำงภำษำระดับสูง ดงั นนั้ จงึ จำเป็นต้องเรยี นร้ถู งึ หลกั กำรเพื่อสำมำรถเขยี นซูโดโค้ดให้สำมำรถสื่อสำรกบั โปรแกรมเมอร์ได้ อย่ำงเข้ำใจ หลกั วธิ ีการเขียนซูโดโค้ด 1. ถอ้ ยคำหรือประโยคคำส่งั ให้เขียนอยูใ่ นรปู แบบของภำษำองั กฤษอย่ำงง่ำย 2. ในหนง่ึ บรรทัดให้เขยี นประโยคคำส่ังเพียงคำส่ังเดยี ว 3. ควรใช้ยอ่ หน้ำใหเ้ ปน็ ประโยชน์ เพื่อแยกคำเฉพำะ รวมถึงจัดโครงสรำ้ งกำรควบคุม ใหเ้ ปน็ สัดสว่ น ซงึ่ กำรกระทำดังกลำ่ วจะทำให้อำ่ นง่ำย 4. แต่ละประโยคคำสั่งใหเ้ ขยี นลำดับจำกบนลงล่ำงโดยมีทำงเข้ำเพยี งทำงเดียว และ มที ำงออกทำงเดียวเทำ่ น้ัน 5. กลุ่มของประโยคคำสั่งต่ำงๆ อำจจดั รวมกลุ่มเข้ำดว้ ยกันในรปู แบบของโมดูลแตต่ ้อง กำหนดชอ่ื โมดูลเหล่ำนั้นด้วย เพ่ือให้สำมำรถเรียกใชง้ ำนโมดลู น้ันได้ เครือ่ งหมาย = จะนำมำใช้เพื่อกำรกำหนดค่ำและกำรคำนวณ เช่น x= 0, sum =x + y การอา่ นหรือรับข้อมูล สำมำรถใชค้ ำสัง่ READ, INPUT และ GET แต่ READ มกั ถกู นำมำใชส้ ำหรบั อำ่ นคำทม่ี ี อยูแ่ ล้วมำเกบ็ ไว้ในตัวแปร เช่น กำรอ่ำนข้อมลู จำกไฟล์ในขณะท่ี INPUT และ GET จะนำไปใช้สำหรบั กำรรับค่ำข้อมลู ผำ่ นแปน้ คยี บ์ อรด์ การแสดงผลขอ้ มลู สำมำรถใชค้ ำสั่ง PRINT, PROMPT และ WRITE แต่ PRINT และPROMPT มักถกู นำไปใช้สำหรบั กำรพมิ พ์ค่ำข้อมลู หรอื ข้อควำมในขณะที่ WRITE จะนำไปใชส้ ำหรบั กำรบนั ทกึ ข้อมูล ลงในแฟม้ ขอ้ มลู การกาหนดเง่ือนไข จะใชป้ ระโยด IF.... THEN.... ELSE โดยหำกเงื่อนไขทต่ี รวจสอบเป็นจรงิ กจ็ ะทำ กิจกรรมหลงั THEN แต่ถ้ำเงือ่ นไขเป็นเท็จก็จะทำกิจกรรมหลัง ELSE กรณที ม่ี ีกำรตรวจสอบเง่ือนไข F ซอ้ นกันหลำยๆ ชั้นอำจทำให้แลดูยงุ่ เหยิงและ ตรวจสอบยำก ดงั น้ันจึงสำมำรถใชค้ ำสัง่ CASE....ENDCASE แทนได้

คาสัง่ ที่ใช้ทางานเปน็ รอบหรือลูป มีอยู่หลำยรูปแบบด้วยกันคือ 1. ลปู While...endwhile เป็นลปู ทม่ี ีกำรตรวจสอบเง่อื นไขก่อน ดังน้นั หำกเง่อื นไข เปน็ จรงิ กจ็ ะทำกจิ กรรมภำยในลูปชำ้ ไปเร่ือยๆ จนกระทัง่ เง่ือนไขเปน็ เท็จก็จะหลุดออกจำกลปู แตอ่ ย่ำงไรก็ตำม หำกเง่อื นไขทต่ี รวจสอบครัง้ แรกเปน็ เท็จก็จะไม่มกี ำรดำเนินกจิ กรรมภำยในลปู เลย 2. ลูป Do...until เปน็ ลูปทอ่ี ยำ่ งนอ้ ยต้องดำเนนิ กำรภำยในลปู รอบหน่งึ เสมอจำกน้นั จงึ ทำกำรตรวจสอบเงอ่ื นไข โดยจะวนซ้ำไปเรื่อยๆ จนกวำ่ เงอื่ นไขจะเป็นเท็จจงึ หลุดออกจำกลูป 3. ลูป For...next เป็นลูปท่ีมกี ำรกำหนดรอบกำรนซ้ำทม่ี จี ำนวนรอบที่แนน่ อน กรณีทีโ่ ปรแกรมมีขนำดใหญ่ อำจเขยี นซูโดโดด้ ดว้ ยกำรแบ่งออกเปน็ โพรซเี ยอร์ได้ โดยแต่ละโพรซเี ยอร์ตำ่ งก็มหี น้ำทขี่ องตนโดยเฉพำะ และสำมำรถเรยี กใชง้ ำนได้บ่อยตำมทตี่ อ้ งกำร สำหรับกำรเรยี กใช้งำนก็จะใช้ชุดคำสั่ง CALL แล้วตำมดว้ ยช่ือโพรซเี ยอร์ และเมื่อทำงำนจนสนิ้ สุด โพรซีเยอร์น้ันๆ แลว้ กจ็ ะกลบั มำยังตัวโปรแกรมหลกั เพ่ือทำงำนชุดคำสงั่ ในลำดับถัดไป ตง้ั ใจศึกษาใบความรู้ นะคะนกั เรียน

คาชีแ้ จง ให้นักเรียนตอบคำถำมต่อไปนใ้ี ห้ถกู ต้อง 1. ข้ันตอนกำรเขยี นโปรแกรม ประกอบด้วยขัน้ ตอนใดบ้ำง ตอบ ............................................................................................................................. ..................... ................................................................................................................................................................ 2. เพรำะเหตใุ ดในกำรเขียนโปรแกรม ไม่สมควรลงมือเขยี นโปรแกรมโดยทนั ที ตอบ .................................................................................................................................................. ............................................................................................................................. ................................... 3. นักเรยี นคิดว่ำ ประสิทธภิ ำพของอลั กอริทึม ควรพิจำรณำถงึ เกณฑใ์ ดบ้ำง ตอบ ............................................................................................................................. ..................... ................................................................................................................................................................ 4. ใหน้ กั เรยี นบอกควำมเหมือน และควำมแตกตำ่ งระหว่ำงผังงำนและซูโดโค้ด ตอบ .................................................................................................................................................. ............................................................................................................................. ................................... 5. ใหน้ ักเรยี นสรปุ ซูโดโคด้ ที่ใชส้ ำหรบั กำรกำหนดคำ่ และคำนวณ พร้อมทง้ั อธิบำยมำพอสังเขป ตอบ ............................................................................................................................. ..................... ................................................................................................................................................................ สรปุ คะแนน สรุปผล ผ่าน ไมผ่ ่าน คะแนนเตม็ คะแนนทไี่ ด้ ……………...…. …………………. 10 คะแนน ………………. คะแนน

คาช้ีแจง ใหน้ ักเรยี นเรียงลำดบั ตอ่ ไปนีใ้ ห้ถูกตอ้ ง 1. ให้นักเรยี นเรยี งลำดับข้นั ตอนจำกอัลกอรทิ ึม “การทอดไข่ดาว” ตอ่ ไปนี้ใหถ้ ูกตอ้ ง - เตรียมไข่ไก่ - รับประทำน - ตอกไข่ - เทน้ำมนั พชื - ทอดจนพอดี - เตรียมกระทะ - วำงลงในเตำ - นำทัพพตี ักใส่จำน ตอบ .................................................................................................................................. ................ .................................................................................................................. .............................................. ............................................................................................................................. ................................... ................................................................................................................................................................ ............................................................................................................................. ................................... 2. ให้นกั เรยี นเรียงลำดบั ขั้นตอนจำกอลั กอริทมึ “การล้างรถ” ต่อไปนี้ใหถ้ ูกต้อง - ฉีดน้ำล้ำงรถใหท้ ว่ั เพ่อื - ขจัดฝุ่นและเศษดินทรำยตำ่ ง ๆ ออก - นำฟองนำ้ ชบุ น้ำทผี่ สมนำ้ ยำ - ผสมน้ำยำลำ้ งรถ 1 ฝำ ตอ่ น้ำคร่ึงถงั - เชด็ ทำควำมสะอำดใหท้ ัว่ - ใช้ผำ้ น่มุ ๆ หรือผ้ำชำมัวทีส่ ะอำด - เช็ดให้แหง้ - ฉดี นำ้ ลำ้ งใหส้ ะอำด ตอบ ............................................................................................................................. ..................... .............................................................................................................................................................. .. ............................................................................................................................. ................................... ............................................................................................................................. ................................... ................................................................................................................................................................ สรปุ คะแนน สรปุ ผล ผา่ น ไมผ่ า่ น คะแนนเต็ม คะแนนทีไ่ ด้ ……………...…. …………………. 10 คะแนน ………………. คะแนน

คาชี้แจง ให้นกั เรยี นปฏิบตั ิกิจกรรมดงั ต่อไปน้ี 1. สรปุ องค์ควำมรู้ 2. สรำ้ งแผนที่ควำมคิดจำกกำรสรุปองค์ควำมรู้ 3. สรปุ องคค์ วำมรู้ในสมดุ บนั ทึกสว่ นตัว 4. นำเสนอแผนท่คี วำมคดิ ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………… สรุปคะแนน สรปุ ผล ผา่ น ไม่ผา่ น คะแนนเตม็ คะแนนทีไ่ ด้ ……………...…. …………………. 15 คะแนน ………………. คะแนน

คาช้ีแจง ให้นกั เรียนเลือกคำตอบท่ีถูกที่สุดเพียงคำตอบเดียวแล้วทำเครอื่ งหมำย X ลงใน กระดำษคำตอบ 1. ข้อใดต่อไปนี้ ไมใ่ ช่ ขน้ั ตอนกำรเขยี นโปรแกรม ข. กำรทดสอบโปรแกรม ก. กำรสร้ำงปัญหำ ง. กำรเขียนอัลกอริทึม ค. กำรเขยี นโปรแกรม 2. ตัวแปรภำษำชนดิ ใดทีจ่ ะทำกำรแปลงทง้ั โปรแกรม หำกมีที่ผดิ จะตอ้ งแก้ไขให้ถูกต้อง ก. อินเตอร์พรเี ตอร์ ข. ซนิ แทคเออเรอ ค. คอมไพเลอร์ ง. ดบี ัก๊ เกอร์ 3. ขอ้ ใดต่อไปนเ้ี ปน็ รปู แบบกำรเขยี นโปรแกรมเชงิ โครงสรำ้ ง ก. กำรทดสอบโปรแกรม ข. กำรกำหนดเง่ือนไข ค. มีกระบวนกำรทำงำนรอบเดยี ว ง. มีทำงเลือกใหต้ ดั สนิ ใจทำงใดทำงหนึ่ง 4. ขอ้ ใดต่อไปน้ีถอื เป็นกระบวนกำรทำซำ้ ก. ถ้ำหวิ จะทำนข้ำวก่อน แล้วค่อยนอน ข. เรียนหนังสอื ง่วงนอน แอบหลับ ค. ต่ืนนอน ล้ำงหนำ้ แปรงฟัน อำบนำ้ ไปโรงเรียน ง. อำ่ นหนังสอื จนถึงเวลำเท่ียง แลว้ จึงไปทำนข้ำวกลำงวัน 5. ข้อใด “ไม่ใช่”จดุ ประสงค์ของเทคนิคกำรออกแบบเชงิ โครงสร้ำง คอื ข้อใด ก. สรำ้ งกำลงั ใจให้แก่ทีมงำน ข. สรำ้ งโปรแกรมทป่ี รบั ปรงุ แก้ไขง่ำย ค. ทำนำยไดว้ ำ่ จะเกดิ เหตุกำรณ์ใดในโปรแกรม ง. ประหยัดต้นทนุ ในกำรเขยี นโปรแกรม 6. เมอ่ื ต้องกำรพัฒนำโปรแกรมจะต้องทำส่ิงใดก่อน ข. วเิ ครำะห์ปัญหำ ก. เขยี น Flowchart ง. เลอื กภำษำท่ตี ้องกำรใชเ้ ขยี น ค. เขียนโปรแกรม

7. ประสิทธภิ ำพของอัลกอริทมึ สำมำรถวดั จำกข้อใดต่อไปนี้ ก. ต้องมีควำมยืดหยนุ่ ข. ใชเ้ วลำพฒั นำนำนเพื่อควำมรอบคอบ ค. ต้องยำกต่อกำรทำควำมเข้ำใจ ง. ต้องใชห้ น่วยควำมจำมำก 8. ขอ้ ใดต่อไปน้ี ไม่เก่ยี วข้องกบั กำรเขียนโปรแกรมเชิงวตั ถุ ก. กำรสร้ำงโพรซเี ยอร์ ข. กำรสบื ทอดคุณสมบตั ิ ค. กำรสรำ้ งคลำส ง. กำรนำกลับมำใช้ใหม่ 9. กำรรับคำ่ จำกคีย์บอรด์ ควรใชป้ ระโยคคำสงั่ ใด ข. GET, INPUT ก. READ ง. KEYBOARD ค. WRITE, PROMRT 10. นำงสำวสมใจนึกไดส้ ั่งพิมพร์ ำยงำนงบดลุ ปรำกฏวำ่ โปรแกรมมีกำรคำนวณผิดพลำดอยำกทรำบวำ่ กรณนี ถ้ี ือวำ่ เปน็ ข้อผิดพลำดชนิดใด ก. Syntax Error ข. Program Error ค. Logic Error ง. Input Error สๆู้ นะคะนักเรยี น

คาช้แี จง ใหน้ กั เรียนเลือกคำตอบท่ีถกู ท่สี ุดเพยี งคำตอบเดียวแล้วทำเคร่อื งหมำย X ลงใน กระดำษคำตอบ ข้อ ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. สรปุ คะแนน สรุปผล ผ่าน ไม่ผ่าน คะแนนเต็ม คะแนนท่ไี ด้ ……………...…. …………………. 10 คะแนน ………………. คะแนน



คาช้แี จง ให้นักเรียนเลือกคำตอบที่ถูกทสี่ ุดเพยี งคำตอบเดียวแลว้ ทำเครอ่ื งหมำย X ลงใน กระดำษคำตอบ ข้อ ก ข ค ง 1.  2.  3.  4.  5.  6.  7.  8.  9.  10.  ตอบถกู กีข่ อ้ คะ

คาชีแ้ จง ใหน้ กั เรยี นตอบคำถำมต่อไปนใี้ ห้ถกู ต้อง 1. ข้ันตอนกำรเขียนโปรแกรม ประกอบด้วยขน้ั ตอนใดบ้ำง ตอบ 1. กำรวิเครำะหป์ ญั หำ 2. กำรออกแบบโปรแกรม 3. กำรเขียนโปรแกรม 4. กำรทดสอบโปรแกรม 5. กำรจดั ทำเอกสำรประกอบโปรแกรม 2. เพรำะเหตุใดในกำรเขยี นโปรแกรม ไม่สมควรลงมือเขยี นโปรแกรมโดยทันที ตอบ เพรำะกำรกระทำดงั กลำ่ ว อำจส่งผลใหโ้ ปรแกรมทเี่ ขียนขึ้นนัน้ แลดไู ม่เปน็ โครงสร้ำงที่ดไี ด้ ดงั นนั้ จงึ จำเปน็ ต้องไดร้ บั กำรออกแบบอย่ำงมีแบบแผนก่อน จึงไปส่ขู ้ันตอนกำรเขียนโปรแกรมจริง 3. นกั เรยี นคดิ ว่ำ ประสิทธภิ ำพของอัลกอริทึม ควรพจิ ำรณำถงึ เกณฑใ์ ดบ้ำง ตอบ 1. ตอ้ งใช้เวลำในกำรดำเนนิ กำรน้อยท่สี ุด 2. ต้องใชห้ นว่ ยควำมจำน้อยท่ีสุด 3. ตอ้ งมคี วำมยืดหยุ่น 4. ต้องใชเ้ วลำในกำรพัฒนำน้อยทสี่ ุด 5. ตอ้ งง่ำยต่อกำรทำควำมเข้ำใจ 4. ใหน้ ักเรียนบอกควำมเหมือน และควำมแตกตำ่ งระหว่ำงผังงำนและซูโดโคด้ ตอบ ซูโดโคด้ เหมอื นกันกบั ผังงำนคือสำมำรถนำมำใช้เป็นตวั แทนของอัลกอริทึมได้ และจะ แตกตำ่ งกันท่ผี ังงำนมขี ้อจำกัดในเรื่องของกำรขำดรำยละเอียด 5. ให้นกั เรยี นสรปุ ซูโดโค้ดทใี่ ชส้ ำหรับกำรกำหนดค่ำ และคำนวณ พร้อมท้ังอธบิ ำยมำพอสงั เขป ตอบ เคร่ืองหมำยเทำ่ กับจะมำใช้เพื่อกำรกำหนดค่ำและกำรคำนวณ เชน่ x = 0, sum = x + y

คาช้แี จง ให้นกั เรยี นเรยี งลำดับอลั กอริทึมต่อไปนใ้ี ห้ถูกต้อง 1. ให้นกั เรยี นเรยี งลำดบั ขั้นตอนจำกอัลกอริทมึ “การทอดไข่ดาว” ต่อไปน้ใี ห้ถูกตอ้ ง ตอบ - เตรียมไข่ไก่ - เตรยี มกระทะ - วำงลงในเตำ - เทน้ำมันพืช - ตอกไข่ - ทอดจนพอดี - นำทัพพตี ักใส่จำน - รับประทำน 2. ใหน้ กั เรยี นเรียงลำดับข้ันตอนจำกอัลกอริทึม “การล้างรถ” ตอ่ ไปน้ีให้ถูกตอ้ ง ตอบ - ฉดี น้ำล้ำงรถให้ทั่ว - ขจดั ฝุน่ และเศษดนิ ทรำยต่ำง ๆ ออก - ผสมน้ำยำล้ำงรถ 1 ฝำ ตอ่ น้ำครึง่ ถงั - นำฟองนำ้ ชุบนำ้ ที่ผสมนำ้ ยำ - เชด็ ทำควำมสะอำดให้ทว่ั - ฉดี นำ้ ลำ้ งใหส้ ะอำด - ใชผ้ ้ำนุ่ม ๆ หรือผำ้ ชำมัวท่สี ะอำด - เชด็ รถใหแ้ ห้ง อย่าลืมทวนคาตอบ นะคะนักเรยี น

คาชแ้ี จง ให้นักเรยี นปฏบิ ัติกิจกรรมดังต่อไปน้ี 1. สรปุ องคค์ วำมรู้ 2. สร้ำงแผนทคี่ วำมคดิ จำกกำรสรุปองคค์ วำมรู้ 3. สรปุ องค์ควำมรูใ้ นสมุดบนั ทกึ สว่ นตวั 4. นำเสนอแผนท่คี วำมคดิ เกณฑก์ ารประเมิน คาชแี้ จง โปรดทำเครื่องหมำย  ลงในช่องว่ำงตำมระดบั คะแนนทีเ่ ป็นจริง ระดับคะแนน 3 ระดับ ดังนี้ 3 คะแนน หมำยถงึ ดี 2 คะแนน หมำยถึง พอใช้ 1 คะแนน หมำยถึง ควรปรับปรุง รายการประเมิน ระดับคะแนน หมายเหตุ 321 1. สรุปองคป์ ระกอบควำมรู้ได้ชดั เจนและครบถว้ น 2. บอกควำมสำคญั ได้ตรงประเดน็ 3. สะอำด เรยี บรอ้ ย และสวยงำม 4. ควำมคดิ สรำ้ งสรรค์ 5. ควำมกลำ้ แสดงออกในกำรนำเสนองำน รวม เกณฑก์ ารประเมนิ ต้องผำ่ นร้อยละ 80 ขนึ้ ไป หรือ 12 คะแนนข้นึ ไป  ผำ่ น  ไมผ่ ่ำน ลงช่ือ..........................................ผปู้ ระเมนิ (..........................................)

คาช้แี จง ให้นักเรียนเลือกคำตอบที่ถูกทสี่ ุดเพยี งคำตอบเดียวแลว้ ทำเครอ่ื งหมำย X ลงใน กระดำษคำตอบ ขอ้ ก ข ค ง 1.  2.  3.  4.  5.  6.  7.  8.  9.  10.  ตอบถูกกีข่ อ้ คะ

การประเมนิ คะแนนเต็ม คะแนนท่ไี ด้ ความก้าวหน้า แบบทดสอบก่อนเรยี น แบบทดสอบหลังเรียน 10 เกณฑ์การประเมิน 10 ตอ้ งผำ่ นรอ้ ยละ 80 ข้ึนไป หรือ 8 คะแนนขนึ้ ไป  ผำ่ น  ไมผ่ ่ำน การประเมนิ คะแนนเตม็ คะแนนทีไ่ ด้ คา่ เฉลย่ี S.D. รอ้ ยละ กิจกรรมที่ 1 10 กจิ กรรมท่ี 2 10 กิจกรรมท่ี 3 15 รวม 35 เกณฑ์การประเมนิ ตอ้ งผ่ำนร้อยละ 80 ขน้ึ ไป หรือ 28 คะแนนข้นึ ไป  ผ่ำน  ไมผ่ ำ่ น ลงชื่อ.....................................................ผู้ประเมนิ (....................................................)

กรมวิชำกำร กระทรวงศึกษำธกิ ำร. (2545). หลักสูตรการศกึ ษาข้นั พืน้ ฐาน พทุ ธศักราช 2544. กรุงเทพฯ : ครุ ุสภำลำดพรำ้ ว. กระทรวงศึกษำธิกำร (2551) หลักสูตรแกนกลางการศกึ ษาขัน้ พ้นื ฐาน พทุ ธศกั ราช 2551. สำนักงำนคณะกรรมกำรกำรศึกษำข้นั พืน้ ฐำน กรุงเทพฯโรงพมิ พช์ ุมชมุ สหกรณ์ ________. (2552). มาตรฐานและตวั ชวี้ ดั ตามกลุ่มสาระการเรียนรู้การงานอาชพี และเทคโนโลยี หลักสูตรแกนกลางการศึกษาขน้ั พืน้ ฐาน พุทธศกั ราช 2551. กรุงเทพฯ : ชุมนมุ สหกรณ์ กำรเกษตรแหง่ ประเทศไทย. ________. (2560). มาตรฐานและตัวชี้วัด ตามกลุ่มสาระการเรยี นรวู้ ทิ ยาศาสตร์และเทคโนโลยี หลกั สูตรแกนกลางการศกึ ษาขน้ั พน้ื ฐาน พุทธศกั ราช 2551 ฉบับปรบั ปรุง พ.ศ. 2560. กรงุ เทพฯ : ชมุ นุมสหกรณก์ ำรเกษตรแห่งประเทศไทย. ครรชิต มำลัยวงศ์ และวชิ ิต ปุณวัตร.์ (2532). เทคนิคการออกแบบโปรแกรม. กรงุ เทพฯ : ซีเอ็ดยูเคชนั่ . ธีรวฒั น์ ประกอบผล. (2562). ค่มู ือการเขียนโปรแกรมภาษา C ฉบับสมบูรณ์. กรงุ เทพฯ : ซเี อ็ดยูเคช่ัน. นรำธร สังข์ประเสริฐ. (2562). การเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษาซ.ี กรุงเทพฯ : ซีเอด็ ยูเคช่ัน. พิสณุ ฟองศรี. (2556). การสรา้ งและพฒั นาเคร่อื งมือวจิ ัย. กรงุ เทพฯ : ดำ่ นสทุ ธำกำรพมิ พ์. ______. (2556). การวิจยั การศกึ ษา. กรุงเทพฯ : ด่ำนสุทธำกำรพมิ พ์. ฝำ่ ยตำรำวชิ ำกำรคอมพิวเตอร์. (2558). การเขยี นโปรแกรมเบ้อื งต้น (ภาษาซี). กรงุ เทพฯ : ซเี อ็ด ยูเคชั่น. วรรณวิภำ จำเริญดำรำรศั มี. (2539). วิทยาการคอมพิวเตอร์เบอื้ งตน้ . กรุงเทพฯ : ซีเอ็ดยูเคชน่ั . สำลี รักสุทธี. (2553). การจดั ทาสอื่ นวตั กรรมและแผนประกอบส่ือนวตั กรรม. นนทบุรี : เพมิ่ ทรพั ย์ สุพจน์ สงำ่ กอง และปิยะ นำกสงค์. (2561). คู่มอื การเขียนโปรแกรมภาษา C++. กรงุ เทพฯ : ซีเอด็ ยเู คชั่น. สวุ ิทย์ มลู คำ. (2550). กลยุทธ์การสอนคิดวิเคราะห์. กรุงเทพฯ: ภำพพิมพ์. โอภำส เอี่ยมสิริวงศ์. (2552). การเขยี นโปรแกรมด้วยภาษา C (Programming with C). กรงุ เทพฯ : ซีเอด็ ยเู คชน่ั . ______. (2557). การเขยี นโปรแกรมดว้ ยภาษา C. กรุงเทพฯ : ซเี อด็ ยูเคชนั่ .

ขอ้ มูลท่ัวไป ช่อื – สกลุ นำงรพพี ร นำมมุลตรี วัน เดือน ปีเกดิ 19 มนี ำคม พ.ศ. 2515 ทอี่ ยู่ปัจจุบัน 110 หมูท่ ่ี 20 ตำบลเขวำ อำเภอเมือง จงั หวดั มหำสำรคำม รหัสไปรษณีย์ 44000 E-mail [email protected] เบอรโ์ ทร 081-975-2310 การปฏบิ ตั ิงานปัจจบุ ัน ตาแหนง่ ครู วิทยฐำนะ ครูชำนำญกำรพเิ ศษ สถานท่ที างานปัจจุบนั โรงเรียนนำโพธ์ิพิทยำสรรพ์ ตำบลนำโพธิ์ อำเภอกุดรงั จงั หวัดมหำสำรคำม รหัสไปรษณยี ์ 44130 สำนักงำนเขตพนื้ ท่ีกำรศึกษำมัธยมศึกษำ เขต 26 ประวตั ิการศึกษา จบ พ.ศ. 2537 หลกั สตู รวทิ ยำศำสตรบณั ฑิต สำขำวชิ ำวิทยำกำรคอมพิวเตอร์ มหำวทิ ยำลยั ศลิ ปำกร (วทิ ยำเขตพระรำชวังสนำมจันทร์) อำเภอเมือง จังหวดั นครปฐม


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook