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 วิทยาการคำนวณ ม.2

วิทยาการคำนวณ ม.2

Published by chalanda.fasai, 2019-10-20 04:13:52

Description: แนวคิดเชิงคำนวณและกระบวนการแก้ปัญหา

Keywords: แนวคิดเชิงคำนวณและกระบวนการแก้ปัญหา

Search

Read the Text Version

บทที่ 4 แนวคดิ เชงิ คำนวณและกระบวนกำรแก้ปัญหำ จดุ ประสงค์กำรเรยี นรู้ 1.อธบิ ำยกำรแกป้ ญั หำโดยใชก้ ระบวนกำรคดิ เชงิ คำนวณได้ 2. ออกแบบข้ันตอนวิธีเพ่อื แกป้ ัญหำโดยใชแ้ นวคดิ เชงิ คำนวณได้ 3.นำกระบวนกำรแกป้ ญั หำดว้ ยคอมพวิ เตอร์ไปประยกุ ตใ์ ชไ้ ด้

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

สรุปคาจากดั ความของการคิดเชิงคานวณ o ไม่ไดจ้ ำกัดอยเู่ พยี งกำรคิดให้เหมือนคอมพิวเตอร์ o ไมไ่ ด้จำกดั อยเู่ พียงกำรคดิ ในศำสตร์ของนักวทิ ยำศำสตร์คอมพวิ เตอร์ o แตเ่ ปน็ กระบวนกำรคดิ แก้ปญั หำของมนษุ ย์ เพอื่ สง่ั ใหค้ อมพวิ เตอรท์ ำงำนและช่วย แกป้ ญั หำตำมท่ีเรำต้องกำรไดอ้ ย่ำงมีประสิทธภิ ำพ o วธิ คี ดิ เชงิ คำนวณ ช่วยทำใหป้ ัญหำที่ซบั ซอ้ นเขำ้ ใจได้ง่ำยข้ึน เปน็ ทกั ษะทีเ่ ป็น ประโยชนอ์ ย่ำงยิง่ ตอ่ ทกุ ๆ สำขำวชิ ำ และทกุ เรื่องในชีวติ ประจำวัน 4 เสาหลัก ของการคดิ เชงิ คานวณ การแยกสว่ นประกอบและการย่อยปัญหา (Decomposition) หมำยถงึ กำรยอ่ ยปญั หำหรือระบบ ท่ซี บั ซอ้ นออกเป็นส่วนเล็กๆ เพ่อื ให้งำ่ ยต่อกำรจัดกำรและแกป้ ญั หำ เชน่ หำกตอ้ งกำรเขำ้ ใจว่ำระบบของ จกั รยำนทำงำนยังไง ทำไดโ้ ดยกำรแยกจักรยำนออกเปน็ ส่วนๆ แล้วสังเกตและทดสอบกำรทำงำนของแต่ละ องค์ประกอบ จะเขำ้ ใจไดง้ ่ำยกวำ่ วิเครำะหจ์ ำกระบบใหญ่ท่ีซบั ซ้อน ทำได้ 2 รแู บบ ดงั น้ี ➢ กำรแยกองค์ประกอบ ➢ กำรแบง่ ขั้นตอน การแยกองคป์ ระกอบ เช่น กำรออกแบบบบำ้ น ดวู ำ่ บำ้ นจะมหี อ้ งอะไรบ้ำง และแยกออกแบบห้องตำ่ งๆ สำมำรถถออกแบบแต่ละห้องไดอ้ ยำ่ งอสิ ระตอ่ กนั ออกแบบพรอ้ มกนั ได้ รูปภาพ การแยกองค์ประกอบ

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

ส่วนประกอบของวัตถุน้ัน สำมำรถพิจำรณำให้ละเอียดย่อยลงไปได้อีกหลำยระดับ แต่ไม่ควรแยกย่อย รำยละเอียดให้มำกเกนิ ควำมจำเป็น ทง้ั นใ้ี ห้ขน้ี อยู๋กับบริบททส่ี นใจ กำรแยกส่วนประกอบอำจเป็นข้ันตอนแรกของกำรพัฒนำนวัตกรรม เนื่องจำกทำให้เห็นหน้ำที่กำร ทำงำนของแต่ละสว่ นประกอบย่อยอย่ำงชัดเจน เมื่อพิจำรณำส่วนประกอบย่อยต่ำงๆ เปล่ำนั้นอย่ำงเป้นอิสระ ตอ่ กันแล้ว สำมำรถนำไปประยุกต์ใช้ในบริบทอ่ืนได้ เช่น จำกกำรแยกส่วนจักรยำน นักเรียนอำจแยกระบบ ขับเคลอ่ื นไปใชใ้ นกำรป่ันไฟเพ่อื ผลิตกระแสไฟฟ้ำได้ กำรแยกส่วนประกอบสำมำรถ ➢ ผสมระหว่ำงกำรแยกองคป์ ระกอบและกำรแบ่งข้ันตอนกไ็ ด้ ➢ แตล่ ะองคป์ ระกอบอำจมีองคป์ ระกอบย่อยได้ ➢ แต่ละขั้นตอนอำจมขี ้ันตอนย่อยได้ ตัวอยำ่ ง ประโยชนข์ องการแยกสว่ นประกอบและการย่อยปญั หา ➢ ทำให้มองเหน็ ปัญหำได้ครบทุกสว่ น (ครบทุกองค์ประกอบ/ขั้นตอน) ➢ ทำใหแ้ ก้ปญั หำไดอ้ ยำ่ งเปน็ ระบบ ➢ ทำใหแ้ ก้ปญั หำแตล่ ะส่วนได้อย่ำงอสิ ระต่อกนั ➢ ใชแ้ บ่งหนำ้ ท่/ี ควำมรับผิดชอบและเวลำทีใ่ ช้ในกำรแกป้ ญั หำแยกกนั ได้

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

ตวั อย่าง เครือ่ งหมายการค้าของจีนและประเทศญี่ปุน่ รปู แบบทพ่ี บเชน่ เคร่ืองหมายการค้าของสินค้าจีนเป็นรูปสัตวข์ องญี่ป่นุ เปน็ ตัวอกั ษร

ตวั อยา่ ง • ดชั นรี ถติดของกรุงเทพมหานครและปรมิ ณฑลเกบ็ เป็นเวลา 3 สปั ดาห์ (0.0 คอื รถไมต่ ิดเลย, 10.0 คือรถติดมากที่สุด) อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศกุ ร์ เสาร์ 5.0 6.9 5.1 6.6 6.4 6.9 6.2 5.4 6.5 6.3 6.3 6.5 7.0 5.9 4.8 6.0 6.2 6.6 6.5 7.2 6.2 รูปแบบทพี่ บ เชน่ วันศุกร์มีดัชนีรถติดมากท่ีสุด วันอาทติ ย์มดี ัชนีรถติดนอ้ ยท่สี ุด ปัญหายอ่ ยที่มรี ปู แบบซา้ เดมิ • บางปัญหาสามารถแบ่งเปน็ ปัญหายอ่ ยที่มรี ปู แบบเดมิ ได้ • สามารถใชว้ ธิ ีการเดิมในการแก้ปัญหายอ่ ยได้ ตัวอยา่ ง - การล้างจาน 4 ใบ - เมื่อล้างจาน 1 ใบ จะเหน็ วา่ ปญั หากลายเปน็ “การล้างจาน 3ใบ” ซงึ่ มรี ูปแบบเดมิ - “การลา้ งจาน 3ใบ” จึงเป็นปัญหายอ่ ยของ “การล้างจาน 4 ใบ” ซงึ่ ใช้วิธเี ดมิ ในการแก้ปัญหาได้ คือ “ล้างจานใบบนสดุ เพม่ิ อกี 1 ใบ” อกี ตวั อยำ่ ง - การขบั รถจากเชยี งใหม่ไปยะลา อาจแก้ปัญหาโดยการ ขับรถจากเชียงใหมไ่ ปลาพูน - เกิดปัญหาใหม่คอื “การขับรถจากลาพนู ไปยะลา ” ซ่งึ เปน็ ปัญหายอ่ ย สามารถแกป้ ญั หายอ่ ย ด้วยวธิ ีการเดมิ ได้ คือ “ ขบั รถไปยังจังหวัดที่อยตู่ ดิ กันทางใต้”

การคิดเชิงนามธรรม ( Abstraction ) คือกำรมุ่งควำมคิดไปที่ข้อมูลสำคัญ และคัดกรองส่วนท่ีไม่ เกยี่ วข้องออกไป เพ่ือให้จดจอ่ เฉพำะสิ่งทีเ่ รำต้องกำรจะทำ เชน่ แมว้ ่ำแมวแตล่ ะตัวจะมีลกั ษณะเหมือนกนั แต่ มันก็มีลักษณะเฉพำะตัวที่ต่ำงกัน เช่น มตี ำสเี ขยี ว ขนสดี ำ ชอบกินปลำทู ควำมคิดด้ำนนำมธรรมจะคัดกรอง ลักษณะที่ไม่ไดร้ ่วมกันกบั แมวตัวอ่ืนๆ เหล่ำนี้ ออกไป เพรำะรำยละเอยี ดท่ีไมเ่ ก่ียวข้องเหล่ำนี้ ไม่ได้ช่วยให้เรำ อธิบำยลักษณะพ้ืนฐำนของแมวในกำรวำดภำพมันออกมำได้ กระบวนกำรคัดกรองส่ิงท่ีไม่เก่ียวข้องออกไป และมุ่งท่ีรูปแบบซึ่งช่วยให้เรำแก้ปัญหำได้เรียกวำ่ แบบจำลอง(model) เมือ่ เรำมคี วำมคิดด้ำนนำมธรรม มันจะ ช่วยใหเ้ รำร้วู ่ำไม่จำเป็นทีแ่ มวทุกตัวต้องหำงยำวและมีขนส้นั หรอื ทำให้เรำมโี มเดลควำมคิดท่ีชัดเจนขน้ึ นนั่ เอง ตัวอยา่ ง แบบจาลองท่ีน่ังในหอ้ งเรยี น - บอกลกั ษณะการจดั โต๊ะละท่ีนงั่ ของนักเรยี น - ใช้ตอบคาถามว่ามนี ักเรียนกีค่ น น่งั ทใ่ี กบ้างถา้ จมั โบ้อยากคุยกับนก ตอ้ งเดนิ ไปทางใด - ไมส่ ามารถบอกได้ว่าประตหู ้องอยู่ที่ใด ในห้องมอี ปุ กรณอ์ ะไรบ้าง กระดาน ต้น เจมส์ นก ฝน จมั โบ้ พลอย ฟา้ ดนิ

ตวั อย่าง แบบจาลองการไหลเวยี นเลือดในรา่ งกาย • ใชต้ อบคำถำมว่ำเลอื ดไหลในทศิ ทำงใด ส่วนใดเป็นเลือดดี/เสยี • ไมส่ ำมำรถบอกได้ว่ำ ร่ำงกำยประกอบไปด้วยอวยั วะใดบำ้ ง ขนำดของหัวใจและปอดเปน็ อย่ำงไร ตัวอย่าง แบบจาลองการทางานของโรงไฟฟา้ นิวเคลยี ร์ ▪ ใช้ตอบคาถามว่ามี มีการใช้นา้ ในกระบวนการอยา่ งไร น้าสว่ นใดรอ้ น/เย็น ▪ ไม่สามารถบอกได้วา่ โรงไฟฟา้ มขี นาดเทา่ ใด

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

ผังงาน ไม่ใช่ ดคู ะแนนสอบ เร่ิมต้น ดูคะแนนสอบ คะแนนนอ้ ยกวำ่ 50 คะแนนใชไ่ หม ใช่ ขอสอบแก้ตัว สน้ิ สดุ ภำษำโปรแกรม เปรยี บเทียบจานวน a = input (“ใส่ค่า a”) b = input (“ใสค่า b”) if a>b; print (“a มีคา่ มากกว่า b”) if a<b; print (“ b มคี า่ นอ้ ยกว่า a”) if = = b; print (“ a มคี ่าเท่ากับ b”)

ขั้นตอนวิธที ่ีใชแ้ กป้ ญั หาเดียวกัน อาจมไี ด้หลายแบบ ประโยชน์ของการออกแบบขัน้ ตอนวิธีการ • ไดก้ ารทางานทีเ่ ป็นระบบ • ผู้ปฏบิ ัติ( อาจจะเปน็ คนหรือคอมพิวเตอร)์ สามารถนาไปทาตามไดถ้ ูกตอ้ ง • ได้ผลลัพธ์ไดถ้ ูกต้องตามทต่ี ้องการ • สามารถตรวจสอบจุดผดิ พลาดได้งา่ ย ตวั อยา่ ง ข้ันตอนวธิ กี ารการแก้ปัญหาทางคณิตศาสตร์และวิทยาศาสตร์

หลกั กำรแกป้ ญั หำกบั ภำษำคอมพวิ เตอร์ 1.หลกั การแกป้ ญั หา ในชีวติ ประจำวนั ทุกคนต้องเคยพบกับปัญหำต่ำงๆ ไม่ว่ำจะเป็นปัญหำดำ้ นกำรเรียน กำรงำน กำรเงิน หรอื แม้แตก่ ำรเล่นเกม เม่ือพบกับปัญหำ แตล่ ะคนมวี ิธที ่จี ะจดั กำรหรือแก้ปัญหำเหล่ำนั้นแตกต่ำงกนั ไป ซง่ึ แต่ ละวิธีกำรอำจให้ผลลัพธ์ที่เหมือนหรือแตกต่ำงกันเล็กน้อย ท้ังนี้ขึ้นอยู่กับควำมรู้ ควำมสำมำรถ และ ประสบกำรณ์ของบุคคลผู้นัน้ อย่ำงไรกต็ ำม หำกเรำนำวิธกี ำรแก้ปญั หำต่ำงวิธีนั้นมำวเิ ครำะห์ใหด้ ี จะพบว่ำ สำมำรถสรุปวิธีกำรเหล่ำน้ันเปน็ ทฤษฎีซึ่งมีรูปแบบทแ่ี น่นอนได้ และบำงครั้งต้องอำศัยกำรเรียนรู้ในระดับสูง เพื่อแกป้ ญั หำบำงอยำ่ งใหส้ มบูรณ์แบบ แต่กอ่ นท่เี รำจะศึกษำตอ่ ไป ลองพิจำรณำปัญหำตอ่ ไปนี้ ตวั อย่ำงที่ 1 เกมทำยใจ คอื เกมให้ผูเ้ ล่นทำยตวั เลข 3 ตัว ในกำรเล่นเกมต้องใชผ้ เู้ ล่น 2 คน คนทหี่ น่งึ คอื ผ้กู ำหนด เป็นคนกำหนดเลข 3 ตัวที่ไมซ่ ำ้ กัน โดยเลอื กจำกกลุม่ ตวั เลข 1-9 และอกี คนหนึง่ คอื ผู้ทำย เป็นผู้ทำยตัวเลข 3 ตัวที่ไม่ซ้ำกันทผี่ ู้ กำหนดไดก้ ำหนดไว้แล้ว หลังจำกทผ่ี ู้ทำยทำยเลขแตล่ ะครง้ั ผู้กำหนดต้องให้รำยละเอยี ดวำ่ ตวั เลขทที่ ำยมำ นัน้ ถกู ตอ้ งก่ตี ัว และในกรณที ี่ตัวเลขท่ีทำยมำถกู ตำแหนง่ ดว้ ยกต็ ้องบอกวำ่ ถกู ตำแหน่งกต่ี วั เชน่ ถ้ำตัวเลขที่ กำหนดไวเ้ ปน็ 815 และผู้ทำยทำยว่ำ 123 ผูก้ ำหนดตอ้ งแจง้ ว่ำตวั เลขที่ทำยน้นั ถูก 1 ตัว และไมม่ ีตวั ใดถูก ตำแหน่ง ตำรำงท่ี 1 เปน็ ตำรำงแสดงขอ้ มลู กำรเลน่ เกม ตำรำงท่ี 1 ขอ้ มูลกำรเล่นเกมทำยใจ เลขที่ทำย จำนวนตวั เลขท่ีถกู จำนวนตำแหน่งท่ีถูก 123 1 - 415 2 2 425 1 1 416 1 1 715 2 2 815 3 3 จะเหน็ ว่ำกำรแก้ปัญหำดงั กล่ำวข้ำงต้น นอกจำกจะใช้วิธีลองผิดลองถูกในกำรทำยครัง้ แรกๆ แล้วยังมีกำรใช้ เหตุผลประกอบกำรแก้ปัญหำซ่ึงเรำเรียกวิธีกำรดงั กลำ่ วว่ำ “วธิ ีขจัด” (method of elimination) คือ จะแยก ขอ้ มูลออกเป็นกรณที ่ีเป็นไปไมไ่ ด้ทงิ้ จนเหลือกรณที ่ีเป็นไปได้ รูปแบบของกำรใช้เหตผุ ลประกอบกำรแก้ปัญหำ อำจแตกต่ำงกันขึ้นอยู่กับเง่อื นไข ในบำงปัญหำอำจจะขจัดให้เหลือกรณีเดียวไม่ได้ แต่อำจจะทำให้เหลอื กรณี น้อยที่สุด นอกจำกวธิ ีกำรแก้ปญั หำทย่ี กตวั อย่ำงมำซึง่ ได้แก่ วธิ กี ำรลองผดิ ลองถกู กำรใชเ้ หตผุ ล กำรใช้วธิ ขี จัด ยังมีวิธกี ำรแกป้ ัญหำอีกมำกมำยที่ผแู้ ก้ปญั หำสำมำรถเลอื กใชใ้ หเ้ ข้ำกับตัวปญั หำและประสบกำรณ์ของผู้ แก้ปญั หำเอง แต่อยำ่ งไรก็ตำม วธิ ีกำรเหล่ำน้ันล้วนมขี น้ั ตอนท่ีคลำ้ ยคลึงกัน และจำกกำรศกึ ษำพฤติกรรมใน

กำรเรยี นรแู้ ละแกป้ ัญหำของมนุษย์พบว่ำ โดยปกตมิ นุษยม์ กี ระบวนกำรในกำรแกป้ ญั หำ ซงึ่ ประกอบด้วย 4 ขนั้ ตอน ดงั นี้ 1. การวิเคราะหแ์ ละกาหนดรายละเอยี ดของปญั หา กำรวิเครำะห์และกำหนดรำยละเอยี ดของปญั หำ (State the problem) ขน้ั ตอนนี้เปน็ ข้นั ตอนแรกสุด ก่อนท่ีจะลงมอื แก้ปัญหำ แต่ผู้แก้ปัญหำมกั จะมองขำ้ มควำมสำคัญของข้ันตอนนอี้ ยู่เสมอ จุดประสงคข์ อง ขน้ั ตอนนี้ คือกำรทำควำมเขำ้ ใจกับปัญหำเพื่อแยกให้ออกวำ่ ขอ้ มูลท่กี ำหนดมำในปญั หำหรือเงอื่ นไขของปัญหำ คอื อะไร และส่ิงที่ต้องกำรคืออะไร อีกทง้ั วธิ กี ำรท่ีใชป้ ระมวลผล ในกำรวิเครำะหป์ ัญหำใด กล่ำวโดยสรุปมี องค์ประกอบในกำรวิเครำะห์ ดังน้ี 1.1 กำรระบขุ ้อมูลเข้ำ ได้แก่ กำรพจิ ำรณำข้อมูลและเง่ือนไขท่ีกำหนดมำในปญั หำ 1.2 กำรระบขุ อ้ มลู ออก ไดแ้ ก่ กำรพิจำรณำเป้ำหมำยหรอื สิง่ ทตี่ ้องหำคำตอบ 1.3 กำรกำหนดวิธปี ระมวลผล ไดแ้ ก่ กำรพิจำรณำขน้ั ตอนวธิ ีหำคำตอบหรอื ข้อมูลออก ตัวอยา่ งท่ี 2 แสดงกำรวิเครำะหแ์ ละกำหนดรำยละเอียดของกำรหำคำ่ เฉล่ยี ของจำนวนเต็ม 5 จำนวน ไดแ้ ก่ 0 3 4 8 และ 12 จำกองคป์ ระกอบในกำรวเิ ครำะหแ์ ละกำหนดรำยละเอียดของปัญหำ (1) กำรระบุขอ้ มลู เข้ำ ในท่นี ้โี จทย์กำหนดให้หำค่ำเฉลยี่ ของจำนวนเต็ม 5 จำนวน ดังนัน้ ขอ้ มลู เขำ้ ไดแ้ ก่ จำนวน 0 3 4 8 และ 12 (2) กำรระบขุ ้อมูลออก จำกโจทย์สง่ิ ทเี่ ปน็ คำตอบของปญั หำคือ คำ่ เฉลี่ย (X) ของจำนวนทั้งหำ้ (3) กำรกำหนดวิธปี ระมวลผล จำกส่งิ ท่โี จทย์ต้องกำร “ค่ำเฉลี่ย” หมำยถงึ ผลรวมของจำนวนทง้ั 5 หำรด้วย 5 ดังนั้น ขนั้ ตอนของ กำรประมวลผลประกอบด้วย 3.1) รบั ค่ำจำนวนทงั้ 5 จำนวน 3.2) นำจำนวนเตม็ ทั้ง 5 มำบวกเขำ้ ดว้ ยกนั 3.3) นำผลลพั ธ์จำกขอ้ 3.2) มำหำรดว้ ย 5 ตวั อยา่ งที่ 3 แสดงกำรวิเครำะหแ์ ละกำหนดรำยละเอียดของกำรหำคำ่ X เมอ่ื X คอื จำนวนเตม็ จำนวนหนึ่งใน กลุม่ จำนวนเต็ม 5 จำนวน ท่ีมีคำ่ เฉลี่ยเป็น 10 และจำนวนอีก 4 จำนวนได้แก่ 3 4 8 และ 12 จำกองค์ประกอบในกำรวเิ ครำะห์และกำหนดรำยละเอียดของปัญหำ (1) กำรระบุข้อมูลเข้ำ จำกโจทย์ข้อมูลเข้ำ ได้แก่ 1.1) จำนวนอีก 4 จำนวน คือ 3 4 8 12 1.2) ค่ำเฉลยี่ ของจำนวนทั้ง 5 จำนวน คอื 10

(2) กำรระบขุ อ้ มลู ออก จำกโจทย์สิ่งทเ่ี ป็นผลลพั ธ์ คือ ค่ำ X (3) กำรกำหนดวธิ ีประมวลผล จำกโจทยแ์ ละควำมหมำยของ “คำ่ เฉล่ีย” เรำสำมำรถสรปุ ข้นั ตอนของกำรประมวลผลได้ดงั นี้ 3.1) หำคำ่ ผลรวมของจำนวนเตม็ ท้ัง 5 โดยนำค่ำเฉลี่ยคูณดว้ ยจำนวนของเลขจำนวนเต็ม นนั่ คือ 10 x 5 = 50 3.2) จำกควำมหมำยของ “ผลรวม” จะได้ 3+4+8+12+X = 50 3.3) แก้สมกำร 27+X = 50 (จะได้ X = 23 ซง่ึ คือผลลัพธ์) 2. การเลอื กเคร่ืองมอื และออกแบบขั้นตอนวธิ ี กำรเลือกเคร่ืองมือและออกแบบขั้นตอนวิธี (Tools and Algorithm development) ข้ันตอนน้ี เป็นขั้นตอนของกำรวำงแผนในกำรแก้ปัญหำอย่ำงละเอียดถี่ถ้วน หลังจำกที่เรำทำควำมเข้ำใจกับปัญหำ พจิ ำรณำข้อมูลและเง่ือนไขท่ีมีอยู่ และส่งิ ที่ต้องกำรหำในขนั้ ตอนท่ี 1 แล้ว เรำสำมำรถคำดคะเนวิธีกำรทจี่ ะใช้ ในกำรแก้ปัญหำ ข้ันตอนนี้จำเป็นต้องอำศัยประสบกำรณ์ของผู้แก้ปัญหำเป็นหลัก หำกผู้แก้ปัญหำเคยพบกับ ปัญหำทำนองนมี้ ำแลว้ ก็สำมำรถดำเนินกำรตำมแนวทำงท่เี คยปฏิบตั ิมำ ขัน้ ตอนน้ีจะเริ่มจำกกำรเลือกเครอ่ื งมือทใ่ี ช้ในกำรแก้ปัญหำ โดยพิจำรณำควำมเหมำะสมระหว่ำง เครือ่ งมือกบั เงอื่ นไขต่ำงๆ ของปัญหำซง่ึ หมำยรวมถึงควำมสำมำรถของเครอ่ื งมือในกำรแก้ปัญหำดงั กลำ่ ว และ ส่งิ ทีส่ ำคัญคือควำมคนุ้ เคยในกำรใชง้ ำนเคร่ืองมือนน้ั ๆ ของผ้แู กป้ ญั หำ อีกสิ่งหนึ่งที่สำคัญในกำรแก้ปัญหำ คือยุทธวิธีท่ีใช้ในกำรแก้ปัญหำหรือที่เรำเรียกว่ำ ข้ันตอนวิธี (algorithm) ในกำรแก้ปัญหำ หลังจำกที่เรำได้เคร่ืองมือช่วยแก้ปัญหำแล้ว ผู้แก้ปัญหำต้องวำงแผนว่ำจะใช้ เคร่ืองมือดังกล่ำวเพื่อให้ได้ผลลัพธ์ที่ถูกต้องและดีที่สุด กำรออกแบบขั้นตอนวิธีในกำรแก้ปัญหำ ผู้แก้ปัญหำ ควรใช้แผนภำพหรือเคร่ืองมือในกำรแสดงข้ันตอนกำรทำงำนเพ่ือให้ง่ำยต่อควำมเข้ำใน เช่น ผังงำน (flowchart) ท่ีจำลองขั้นตอนวิธีกำรแก้ปัญหำในรปู ของสญั ลกั ษณ์ รหัสลำลอง (pseudo code) ซ่ึงเป็นกำร จำลองข้ันตอนวิธีกำรแก้ปัญหำในรูปของคำบรรยำย กำรใช้เครื่องมือช่วยออกแบบดังกล่ำวนอกจำกแสดง กระบวนกำรที่ชัดเจนแล้ว ยงั ช่วยให้ผูแ้ ก้ปญั หำสำมำรถหำข้อผิดพลำดของวิธีกำรทีใ่ ชไ้ ด้ง่ำยและแก้ไขได้อย่ำง รวดเรว็ 3. การดาเนินการแก้ปัญหา กำรดำเนินกำรแก้ปัญหำ (Implementation) หลังจำกท่ีได้ออกแบบขั้นตอนวิธีเรียบร้อยแล้ว ข้ันตอนนี้เป็นข้ันตอนที่ต้องลงมือแก้ปัญหำโดยใช้เคร่ืองมือท่ีได้เลือกไว้ หำกกำรแก้ปัญหำดังกล่ำวใช้ คอมพิวเตอร์เข้ำมำช่วยง่ำน ขั้นตอนนี้ก็เป็นกำรใช้โปรแกรมสำเร็จหรือใช้ภำษำคอมพิวเตอร์เขียนโปรแกรม แก้ปัญหำ ข้ันตอนนี้ต้องอำศัยควำมรู้เก่ียวกับเครื่องมือที่เลือกใช้ซ่ึงผู้แก้ปัญหำต้องศึกษำให้เข้ำใจและ เช่ยี วชำญ ในขณะทด่ี ำเนนิ กำรหำกพบแนวทำงทด่ี ีกว่ำทอี่ อกแบบไวก้ ็สำมำรถปรับเปลย่ี นได้

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

เคร่ืองมือท่ีใช้ในกำรจำลองควำมคิดมักจะประกอบขึ้นด้วยเครื่องหมำยที่แตกต่ำงกันหลำยอย่ำง แต่ พอสรุปไดเ้ ปน็ 2 ลักษณะ คอื 1.ขอ้ ความหรือคาบรรยาย เป็นกำรเขยี นเค้ำโครงดว้ ยกำรบรรยำยเป็นภำษำทม่ี นุษยใ์ ชส้ ่อื สำรกัน เพ่อื ให้ทรำบถึงข้ันตอนกำร ทำงำนของกำรแกป้ ัญหำแต่ละตอน ในบำงคร้งั อำจใช้คำส่งั ของภำษำทใี่ ช้เขียนโปรแกรมก็ได้ ตัวอยำ่ งท่ี 4 คำบรรยำยแสดงขน้ั ตอนกำรเปล่ียนยำงรถเมอ่ื ยำงแตกขณะขบั รถ (1) จอดรถหลบข้ำงทำง (2) คลำยสกรยู ึดลอ้ (3) นำแมแ่ รงออกยกรถ (4) ถอดล้อออก นำยำงอะไหล่มำเปลย่ี น (5) ขนั สกรเู ขำ้ เก็บยำงท่ีชำรดุ เพ่ือไปซอ่ ม (6) คลำยแม่แรง เกบ็ แม่แรง 2. สัญลกั ษณ์ เครือ่ งหมำยรปู แบบต่ำงๆ ซ่ึงใช้สำหรับส่ือสำรควำมหมำยใหเ้ ข้ำใจตรงกัน สถำบันมำตรฐำนแหง่ ชำติ อเมริกำ (The American National Standard Institute, ANSI) ได้กำหนดสญั ลกั ษณ์ไว้เปน็ มำตรฐำนแล้ว สำมำรถนำไปใชไ้ ด้ตำมควำมเหมำะสมตอ่ ไป ซ่งึ มีรำยละเอียด รปู แบบและควำมหมำยท่คี วรทรำบตำมตำรำง ต่อไปนี้ ตำรำงที่ 2 ควำมหมำยของสัญลักษณ์ สัญลกั ษณ์ ช่ือเรียก ความหมาย กำรทำงำนด้วยมอื แทนจุดทีม่ กี ำรทำงำนดว้ ยแรงคน (manual operation) แทนจุดที่จำนำขอ้ มูลเขำ้ หรือออกจำกระบบ กำรนำข้อมลู เขำ้ – ออก คอมพวิ เตอรโ์ ดยไม่ระบชุ นิดของอุปกรณ์ โดยทั่วไป (general input/output) แทนจุดท่ีนำข้อมูลเข้ำหรอื ออกจำกโปรแกรม แถบบนั ทึกข้อมลู ดว้ ยแถบบันทกึ ขอ้ มูล (magnetic tape) แทนจุดที่นำข้อมูลเข้ำหรือออกจำกโปรแกรม ดว้ ยจำนบันทึกข้อมูล จำนบนั ทกึ ข้อมูล แทนจดุ ที่จะนำข้อมลู เขำ้ ด้วยมือ (magnetic disk) กำรนำข้อมูลเข้ำด้วยมือ (manual input)

กำรแสดงข้อมลู แทนจุดทแี่ สดงข้อมลู ดว้ ยจอภำพ (display) แทนจดุ ทมี่ ีข้อมูลเปน็ เอกสำรหรือแสดงข้อมูล กำรทำเอกสำร ดว้ ยเคร่ืองพิมพ์ (document) แทนจดุ ที่จะต้องเลอื กปฏิบตั อิ ยำ่ งใดอย่ำง หนึ่ง กำรตดั สินใจ แทนจุดทีม่ ีกำรปฏิบตั ิงำนอย่ำงใดอย่ำงหนึ่ง (decision) แทนจุดกำหนดชอื่ ข้อมูลหรือค่ำเริม่ ต้นต่ำงๆ กำรปฏิบตั ิงำน (process) แทนจุดเรยี กใชโ้ ปรแกรมย่อยท่ไี ม่ไดอ้ ยู่ใน โปรแกรมนัน้ กำรเตรียมกำร แทนจุดเรยี กใช้โปรแกรมย่อยทอี่ ยใู่ น (preparation) โปรแกรมนน้ั แทนจดุ ทม่ี ีกำรเรยี งขอ้ มลู ใหมต่ ำมขอ้ กำหนด กำรเรยี กโปรแกรมภำยนอก (external subroutine) กำรเรยี กโปรแกรมภำยใน (internal subroutine) กำรเรยี งขอ้ มลู (sort) ทิศทำง แทนทศิ ทำงขนั้ ตอนกำรดำเนินงำนซง่ึ จะ (flow line) ปฏิบตั ิต่อเนอื่ งกนั ตำมหวั ลูกศรช้ี หมำยเหตุ (annotation) แทนจุดที่แสดงรำยละเอียดเพิ่มเตมิ หรอื หมำยเหตุของจุดตำ่ งๆ ท่แี สดงในผงั งำนดว้ ย กำรติดตอ่ ทำงไกล สัญลกั ษณไ์ ม่ชัดเจน (communication link) จุดเช่ือมตอ่ แทนช่วงที่มีกำรตดิ ตอ่ หรือย้ำยข้อมูลด้วย (connector) ระบบกำรติดตอ่ ทำงไกล จดุ เชือ่ มต่อหน้ำกระดำษ (off page connector) แทนจุดเชื่อมต่อของผงั งำนเมือ่ ใชส้ ัญลกั ษณ์ เริ่มตน้ และลงท้ำย เพอ่ื ใหด้ งู ำ่ ย (terminal) แทนจุดเชอ่ื มต่อของผงั งำนทอ่ี ย่คู นละ หนำ้ กระดำษ แทนจุดเร่มิ ตน้ และลงท้ำยของผังงำนของ โปรแกรมห

ตวั อยา่ งท่ี 5 กำรวำงแผนกำรไปโรงเรียน การจาลองความคิดเปน็ ขอ้ ความ เร่มิ ตน้ ต่ืนนอน อำบน้ำ ไปโรงเรียน จบ การจาลองความคิดเปน็ สัญลักษณ์

ตวั อยา่ งที่ 6 กำรจำลองควำมคิดในกำรหำผลบวกของ 1, 2, 3, …, 20 (นนั่ คือ จะหำคำ่ 1+2+3+…+20) การจาลองความคิดเป็นขอ้ ความ เร่ิมตน้ 1. กำหนดให้ N มีค่ำเริ่มต้นเป็น 0 2. กำหนดให้ K มีคำ่ เร่ิมตน้ เปน็ 1 3. นำคำ่ K มำรวมกบั คำ่ N เดมิ ไดผ้ ลลัพธเ์ ท่ำไรไปเก็บไว้ที่ N 4. นำคำ่ 1 มำรวมกับค่ำ K เดมิ ได้ผลลัพธเ์ ทำ่ ไรไปเก็บไว้ท่ี K 5. เปรียบเทยี บค่ำ K กับ 20 ถำ้ K นอ้ ยกวำ่ หรือเทำ่ กบั 20 ใหว้ นกลบั ไปทำในข้ัน ที่ 3 และทำคำสง่ั ถัดลงมำตำมลำดบั แตถ่ ้ำ K มำกกวำ่ 20 ให้แสดงคำตอบ จบ การจาลองความคิดเปน็ สัญลกั ษณ์

3. การเขยี นโปรแกรม จำกกำรศกึ ษำหลักกำรขนั้ ตอนกำรแกป้ ัญหำในหัวขอ้ ท่ี 1 และ 2 ท่ผี ำ่ นมำ หลังจำกท่ีเรำสำมำรถ วิเครำะห์ปญั หำ และสรำ้ งแบบจำลองควำมคดิ เพื่อแสดงข้นั ตอนในกำรแก้ปัญหำแล้ว ข้ันตอนต่อไปคอื กำรลง มอื แกป้ ญั หำตำมขน้ั ตอนทอี่ อกแบบไว้ โดยใช้เครือ่ งมอื ชว่ ยในกำรแก้ปัญหำ ในท่นี ี้หำกเครอื่ งมือท่ีนักเรยี น เลอื กคือภำษำคอมพิวเตอร์ ขนั้ ตอนในกำรลงมอื แกป้ ัญหำก็คอื ขั้นตอนของกำรเขยี นโปรแกรมคอมพิวเตอรซ์ ึง่ ถอื ไดว้ ำ่ เป็นข้ันตอนหนึ่งท่สี ำคญั ในกำรแกป้ ญั หำด้วยคอมพิวเตอร์ กำรเขยี นโปรแกรม (Programming) หมำยถงึ กระบวนกำรใช้ภำษำคอมพิวเตอรเ์ พ่ือกำหนด โครงสร้ำงของข้อมลู และกำหนดข้นั ตอนวิธีเพ่อื ใช้แกป้ ญั หำตำมทไ่ี ด้ออกแบบไว้ โดยอำศยั หลักเกณฑก์ ำร เขียนโปรแกรมคอมพิวเตอร์ของแตล่ ะภำษำ กอ่ นกำรเขียนโปรแกรม ผูพ้ ัฒนำโปรแกรมจะตอ้ งเลือกภำษำคอมพิวเตอร์ท่ีจะนำมำใช้ชว่ ยงำนโดย พิจำรณำจำกปัจจยั ต่ำงๆ ในกำรทำงำน เช่น ลกั ษณะของปัญหำ ควำมถนัดของผเู้ ขียนโปรแกรม สภำพแวดล้อมในกำรทำงำนของระบบคอมพวิ เตอร์ เป็นต้น เนื่องจำกในปจั จบุ นั มีภำษำคอมพิวเตอรใ์ ห้ เลอื กใชไ้ ดห้ ลำยภำษำ เช่น ภำษำปำสคำล ภำษำซี ภำษำจำวำ ภำษำเดลฟำย เปน็ ตน้ ถึงแมแ้ ต่ละภำษำจะมี รูปแบบและหลกั กำรในกำรสรำ้ งงำนทีแ่ ตกตำ่ งกนั แต่ทกุ ภำษำจะต้องมีโครงสร้ำงควบคมุ หลกั ทง้ั 3 แบบ ไดแ้ ก่ โครงสร้ำงแบบลำดบั (sequential structure) โครงสร้ำงแบบมีทำงเลอื ก (selection structure) และ โครงสร้ำงแบบทำซำ้ (repetition structure) 1. โครงสรา้ งแบบลาดบั (Sequential structure) คือ โครงสรำ้ งแสดงข้ันตอนกำรทำงำนที่เปน็ ไปตำมลำดบั กอ่ นหลงั และแต่ละขนั้ ตอนจะถกู ประมวลผลเพยี งครั้งเดยี วท่ำนั้น สำมำรถแสดงกำรทำงำนของโครงสรำ้ งนี้ โดยใช้ผังงำนได้ดงั รูปท่ี 1 รปู ที่ 1 กำรทำงำนของโครงสรำ้ งแบบลำดับ

2. โครงสร้างแบบมที างเลอื ก (Selection structure) คือ โครงสรำ้ งที่มีเงือ่ นไข ขั้นตอนกำรทำงำนบำงขนั้ ตอนตอ้ งมกี ำรตดั สินใจเพ่อื เลือกวธิ กี ำร ประมวลผลขัน้ ตอ่ ไป และจะมบี ำงขั้นตอนทไี่ ม่ได้รบั กำรประมวลผล กำรตัดสนิ ใจอำจมีทำงเลอื ก 2 ทำงหรือ มำกกว่ำกไ็ ด้ โครงสร้ำงทมี่ ีทำงเลือกเพยี ง 2 ทำง เรำเรียกช่ือวำ่ โครงสรำ้ งแบบ if…then…else และโครงสรำ้ ง ที่มีทำงเลือกมำกกวำ่ 2 ทำง เรำเรยี กชอื่ วำ่ โครงสรำ้ งแบบ case ซง่ึ สำมำรถแสดงกำรทำงำนของโครงสรำ้ งน้ี โดยใช้ผังงำนได้ดังรูปท่ี 2 และ 3 รูปท่ี 2 กำรทำงำนของโครงสรำ้ งแบบมที ำงเลอื ก if…then…else รปู ที่ 3 กำรทำงำนของโครงสรำ้ งแบบมีทำงเลือก case 3. โครงสรำ้ งแบบทำซำ้ (Repetition structure) คือ โครงสร้ำงที่ขน้ั ตอนกำรทำงำนบำงข้ันตอนไดร้ บั กำรประมวลผลมำกกวำ่ 1 คร้งั ท้งั นขี้ น้ึ อยู่กับ เงือ่ นไขบำงประกำร โครงสร้ำงแบบทำซ้ำนี้ตอ้ งมกี ำรตัดสินใจในกำรทำงำนซ้ำ และลักษณะกำรทำงำนของ โครงสร้ำงแบบนม้ี ี 2 ลกั ษณะ ไดแ้ ก่ · แบบทมี่ ีกำรตรวจสอบเง่ือนไขในกำรทำซำ้ ทุกคร้งั ก่อนดำเนินกำรกจิ กรรมใดๆ ถำ้ เง่ือนไขเป็นจรงิ จะทำงำน ซำ้ ไปเรื่อยๆ และหยุดเมอ่ื เง่อื นไขเปน็ เทจ็ เรียกกำรทำงำนลกั ษณะนว้ี ำ่ กำรทำซ้ำแบบ do while

· แบบทีท่ ำกจิ กรรมซ้ำเร่ือยๆ จนกระทง่ั เง่ือนไขทีก่ ำหนดเปน็ จรงิ แลว้ จงึ หยุดกำรทำงำน โดยแต่ละครัง้ ท่เี สรจ็ สิ้นกำรดำเนินกำรแตล่ ะรอบจะตอ้ งมกี ำรตรวจสอบเงอ่ื นไข เรียกกำรทำซำ้ ลักษณะน้วี ่ำ กำรทำซำ้ แบบ do until ผงั งำนแสดงขัน้ ตอนกำรทำงำนของโครงสร้ำงแบบทำซำ้ ทง้ั สองแบบ แสดงดังรูปท่ี 4 และ 5 รปู ที่ 4 กำรทำงำนของกำรทำซำ้ แบบ do while รูปที่ 5 กำรทำงำนของกำรทำซำ้ แบบ do until

ตวั อย่ำงท่ี 7 แสดงผงั งำนทจี่ ำลองขน้ั ตอนวธิ ีกำรหำค่ำเฉลย่ี ของจำนวนเต็ม 5 จำนวน ใหอ้ ยู่ในรปู ของ สญั ลักษณ์


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