top of page

บทที่ 3 การแก้ปัญหา

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

3.1 ขั้นตอนการแก้ปัญหา  
3.2 การเขียนรหัสลําลองและผังงาน
3.3 การกําหนดค่าให้ตัวแปร

3.4 ภาษาโปรแกรม

จุดประสงค์การเรียนรู้

1. อธิบายขั้นตอนการแก้ปัญหา   แก้ปัญหาตามขั้นตอนการแก้ปัญหา

2. วางแผนการแก้ปัญหาโดยใช้รหัสลําลองและผังงาน

3. แก้ปัญหาตามขั้นตอนการแก้ปัญหา

วิทยาการคำนวณ ม.10032.jpg
2066457.png
สำหรับครู
สำหรับนักเรียน

"วัดความรู้กันสักหน่อยดีกว่า"

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

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

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

ทบทวนความรู้ก่อนเรียน

วิทยาการคำนวณ10002.jpg

เขียนเครื่องหมาย      หน้าข้อความที่ถูกต้อง

               การถ่ายทอดความคิดในการแก้ปัญหาหรือการทํางาน อาจเขียนเป็นข้อความที่แสดง

                   ให้เห็นการแก้ปัญหาหรือการทํางานที่เป็นลําดับขั้นตอน

                   การแสดงลําดับขั้นตอนในการทํางานหรือแก้ปัญหา อาจใช้ภาพ สัญลักษณ์ ข้อความหรือการบอกเล่า

                   หากพิจารณาลําดับขั้นตอนการทํางาน สามารถบอกถึงผลลัพธ์ที่จะเกิดขึ้นได้

               

                 

                 ลองทำดู

                          เขียนอธิบายขั้นตอนการเดินทางมาโรงเรียนให้เพื่อนเข้าใจ และสามารถปฏิบัติตามได้

1.png
22.png

           นักเรียนทราบหรือไม่ว่าทุกคนสามารถ เขียนโปรแกรมได้ เนื่องจากพื้นฐานการเขียน โปรแกรม คือ การคิดแก้ปัญหาอย่างเป็นขั้นตอน และเป็นระบบ ซึ่งนักเรียนต้องเคยฝึกฝนวิธี การแก้ปัญหาต่าง ๆ ในชีวิตจริงมาแล้วทั้งสิ้น ในบทนี้จะกล่าวถึงขั้นตอนและเครื่องมือ สําหรับการแก้ปัญหาทั้งปัญหาในชีวิตประจําวัน และปัญหาที่ใช้การคํานวณเป็นพื้นฐานเพื่อนํา ไปสู่การเขียนโปรแกรมในบทถัดไป

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

3.1 ขั้นตอนการแก้ปัญหา (Algorithm)     

             การแก้ปัญหาเป็นกิจกรรมพื้นฐานในการดํารงชีวิตของมนุษย์ ปัญหาบางปัญหาสามารถหาคําตอบได้ในทันที ขณะที่บางปัญหาอาจต้องใช้เวลานานในการค้นหาคําตอบ ซึ่งคําตอบที่ได้ต้องสามารถพิสูจน์ได้ว่าเป็นคําตอบ ที่ถูกต้อง น่าเชื่อถือ และสามารถนําไปอ้างอิงต่อได้ การแก้ปัญหาของแต่ละบุคคลมีขั้นตอนและใช้เวลาที่ แตกต่างกัน ความรู้และประสบการณ์จะส่งผลต่อความสามารถในการแก้ปัญหา อย่างไรก็ตามทุกคนต่าง ต้องการหาวิธีการในการแก้ปัญหาที่ทําให้ได้คําตอบที่ถูกต้องในเวลารวดเร็ว

การแก้ปัญหา ประกอบด้วย 4 ขั้นตอนดังรูป 3.1 คือ

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

รูป 3.1 ขั้นตอนการแก้ปัญหา

1. การวิเคราะห์และกําหนดรายละเอียดของปัญหา เป็นการทําความเข้าใจเกี่ยวกับรายละเอียด เงื่อนไข ข้อกําหนด รวมถึงข้อ

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

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

3. การดําเนินการแก้ปัญหา เป็นการนํากระบวนการที่ได้วางแผนไว้มาปฏิบัติ หรือพัฒนาโปรแกรม

เพื่อแก้ปัญหา โดยอาจใช้ภาษาโปรแกรมช่วยในการดําเนินการ

4. การตรวจสอบและประเมินผล ขั้นตอนนี้จะทําควบคู่ไปกับขั้นตอนการดําเนินการแก้ปัญหา โดยการ

ตรวจสอบผลลัพธ์ที่ได้ หากผลลัพธ์ที่ได้ไม่ถูกต้อง หรือยังมีส่วนที่ต้องแก้ไขปรับปรุงอยู่ ต้องย้อนกลับไป ทําซ้ําตั้งแต่ขั้นตอนแรกจนกว่าจะได้ผลลัพธ์ที่ถูกต้อง

             นักเรียนจะนําขั้นตอนการแก้ปัญหาข้างต้น มาแก้ปัญหาที่ต้องการได้อย่างไร ลองศึกษาตัวอย่างต่อไปนี้

                     ตัวอย่างที่ 2.1 การหาค่ามากที่สุดของจํานวนสามจํานวนที่กําหนดให้

                            การแก้ปัญหามีขั้นตอนดังนี้

                                     ขั้นตอนที่ 1 การวิเคราะห์และกําหนดรายละเอียดของปัญหา

                                                        ข้อมูลเข้า จํานวนสามจํานวน ได้แก่ a, b และ C

                                                        ข้อมูลออกหรือสิ่งที่ต้องการ ตัวเลขที่มีค่ามากที่สุดของเลขสามจํานวน

                                                        วิธีตรวจสอบความถูกต้อง ดําเนินการหาตัวเลขที่มากที่สุดด้วยตนเอง โดยกําหนดชุด

                                                        ตัวเลข 3 จํานวน เช่น 8,7 และ 12 ในกรณีนี้ตัวเลขที่มีค่ามากที่สุด คือ 12

                                     ขั้นตอนที่ 2 การวางแผนการแก้ปัญหา

                                                        2.1 เปรียบเทียบ a และ b เพื่อหาค่ามากกว่าระหว่างสองจํานวน

                                                        2.2 นําค่าที่ได้มาเปรียบเทียบกับ C เพื่อหาค่าที่มากกว่า

                                                        2.3 ค่าที่มากที่สุดคือ ผลลัพธ์ที่ได้จากขั้นตอนที่ 2.2

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

ขั้นตอนที่ 3 การดําเนินการแก้ปัญหา

            ดําเนินการทดสอบตามขั้นตอนที่วางแผนไว้กับชุด ตัวเลขที่กําหนด

โดยสมมติ a, b และ C เป็น 8, 7 และ 12 ตามลําดับ

            3.1 เปรียบเทียบเพื่อหาค่าที่มากกว่าระหว่าง 8

และ 7 พบว่า 8 เป็นค่าที่มากกว่า

            3.2 เปรียบเทียบเพื่อหาค่ามากกว่าระหว่าง 8

และ 12 พบว่า 12 เป็นค่าที่มากกว่า

            3.3 ค่าที่มากที่สุดของ 8, 7 และ 12 คือ 12

ขั้นตอนที่ 4 การตรวจสอบและปรับปรุง

            เมื่อพิจารณาคําตอบที่ได้คือ 12 กับค่าที่เหลือ ซึ่งได้แก่ 8 และ 7 พบว่า 12 มีค่ามากกว่าค่าที่เหลือ ทั้งคู่ คําตอบนี้จึงเป็นคําตอบที่ถูกต้องตามข้อกําหนด ของสิ่งที่ต้องการ

            แนวคิดข้างต้นใช้งานได้เนื่องจากว่าหากพิจารณา จํานวนสามจํานวนใด ๆ เมื่อ a > b และ b > C แล้ว a> C ด้วย

            จากตัวอย่างแม้ว่าเราจะไม่ได้นําค่า 12 มาเปรียบ เทียบกับ 7 โดยตรง แต่เราได้นํามาเปรียบเทียบกับ 8 ซึ่ง 8 ถูกตรวจสอบมาก่อนหน้านี้แล้วว่ามากกว่า 7 เพราะฉะนั้น 12 จึงมากกว่า 7 ด้วย

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

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

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

สรุปแนวคิดเชิงนามธรรม ตอนที่ 1 

อ้างอิงจาก หนังสือเรียนรายวิชาพื้นฐานวิทยาศาสตร์  เทคโนโลยี (วิทยาการคำนวณ)

                  สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธิการ

bottom of page