อัลกอริทึม (Algorithm)
อัลกอริทึมมีประโยชน์อย่างไร?
อัลกอริทึมมีประโยชน์อย่างไร?
ซึ่งการแสดงอัลกอริทึมด้วยผังงานเพื่อใช้ในการเขียนโปรแกรมหรือแก้ปัญหาต่าง ๆ เป็นการเสริมสร้างทักษะแนวคิดเชิงคำนวณโดยน้อง ๆ จำเป็นที่จะต้องใช้ทักษะการคิดอย่างมีวิจารณญาณ (Critical Thinking) ในการวิเคราะห์ข้อมูลที่จะนำมาใช้แก้ไขปัญหา ใช้ทักษะการคิดเชิงระบบ (System Thinking) เพื่อทำความเข้าโครงสร้างทั้งหมดที่เชื่อมโยงสัมพันธ์กันในการที่จะมองเห็นต้นตอรากเหง้าของปัญหา
รวมไปถึงการฝึกทักษะการคิดสร้างสรรค์ (Creative Thinking) ในการคิดหาวิธีการแก้ปัญหาหรือวิธีการทำงานในรูปแบบใหม่ที่จะทำให้ได้ผลลัพธ์ออกมาดียิ่งขึ้นหรือมีประสิทธิภาพมากขึ้น และนอกจากนี้ในการดำเนินงานต่าง ๆ ผ่านการเขียนอัลกอริทึมน้อง ๆ ยังจะได้ฝึกทักษะที่สำคัญที่สุดเลย นั่นก็คือทักษะการคิดแก้ปัญหา (Problem Solving Thinking) ซึ่งเป็นทักษะที่ใช้ในการออกแบบวิธีการแก้ปัญหาอย่างเป็นขั้นเป็นตอน เพื่อให้เกิดทางเลือกในการแก้ปัญหาที่ดีที่สุด ส่งผลให้สามารถดำเนินการแก้ปัญหาได้อย่างมีประสิทธิภาพมากที่สุดนั่นเอง
โดยการเขียนอัลกอริทึมนั้นจะทำให้น้อง ๆ ได้รู้จักวิเคราะห์ปัญหาหรือการดำเนินงานอย่างเป็นขั้นตอนโดยยึดหลักความเชื่อมโยงกันของแต่ละปัจจัยเพื่อจำแนกการดำเนินงานและคำนึงถึงความเกี่ยวข้องกันและความสำคัญของแต่ละขั้นตอนการดำเนินงาน
ในการเรียนรู้การเขียน algorithm สำหรับน้อง ๆ นั้นจะใช้รูปแบบการเขียน flowchart เบื้องต้น เพื่อให้เกิดความซับซ้อนที่น้อยลงเนื่องจากการเขียน flowchart หรือผังงานนั้นจะใช้สัญลักษณ์ที่มีความหมายตามสากลในการสื่อสารถึงวิธีการและขั้นตอนต่าง ๆ ส่งผลให้น้อง ๆ สามารถทำความเข้าใจกับการดำเนินงานที่อาจมีความซับซ้อนได้ง่ายมากขึ้น โดยตัวอย่าง flowchart ในการเขียนโปรแกรมสามารถเขียนออกมาได้อย่างคร่าว ๆ อย่างในรูปตัวอย่าง อัลกอริทึม และ flowchart
หากเริ่มเขียนอัลกอริทึ่มโดยกำหนดให้มีจุดเริ่มต้นหลายที่จะทำให้กระบวนการวิธีเกิดความสับสนได้ จนในที่สุดอาจทำให้ผลลัพธ์ที่ได้ไม่ตรงกับความต้องการ หรืออาจทำให้อัลกอริทึมนั้นไม่สามารถทำงานได้เลย ดังนั้นการเริ่มเขียนอัลกอริทึ่มจากจุดเริ่มต้นเพียงหนึ่งจุดจะมีความชัดเจนและสามารถทำความเข้าใจได้โดยง่าย
การกำหนดอัลกอริทึมที่ดีควรมีขั้นตอนที่ชัดเจนไม่คลุมเครือ เสร็จจากขั้นตอนหนึ่ง ไปยังขั้นตอนที่สองมีเงื่อนไขการทำงานอย่างไร ควรกำหนดและใช้สัญลักษณ์ให้ชัดเจน ไม่ว่าจะเป็นกล่องข้อความหรือลูกศรที่ชี้ไปยังขั้นตอนแต่ละจุด
การกำหนดขั้นตอนการทำงานให้สั้นกระชับนอกจากจะทำให้โปรแกรมหรือวิธีการทำงาน สามารถดำเนินไปได้อย่างได้รวดเร็วแล้ว ยังเป็นประโยชน์ต่อผู้อื่นที่มาพัฒนาโปรแกรมต่อหรือผู้ที่มาทำงานต่อด้วยเพราะสามารถศึกษาอัลกอริทึมจากโปรแกรมที่เขียนไว้ได้ง่าย
หลักการเขียนอัลกอริทึมที่ดีนั้นการออกแบบขั้นตอนจะต้องเขียนโดยกำหนดให้ผลลัพธ์จากขั้นตอนแรกเป็นข้อมูลสำหรับนำเข้า ให้กับการทำงานในขั้นต่อไป ต่อเนื่องกันไปจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ
อัลกอริทึมที่ดีควรออกแบบให้ครอบคลุมการทำงานได้อย่างหลายรูปแบบ เพื่อป้องกันการเกิดจุดบกพร่องในการดำเนินงานหรือการเขียนโปรแกรมได้
ตัวอย่างอัลกอริทึม ในชีวิตประจําวัน: อัลกอริทัมการปรุงบะหมี่กึ่งสำเร็จรูปให้พร้อมเสิร์ฟ
1.) จัดเตรียมบะหมี่กึ่งสำเร็จรูปพร้อมอุปกรณ์ที่เกี่ยวข้อง
2.) ต้มน้ำสะอาดให้เดือดในหม้อ
3.)เเกะซองเเล้วแยกซองเครื่องปรุงออกมา
4.) นำบะหมี่ใส่ลงในหม้อ
5.) รอประมาณ 3 นาที
6.) ฉีกซองเครื่องปรุงใส่ลงในชาม
7.) เทบะหมี่และน้ำเดือดลงในชามพอประมาณ
8.) รับประทานได้ทันที
ซึ่งหากน้อง ๆ ปฏิบัติตามขั้นตอนก็จะได้บะหมี่พร้อมเสิร์ฟได้ทันที เเต่ก็ยังมีทางเลือกโดยหากเปลี่ยนเวลาที่รอบะหมี่ต้มเกิน 3 นาที เป็น 5 นาทีก็ยังสามารถทานได้ หรือหากไม่ต้มบะหมี่ในหม้อแต่ต้มน้ำให้เดือดแล้วเทใส่ชามบะหมี่ แทนการนำบะหมี่ลงไปต้ม เส้นบะหมี่ก็สามารถสุกและทานได้เช่นกัน
ดังนั้นจึงหมายความว่าอัลกอริทึมที่ใช้ในการแก้ปัญหาหรือดำเนินงานต่าง ๆ สามารถมีหลายวิธีอยู่ที่วิจารณญาณและการไตร่ตรองว่าจะเลือกวิธีใดที่มีประสิทธิภาพที่สุดตามความคิดเเละไอเดียของน้อง ๆ เเต่ละคนไป