สวัสดีค่ะ ยินดีต้อนรับเข้าสู่เว็บไซต์ hongkrunan.in.th แหล่งการเรียนรู้ออนไลน์วิชาวิทยาการคำนวณ
สวัสดีค่ะ ยินดีต้อนรับเข้าสู่เว็บไซต์ hongkrunan.in.th แหล่งการเรียนรู้ออนไลน์วิชาวิทยาการคำนวณ
หน่วยการเรียนรู้ที่ 1 แนวคิดเชิงคำนวณ
แนวคิดการออกแบบขั้นตอน
อัลกอริทึม มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 ชื่ออะบู อับดิลลาห์ มูฮัมหมัด บิน มูซา อัลคอวาริซมีย์ (Abu Abdillah Muhammad binMusa al-Khawarizmi) คำว่าอัลคอวาริซมีย์ (al-Khawarizmi) ได้เพี้ยนเป็นอัลกอริทมี (Algoritmi)เมื่องานเขียนของเขาได้รับการแปลเป็นภาษาละติน แล้วกลายเป็น อัลกอริทึม(Algorithm) ซึ่งหมายถึงกฎที่ใช้ในการคิดคำนวณเลขคณิตในช่วงศตวรรษที่ 18 ในปัจจุบันคำนี้ได้มีความหมายที่กว้างขึ้นโดยหมายรวมถึงขั้นตอนวิธีการในการแก้ปัญหาต่าง ๆ
อัลกอริทึม (Algorithm) หมายถึง กระบวนการทำงานอย่างใดอย่างหนึ่ง ที่มีลำดับการทำงานเป็นขั้นเป็นตอนชัดเจน และปฏิบัติตามขั้นตอนแล้วได้ผลลัพธ์ที่ถูกต้อง
ซึ่งในการเริ่มต้นในการเขียนโปรแกรมอัลกอริทึมมีความสำคัญเป็นอย่างมากเพราะ เป็นการจัดลำดับขั้นตอนวิธีการแก้ปัญหาหรือจัดการความคิดให้เป็นขั้นตอนต่าง ๆ เพื่อแก้ไขปัญหาในขั้นตอนการเขียนโปรแกรมที่สอดคล้องกรรมวิธีแก้ปัญหาที่กำหนดไว้ การเขียนอัลกอริทึมจึงเป็นการแสดงลำดับการทำงานตามคุณสมบัติด้านการประมวลผลของคอมพิวเตอร์ ที่พร้อมจะนำไปแปลงเป็นลำดับคำสั่งให้คอมพิวเตอร์ทำงาน การเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษาที่เหมาะสม เพื่อสั่งให้คอมพิวเตอร์ทำงานตามอัลกอริทึมที่กำหนดไว้ และการเขียนอัลกอริทึมออกมาให้ตรวจสอบความถูกต้องได้ครบถ้วนขึ้น
หลักการเขียนอัลกอริทึม
กระบวนการสำคัญเริ่มต้นที่จุดจุดเดียวในการมีจุดเริ่มต้นหลายที่จะทำให้กระบวนการวิธีสับสน จนในที่สุดอาจทำให้ผลลัพธ์ที่ได้ไม่ตรงกับความต้องการ หรืออาจทำให้อัลกอริทึมนั้นไม่สามารถทำงานได้เลย
กำหนดการทำงานเป็นขั้นเป็นตอนอย่างชัดเจน ไม่คลุมเครือ เสร็จจากขั้นตอนหนึ่งไปยังขั้นตอนที่สองมีเงื่อนไขการทำงานอย่างไร ควรกำหนดให้ชัดเจน
การทำงานแต่ละขั้นตอนควรสั้นกระชับ เพราะการกำหนดขั้นตอนการทำงานให้สั้นกระชับนอกจากจะทำให้โปรแกรมทำงานได้รวดเร็วแล้ว ยังเป็นประโยชน์ต่อผู้อื่นที่มาพัฒนาโปรแกรมต่อด้วยเพราะสามารถศึกษาอัลกอริทึมจากโปรแกรมที่เขียนไว้ได้ง่าย
ผลลัพธ์ในแต่ละขั้นตอนควรต่อเนื่องกัน การออกแบบขั้นตอนที่ดีนั้นผลลัพธ์จากขั้นตอนแรกควรเป็นข้อมูลสำหรับนำเข้า ให้กับข้อมูลในขั้นต่อไป ต่อเนื่องกันไปจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ
การออกแบบให้ครอบคลุมการทำงานในหลายรูปแบบ เช่น การออกแบบโดยคิดไว้ล่วงหน้าว่าหากผู้ใช้โปรแกรมป้อนข้อมูลเข้าผิดประเภท โปรแกรมจะมีการเตือนว่าผู้ใช้งานมีการใส่ข้อมูลที่ผิดประเภทโดยโปรแกรมจะไม่รับข้อมูลนั้น เพื่อให้ใส่ข้อมูลใหม่อีกครั้ง เพื่อป้องกันการเกิดจุดบกพร่องของโปรแกรมได้
ประโยชน์ของอัลกอริทึม
ประโยชน์ของอัลกอริทึม (Algorithm) คือ ทำให้ไม่สับสนกับวิธีดำเนินงาน เพราะทุกอย่างจะถูกจัดเรียงเป็นขั้นตอนมีวิธีการและทางเลือกไว้ให้ เมื่อนำมาใช้จะทำให้การทำงานสำเร็จอย่างรวดเร็ว ทำให้ปัญหาลดลงหรือสามารถค้นหาต้นเหตุของปัญหาได้อย่างรวดเร็ว เนื่องจากกระบวนการถูกแยกแยะกิจกรรม ขั้นตอน และความสัมพันธ์ ออกมาให้เห็นอย่างชัดเจน
ตะวันขับรถยนต์ออกไปทำงานในตอนเช้าแต่พบว่ารถยนต์ของตนเองไม่สามารถเดินทางถึงที่ทำงานได้ ซึ่งตะวันคิดว่าปัญหาอาจมีสาเหตุมาจาก 2 ประเด็น ได้แก่ ยางแบนหรือน้ำมันรถยนต์ใกล้จะหมด
หากตะวันใช้แนวคิดเชิงคำนวณเข้ามาช่วยแก้ปัญหาที่เกิดขึ้นจะสามารถแก้ปัญหาได้ ดังนี้
🌞ปัญหาที่ตะวันต้องการมุ่งเน้น คือ การเปลี่ยนยางรถยนต์ที่แบน ตะวันจึงต้องออกแบบลำดับขั้นตอนในการเปลี่ยนยางรถยนต์ได้ ดังนี้
1.หมุนบล็อกถอดนอตเพื่อคลายนอตที่ล้อรถยนต์
2.ใช้แม่แรงยกรถยนต์ขึ้นและถอดนอตออก
3.ถอดล้อรถยนต์ออก เปลี่ยนล้อรถยนต์และอะไหล่เข้าไปแทนที่
4.ใส่นอตแล้วปล่อยแม่แรง จากนั้นขันนอตให้แน่น
⭐⭐⭐⭐⭐
ตัวอย่างการเขียนอัลกอริทึม
แหล่งที่มา:https://www.scimath.org/lesson-technology/item/8809-2018-09-21-02-51-34