
บทที่ 3 การแก้ปัญหา
บทที่ 3 การแก้ปัญหา
เป็นบทเรียนที่มุ่งเน้นให้ผู้เรียนมีความรู้ความสามารถในการวิเคราะห์ขั้นตอนการแก้ปัญหา กลั่นกรองแนวคิดของตนเอง ออกแบบขั้นตอนวิธี และเขียนโปรแกรมเพื่อช่วยประมวลผล
3.1 ขั้นตอนการแก้ปัญหา
3.2 การเขียนรหัสลําลองและผังงาน
3.3 การกําหนดค่าให้ตัวแปร
3.4 ภาษาโปรแกรม
จุดประสงค์การเรียนรู้
1. อธิบายขั้นตอนการแก้ปัญหา แก้ปัญหาตามขั้นตอนการแก้ปัญหา
2. วางแผนการแก้ปัญหาโดยใช้รหัสลําลองและผังงาน
3. แก้ปัญหาตามขั้นตอนการแก้ปัญหา

3.4 ภาษาโปรแกรม
การภาษาโปรแกรมคอมพิวเตอร์มีวิวัฒนาการมายาวนาน นับตั้งแต่การสั่งงานคอมพิวเตอร์ด้วยภาษาเครื่อง ที่ประกอบด้วยเลข 0 และ 1 ในยุคเริ่มแรกของคอมพิวเตอร์ ซึ่งเป็นอุปสรรคต่อการเขียนโปรแกรมขนาดใหญ่ เนื่องด้วยความยากของการเขียนโปรแกรม จนมาถึงปัจจุบันที่ภาษาโปรแกรมคอมพิวเตอร์มีความคล้ายคลึง กับภาษาอังกฤษ ทําให้การเขียนโปรแกรมขนาดใหญ่ทําได้รวดเร็ว และมีความผิดพลาดน้อยลง แต่เนื่องจาก คอมพิวเตอร์ยังคงต้องทํางานตามคําสั่งภาษาเครื่อง เมื่อเราเขียนโปรแกรมแล้ว จึงต้องมีการแปลให้เป็นภาษา เครื่องก่อน










ตัวแปลภาษาโปรแกรมมี 2 ประเภท คือ
1. คอมไพเลอร์ (Compiler) จะแปลโปรแกรมทั้งโปรแกรมให้ถูกต้อง จึงจะ ได้ ผลลัพธ์เป็นโปรแกรมภาษาเครื่องที่นําไปสั่งงานคอมพิวเตอร์ได้ ภาษาที่ต้องแปลด้วยคอมไพเลอร์ เช่น C, C++, Java
2. อินเทอร์พรีเตอร์ (interpreter) จะแปลคําสั่งในโปรแกรมที่ละคําสั่ง
ให้เป็นภาษาเครื่องส่งให้คอมพิวเตอร์ทํางานทันทีโดยไม่ต้องรอให้แปล เสร็จทั้งโปรแกรม เช่น Python, Logo
ปัจจุบันยังมีภาษาอีกกลุ่มหนึ่งที่ไม่ได้ใช้ในการสั่งงานคอมพิวเตอร์โดยตรง แต่ใช้ในการกําหนดรูปแบบการแสดงผล หรือรูปแบบการเก็บข้อมูล เพื่อให้ เป็นมาตรฐานสําหรับแอปพลิเคชันต่าง ๆ ใช้งานข้อมูลร่วมกันได้ เช่น ภาษา เอชทีเอ็มแอล (HyperText Markup Language: HTML) ที่ใช้ในการ กําหนดรูปแบบการแสดงผลของหน้าเว็บ หรือเอกซ์เอ็มแอล (Extensible Markup Language: XML) ที่ใช้เป็นมาตรฐานในการเก็บข้อมูล
นอกจากภาษาโปรแกรมมาตรฐานที่ใช้ในการทํางานเหล่านี้แล้ว ยังมีการ พัฒนาเครื่องมือการโปรแกรมที่อยู่ในรูปแบบกราฟิก เพื่อใช้ในการเริ่มต้นศึกษา แนวคิดการโปรแกรม เช่น Scratch และ Alice โดยเครื่องมือเหล่านี้จะมี บล็อกคําสั่งต่าง ๆ ให้นักเรียนลากวางประกอบกันเป็นโปรแกรมแล้วสั่งให้ทํางานได้ อาจมีการเชื่อมต่อกับอุปกรณ์รับสัญญาณอื่น หรือสั่งงานให้อุปกรณ์ไฟฟ้าอื่น ปฏิบัติตามคําสั่งได้ส่วนใหญ่แล้วเครื่องมือเหล่านี้จะนิยมใช้เพื่อการเรียนรู้แนวคิด การโปรแกรม
เพื่อน ๆ รู้จักโปรแกรมภาษาใดบ้าง ลองยกตัวอย่างสิครับ
สรุปท้ายบท
ปัญหาที่นักเรียนพบในชีวิตประจําวันบางปัญหาสามารถหาคําตอบได้ในทันที ขณะที่บางปัญหา อาจต้องใช้เวลานานในการค้นหาคําตอบ การแก้ปัญหาของแต่ละบุคคลมีขั้นตอนและใช้เวลาที่แตกต่างกัน ความรู้และประสบการณ์จะส่งผลต่อความสามารถในการแก้ปัญหา อย่างไรก็ตามทุกคนต่างต้องการหา วิธีการในการแก้ปัญหาที่ทําให้ได้คําตอบที่ถูกต้องในเวลารวดเร็ว การปฏิบัติตามขั้นตอนการแก้ปัญหา จะทําให้ได้วิธีการแก้ปัญหาที่มีประสิทธิภาพ เริ่มจากทําความเข้าใจกับปัญหา โดยวิเคราะห์และกําหนด รายละเอียดของปัญหา พิจารณาว่าสิ่งที่ต้องการคืออะไร ข้อมูลเข้าจะเป็นสิ่งใดบ้าง เคยแก้ปัญหาลักษณะ เดียวกันมาก่อนหรือไม่ ข้อมูลและเงื่อนไขที่กําหนดให้เพียงพอที่จะหาคําตอบหรือไม่ ถ้าไม่เพียงพอ ก็จําเป็นต้องหาข้อมูลเพิ่มเติม หลังจากทําความเข้าใจกับปัญหาแล้วให้วางแผนหรือออกแบบอัลกอริทึม ในการหาคําตอบ เครื่องมือในการออกแบบอาจใช้รหัสลําลองหรือผังงาน หลังจากนั้นดําเนินการ เขียนโปรแกรมหรือปฏิบัติตามที่ได้ออกแบบไว้ สุดท้ายตรวจสอบผลลัพธ์ว่าถูกต้องหรือไม่ ถ้ายังไม่ถูกต้อง ก็ดําเนินการปรับปรุงให้ถูกต้อง