อัลกอริทึมเบื้องต้น
อัลกอริทึม มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 ชื่ออะบู อับดิลลาห์ มูฮัมหมัด บิน มูซา อัลคอวาริซมีย์ (Abu Abdillah Muhammad binMusa al-Khawarizmi) คำว่าอัลคอวาริซมีย์ (al-Khawarizmi)ได้เพี้ยนเป็นอัลกอริทึม (Algoritmi)เมื่องานเขียนของเขาได้รับการแปลเป็นภาษาละติน แล้วกลายเป็นอัลกอริทึม(Algorithm) ซึ่งหมายถึงกฎที่ใช้ในการคิดคำนวณเลขคณิตในช่วงศตวรรษที่ 18 ในปัจจุบันคำนี้ได้มีความหมายที่กว้างขึ้นโดยหมายรวมถึงขั้นตอนวิธีการในการแก้ปัญหาต่าง ๆ มีนักการศึกษา นักวิชาการ ให้ความหมายของคำว่า อัลกอริทึม (Algorithm) ไว้หลายท่าน ดังนี้
ราชบัณฑิตยสถานได้บัญญัติศัพท์คำว่า "Algorithm” ใช้คำว่า "ขั้นตอนวิธี” หมายถึง ขั้นตอนวิธีการแก้ปัญหาเชิงคำนวณด้วยคอมพิวเตอร์
อัลกอริทึม (Algorithm) หมายถึง ขั้นตอนหรือลำดับการประมวลผลในการแก้ปัญหาใดปัญหาหนึ่งซึ่งจะช่วยให้ผู้พัฒนาโปรแกรมเห็นขั้นตอนการเขียนโปรแกรมอย่างง่ายขึ้น
อัลกอริทึม (Algorithm) หมายถึง แนวคิดอย่างมีเหตุผลที่ผู้เขียนโปรแกรมใช้ในการอธิบายวิธีการอย่างเป็นขั้นตอนตามลำดับในการที่จะพัฒนาโปรแกรมนั้น ๆ เพื่อตรวจสอบขั้นตอนต่าง ๆ ในการทำงานและความถูกต้องในแต่ละขั้นตอน
อัลกอริทึม (Algorithm) คือ กระบวนการแก้ปัญหาที่สามารถอธิบายออกมาเป็นขั้นตอนที่ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร กระบวนการนี้ประกอบด้วยจะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำอีก จนกระทั่งเสร็จสิ้นการทำงาน (http://mindphp.com)
จากที่กล่าวมาข้างต้น สรุปได้ว่า อัลกอริทึม (Algorithm) หมายถึง กระบวนการทำงานอย่างใดอย่างหนึ่ง ที่มีลำดับการทำงานเป็นขั้นเป็นตอนชัดเจน และปฏิบัติตามขั้นตอนแล้วได้ผลลัพธ์ที่ถูกต้อง
ซึ่งในการเริ่มต้นในการเขียนโปรแกรมอัลกอริทึมมีความสำคัญเป็นอย่างมากเพราะเป็นการจัดลำดับขั้นตอนวิธีการแก้ปัญหาหรือจัดการความคิดให้เป็นขั้นตอนต่างๆเพื่อแก้ไขปัญหาในขั้นตอนการเขียนโปรแกรมที่สอดคล้องกรรมวิธีแก้ปัญหาที่กำหนดไว้การเขียนอัลกอริทึมจึงเป็นการแสดงลำดับการทำงานตามคุณสมบัติด้านการประมวลผลของคอมพิวเตอร์ ที่พร้อมจะนำไปแปลงเป็นลำดับคำสั่งให้คอมพิวเตอร์ทำงาน การเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษาที่เหมาะสม เพื่อสั่งให้คอมพิวเตอร์ทำงานตามอัลกอริทึมที่กำหนดไว้ และการเขียนอัลกอริทึมออกมาให้ตรวจสอบความถูกต้องได้ครบถ้วนขึ้น
หลักการเขียนอัลกอริทึม
กระบวนการสำคัญเริ่มต้นที่จุดจุดเดียวในการมีจุดเริ่มต้นหลายที่จะทำให้กระบวนการวิธีสับสน จนในที่สุดอาจทำให้ผลลัพธ์ที่ได้ไม่ตรงกับความต้องการ หรืออาจทำให้อัลกอริทึมนั้นไม่สามารถทำงานได้เลย
กำหนดการทำงานเป็นขั้นเป็นตอนอย่างชัดเจน การกำหนดอัลกอริทึมที่ดีควรมีขั้นตอนที่ชัดเจนไม่คลุมเครือ เสร็จจากขั้นตอนหนึ่ง ไปยังขั้นตอนที่สองมีเงื่อนไขการทำงานอย่างไร ควรกำหนดให้ชัดเจน
การทำงานแต่ละขั้นตอนควรสั้นกระชับ เพราะการกำหนดขั้นตอนการทำงานให้สั้นกระชับนอกจากจะทำให้โปรแกรมทำงานได้รวดเร็วแล้ว ยังเป็นประโยชน์ต่อผู้อื่นที่มาพัฒนาโปรแกรมต่อด้วยเพราะสามารถศึกษาอัลกอริทึมจากโปรแกรมที่เขียนไว้ได้ง่าย
ผลลัพธ์ในแต่ละขั้นตอนควรต่อเนื่องกัน การออกแบบขั้นตอนที่ดีนั้นผลลัพธ์จากขั้นตอนแรกควรเป็นข้อมูลสำหรับนำเข้า
การออกแบบอัลกอริทึมที่ดี ควรออกแบบให้ครอบคลุมการทำงานในหลายรูปแบบ เช่น การออกแบบโดยคิดไว้ล่วงหน้าว่าหากผู้ใช้โปรแกรมป้อนข้อมูลเข้าผิดประเภท โปรแกรมจะมีการเตือนว่าผู้ใช้งานมีการใส่ข้อมูลที่ผิดประเภทโดยโปรแกรมจะไม่รับข้อมูลนั้น เพื่อให้ใส่ข้อมูลใหม่อีกครั้ง เพื่อป้องกันการเกิดจุดบกพร่องของโปรแกรมได้ ประโยชน์ของอัลกอริทึม ประโยชน์ของอัลกอริทึม (Algorithm) คือ ทำให้ไม่สับสนกับวิธีดำเนินงาน เพราะทุกอย่างจะถูกจัดเรียงเป็นขั้นตอนมีวิธีการและทางเลือกไว้ให้ เมื่อนำมาใช้จะทำให้การทำงานสำเร็จอย่างรวดเร็ว ทำให้ปัญหาลดลงหรือสามารถค้นหาต้นเหตุของปัญหาได้อย่างรวดเร็ว เนื่องจากกระบวนการถูกแยกแยะกิจกรรม ขั้นตอน และความสัมพันธ์ ออกมาให้เห็นอย่างชัดเจน
รูปแบบการเขียนอัลกอริทึม การเขียนอัลกอริทึมมีหลายรูปแบบ โดยผู้เขียนสามารถใช้อัลกอริทึมหลายรูปแบบประกอบกันในการออกแบบอัลกอริทึมนั้นเพื่อใช้ในการแก้ปัญหาการเขียนโปรแกรมได้
|
|
แสดงความคิดเห็น
นงนุช จันทยุทธ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 57 ครั้ง |
กาญจนา อัลฟ์ทเบิร์ก วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 44 ครั้ง |
หทัย สมมี วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 41 ครั้ง |
ศิริวรรณ อินทฤาชัย วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 34 ครั้ง |
Weerawit Phaamnat l วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 43 ครั้ง |
อำนาจ อ้อมนอก วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 35 ครั้ง |
นงนุช จันทยุทธ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 35 ครั้ง |
กนกวรรณ พรมดี วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 45 ครั้ง |
สุริยา สาระณา วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 33 ครั้ง |
ศิริวรรณ อินทฤาชัย วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 34 ครั้ง |
Weerawit Phaamnat l วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 43 ครั้ง |
ศิริวรรณ อินทฤาชัย วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 30 ครั้ง |
พิชัย แก้วเมือง วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 79 ครั้ง |
ศิริวรรณ อินทฤาชัย วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 46 ครั้ง |
จิราวรรณ เสนาลอย วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 38 ครั้ง |
กนกวรรณ พรมดี วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 34 ครั้ง |
สุภาพร ขจรคำ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 38 ครั้ง |
สุภาพร ขจรคำ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 41 ครั้ง |
อุบลรัตน์ แสงกล้า วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 34 ครั้ง |
สุภาพร ขจรคำ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 38 ครั้ง |
ธิศวรรณ สุธน วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 46 ครั้ง |
วรรณารัตน์ ละอองเอกกุลภัค วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 35 ครั้ง |
ณัฐฐิรา กิ่งมิ่งแฮ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 74 ครั้ง |
ปาริชาติ ไทยสา วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 89 ครั้ง |
ปาริชาติ ไทยสา วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 32 ครั้ง |
กาญจนา อัลฟ์ทเบิร์ก วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 37 ครั้ง |
นายจีระพันธ์ พรหมกูล วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 28 ครั้ง |
กนกวรรณ พรมดี วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 37 ครั้ง |
นงนุช จันทยุทธ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 33 ครั้ง |
กนกวรรณ พรมดี วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 35 ครั้ง |
พิชัย แก้วเมือง วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 37 ครั้ง |
สุริยา สาระณา วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 29 ครั้ง |
จิราวรรณ เสนาลอย วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 39 ครั้ง |
ณัฐฐิรา กิ่งมิ่งแฮ วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 41 ครั้ง |
สุริยา สาระณา วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 45 ครั้ง |
พิชัย แก้วเมือง วิทยาศาสตร์และเทคโ... ป.6 เปิดดู 51 ครั้ง |
OBEC PLAY Education Platform | Powered By Spirit Team