ความรู้เบื้องต้นเกี่ยวกับ อัลกอริทึม (Algorithm)
ความรู้เบื้องต้นเกี่ยวกับ อัลกอริทึม (Algorithm)
อัลกอริทึม (Algorithm) หมายถึง ขั้นตอนหรือลำดับการประมวลผลในการแก้ปัญหาใดปัญหาหนึ่งซึ่งจะช่วยให้ผู้พัฒนาโปรแกรมเห็นขั้นตอนการเขียนโปรแกรมอย่างง่ายขึ้น
อัลกอริทึม (Algorithm) หมายถึง แนวคิดอย่างมีเหตุมีผลที่ผู้พัฒนาโปรแกรม โปรแกรมเมอร์ หรือนักวิเคราะห์ระบบ ใช้ในการอธิบายวิธีการทำงานอย่างเป็นขั้นตามลำกดับในการที่จะพัฒนาโปรแกรมนั้นๆ ให้กับผู้ที่สนใจหรือผู้ที่เป็นเจ้าของงาน หรือผู้ที่รับผิดชอบได้ทราบถึงขั้นตอนต่างๆ ในการเขียนหรือพัฒนาโปรแกรม
ขณะเดียวกันสามารถช่วยให้ผู้ที่เป็นจเ้าของงาน หรือผู้ที่รักผิดชอบได้ตรวจสอบขั้นตอนต่างๆ ในการทำงาน และความถูกต้องในแต่ละขั้นตอนการทำงาน โดยผู้ที่เป็นเจ้าของงานหรือผู้ที่รับผิดชอบนั้นๆ ไม่จำเป็นต้องเขียนโปรแกรมเป็น
หลักการเขียนอัลกอริทึม
1.กระบวนการสำคัญเริ่มต้นที่จุดจุดเดียวในการมีจุดเริ่มต้นหลายที่จะทำให้กระบวนการวิธีสับสน จนในที่สุดอาจทำให้ผลลัพธ์ที่ได้ไม่ตรงกับความต้องการ หรืออาจทำให้อัลกอริทึมนั้นไม่สามารถทำงานได้เลย
2.กำหนดการทำงานเป็นขั้นเป็นตอนอย่างชัดเจน การกำหนดอัลกอริทึมที่ดีควรมีขั้นตอนที่ชัดเจนไม่คลุมเครือ เสร็จจากขั้นตอนหนึ่ง ไปยังขั้นตอนที่สองมีเงื่อนไขการทำงานอย่างไร ควรกำหนดให้ชัดเจน
3.การทำงานแต่ละขั้นตอนควรสั้นกระชับ เพราะการกำหนดขั้นตอนการทำงานให้สั้นกระชับนอกจากจะทำให้โปรแกรมทำงานได้รวดเร็วแล้ว ยังเป็นประโยชน์ต่อผู้อื่นที่มาพัฒนาโปรแกรมต่อด้วยเพราะสามารถศึกษาอัลกอริทึมจากโปรแกรมที่เขียนไว้ได้ง่าย
4.ผลลัพธ์ในแต่ละขั้นตอนควรต่อเนื่องกัน การออกแบบขั้นตอนที่ดีนั้นผลลัพธ์จากขั้นตอนแรกควรเป็นข้อมูลสำหรับนำเข้า ให้กับข้อมูลในขั้นต่อไป ต่อเนื่องกันไปจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ
5.การออกแบบอัลกอริทึมที่ดี ควรออกแบบให้ครอบคลุมการทำงานในหลายรูปแบบ เช่น การออกแบบโดยคิดไว้ล่วงหน้าว่าหากผู้ใช้โปรแกรมป้อนข้อมูลเข้าผิดประเภท โปรแกรมจะมีการเตื่อนว่าผู้ใช้งานมีการใส่ข้อมูลที่ผิดประเภทโดยโปรแกรมจะไม่รับข้อมูลนั้น เพื่อให้ใส่ข้อมูลใหม่อีกครั้ง เพื่อป้องกันการเกิดจุดบกพร่องของโปรแกรมได้
รูปแบบของอัลกอริทึม
การเขียนอัลกอริทึมมีหลายรูปแบบ โดยผู้เขียนสามารถใช้อัลกอริทึมหลายรูปแบบประกอบกันในการออกแบบอัลกอริทึมนั้นเพื่อใช้ในการแก้ปัญหาการเขียนโปรแกรมได้
1.แบบลำดับ (Sequential) มีลักษณะการทำงานจะเป็นไปตามขั้นตอน ก่อน-หลัง ต่อเนื่องกันไปเป็นลำดับ โดยการทำงานแต่ละขั้นตอนต้องทำให้เสร็จก่อน แล้วจึงไปทำขั้นตอนต่อไป
อัลกอริทึม การทอดไข่เจียว
- หยิบไข่ไก่
- ตอกไข่ไก่ใส่ภาชนะ
- ปรุงรส ด้วยเครื่องปรุง
- ตีไข่ด้วยช้อนส้อม
- ตั้งกระทะบนเตา
- เปิดแก๊ส และติดไฟ
- ใส่น้ำมันพืช
- นำไข่ที่ปรุงรสแล้วใส่ลงในกระทะที่ร้อน
- ทอดจนสุก
- ตักขั้นใส่จานที่เตรียมไว้
2.แบบทางเลือก (Decision) อัลกอริทึมรูปแบบนี้ มีเงื่อนไขเป็นตัวกำหนดเส้นทางการทำงานของกระบวนการแก้ปัญหา โดยตัวเลือกนั้นอาจจะมีตั้งแต่ 2 ตัวขึ้นไป เช่น สอบข้อเขียน คะแนนเต็ม 50 ได้คะแนน 30 สอบผ่าน ถ้าต่ำกว่า 30 สอบไม่ผ่าน
อัลกอริทึมตัดเกรดวิชาคอมพิวเตอร์
- คะแนนสอบของนักเรียน
- ตรวจสอบคะแนน (คะแนนที่สอบผ่าน 50 คะแนน)
- ถ้ามากกว่า 50 คะแนน สอบผ่าน
- ถ้าน้อยกว่า 50 คะแนน สอบตก
- ประกาศผล
3.แบบทำซ้ำ (Repetition) อัลกอริทึมแบบนี้คล้ายกับแบบทางเลือก คือ มีการตรวจสอบเงื่อนไข แต่แตกต่างกันตรงที่เมื่อการทำงานตรงตามเงื่อนไขที่กำหนด โปรแกรมจะกลับไปทำงานอีกครั้งวนการทำงานแบบนี้เรื่อยๆ จนกระทั่งไม่ตรงกับเงื่อนไขที่กำหนดไว้จึงหยุดการทำงานหรือทำงานในขั้นต่อไป
อัลกอริทึมการซื้อมังคุด 1 กิโลกรัม
- หยิบถุงพลาสติก
- หยิบมังคุดมาเลือก โดยกดที่เปลือกที่นิ่มๆ
- ตรวจสอบเงื่อนไข (น้อยกว่า 1 กิโลกรัม)
- ถ้าจริง เลือกมังคุดต่อ
- ถ้าเท็จ หยุดเลือก
- จ่ายเงินให้กับผู้ที่ขาย