อัลกอริทึมเบื้องต้น
อัลกอริทึม มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 ชื่ออะบู อับดิลลาห์ มูฮัมหมัด บิน มูซา อัลคอวาริซมีย์ (Abu Abdillah Muhammad binMusa al-Khawarizmi) คำว่าอัลคอวาริซมีย์ (al-Khawarizmi) ได้เพี้ยนเป็นอัลกอริทมี (Algoritmi) เมื่องานเขียนของเขาได้รับการแปลเป็นภาษาละติน แล้วกลายเป็นอัลกอริทึม (Algorithm) ซึ่งหมายถึงกฎที่ใช้ในการคิดคำนวณเลขคณิตในช่วงศตวรรษที่ 18
ความหมายของอัลกอริทึมจากผู้เชี่ยวชาญ:
- ราชบัณฑิตยสถาน: บัญญัติศัพท์ว่า “ขั้นตอนวิธี” หมายถึง ขั้นตอนวิธีการแก้ปัญหาเชิงคำนวณด้วยคอมพิวเตอร์
- การพัฒนาโปรแกรม: หมายถึง ขั้นตอนหรือลำดับการประมวลผลในการแก้ปัญหาใดปัญหาหนึ่งซึ่งจะช่วยให้ผู้พัฒนาโปรแกรมเห็นขั้นตอนการเขียนโปรแกรมอย่างง่ายขึ้น
- แนวคิดเชิงตรรกะ: หมายถึง แนวคิดอย่างมีเหตุผลที่ใช้ในการอธิบายวิธีการอย่างเป็นขั้นตอนตามลำดับ เพื่อตรวจสอบความถูกต้องในแต่ละขั้นตอน
สรุปได้ว่า อัลกอริทึม (Algorithm) หมายถึง กระบวนการทำงานอย่างใดอย่างหนึ่ง ที่มีลำดับการทำงานเป็นขั้นเป็นตอนชัดเจน และปฏิบัติตามขั้นตอนแล้วได้ผลลัพธ์ที่ถูกต้อง
หลักการเขียนอัลกอริทึม
- มีจุดเริ่มต้นจุดเดียว: เพื่อป้องกันความสับสนในกระบวนการทำงาน
- กำหนดขั้นตอนชัดเจน: ไม่คลุมเครือ มีลำดับ 1-2-3 ที่แน่นอน
- สั้น กระชับ: เพื่อให้โปรแกรมทำงานรวดเร็วและง่ายต่อการพัฒนาต่อ
- ผลลัพธ์ต่อเนื่อง: ข้อมูลจากขั้นตอนแรกควรเป็น Input ให้ขั้นต่อไป
- ครอบคลุม: ออกแบบให้รองรับกรณีผู้ใช้ป้อนข้อมูลผิดพลาด (Error Handling)
ประโยชน์ของอัลกอริทึม
ช่วยให้ไม่สับสนกับวิธีดำเนินงาน เพราะทุกอย่างถูกจัดเรียงเป็นขั้นตอน ทำให้งานสำเร็จรวดเร็ว ค้นหาต้นเหตุของปัญหาได้ง่ายเนื่องจากมีการแยกแยะกิจกรรมชัดเจน
รูปแบบการเขียนอัลกอริทึม
1. แบบลำดับ (Sequential): ทำงานจากบนลงล่างตามขั้นตอนต่อเนื่องกัน
เริ่มต้น -> หยิบไข่ -> ตอกไข่ -> ปรุงรส -> ตีไข่ -> ตั้งกระทะ -> เปิดแก๊ส -> ใส่น้ำมัน -> ทอดจนสุก -> ตักใส่จาน -> จบ
2. แบบทางเลือก (Decision): มีเงื่อนไขกำหนดเส้นทางการทำงาน
รับคะแนน -> ตรวจสอบ (ถ้า > 50 คือ ผ่าน, ถ้า < 50 คือ ตก) -> ประกาศผล -> จบ
3. แบบทำซ้ำ (Repetition): ทำงานวนกลับมาที่เดิมจนกว่าจะจบเงื่อนไข
หยิบมังคุด -> ตรวจสอบน้ำหนัก (ถ้าน้อยกว่า 1 กก. ให้หยิบต่อ) -> เมื่อครบ 1 กก. ให้หยุดเลือก -> จ่ายเงิน -> จบ
การวิเคราะห์อัลกอริทึม
ต้องแยกแยะ 3 ส่วนสำคัญคือ: ข้อมูลเข้า (Input) -> การประมวลผล (Process) -> ข้อมูลออก (Output)
เครื่องมือช่วยในการเขียนอัลกอริทึม
- แบบบรรยาย (Narrative): ใช้ภาษาพูดทั่วไป ข้อเสียคืออาจยืดเยื้อและเข้าใจยาก
- ผังงาน (Flowchart): ใช้รูปภาพ/สัญลักษณ์มาตรฐาน เห็นลำดับชัดเจน
- รหัสลำลอง (Pseudo Code): ใช้คำอธิบายกึ่งภาษาคอมพิวเตอร์ (เช่น READ, IF, WHILE)
ตัวอย่าง: การคำนวณหาพื้นที่สามเหลี่ยม
1. เริ่มต้น
2. รับค่าฐาน (BASE)
3. รับค่าสูง (HEIGHT)
4. AREA = 0.5 * BASE * HEIGHT
5. แสดงผลพื้นที่
6. จบ
START
READ BASE
READ HEIGHT
AREA = 0.5 * BASE * HEIGHT
PRINT AREA
END
จุฬาลักษณ์ ถาไชยลา, วิกิพีเดีย, วีรศักดิ์ จันทร์สุข, วีระยุทธ คุณรัตนสิริ, วรายุภัสร์ ปานอำพันธ์, วุฒิชัย เกษพานิช, สุรศักดิ์ มังสิงห์, สมชาย ประสิทธิ์จูตระกูล, ปติพันธ์ เพ็งเปา, เอกชัย เจริญนิตย์, เอกพันธุ์ คาปัญญโญ.