อัลกอริทึมและผังงานเบื้องต้น

อัลกอริทึมเบื้องต้น

        อัลกอริทึม มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 ชื่ออะบู อับดิลลาห์ มูฮัมหมัด บิน มูซา อัลคอวาริซมีย์ (Abu Abdillah Muhammad binMusa al-Khawarizmi) คำว่าอัลคอวาริซมีย์ (al-Khawarizmi) ได้เพี้ยนเป็นอัลกอริทมี (Algoritmi) เมื่องานเขียนของเขาได้รับการแปลเป็นภาษาละติน แล้วกลายเป็นอัลกอริทึม (Algorithm) ซึ่งหมายถึงกฎที่ใช้ในการคิดคำนวณเลขคณิตในช่วงศตวรรษที่ 18

ความหมายของอัลกอริทึมจากผู้เชี่ยวชาญ:

  • ราชบัณฑิตยสถาน: บัญญัติศัพท์ว่า “ขั้นตอนวิธี” หมายถึง ขั้นตอนวิธีการแก้ปัญหาเชิงคำนวณด้วยคอมพิวเตอร์
  • การพัฒนาโปรแกรม: หมายถึง ขั้นตอนหรือลำดับการประมวลผลในการแก้ปัญหาใดปัญหาหนึ่งซึ่งจะช่วยให้ผู้พัฒนาโปรแกรมเห็นขั้นตอนการเขียนโปรแกรมอย่างง่ายขึ้น
  • แนวคิดเชิงตรรกะ: หมายถึง แนวคิดอย่างมีเหตุผลที่ใช้ในการอธิบายวิธีการอย่างเป็นขั้นตอนตามลำดับ เพื่อตรวจสอบความถูกต้องในแต่ละขั้นตอน
บทเรียนอัลกอริทึมเบื้องต้น ภาพที่ 1 บทเรียนอัลกอริทึมเบื้องต้น | ที่มา: วัชรพัฒน์ ศรีคำเวียง

        สรุปได้ว่า อัลกอริทึม (Algorithm) หมายถึง กระบวนการทำงานอย่างใดอย่างหนึ่ง ที่มีลำดับการทำงานเป็นขั้นเป็นตอนชัดเจน และปฏิบัติตามขั้นตอนแล้วได้ผลลัพธ์ที่ถูกต้อง

หลักการเขียนอัลกอริทึม

  1. มีจุดเริ่มต้นจุดเดียว: เพื่อป้องกันความสับสนในกระบวนการทำงาน
  2. กำหนดขั้นตอนชัดเจน: ไม่คลุมเครือ มีลำดับ 1-2-3 ที่แน่นอน
  3. สั้น กระชับ: เพื่อให้โปรแกรมทำงานรวดเร็วและง่ายต่อการพัฒนาต่อ
  4. ผลลัพธ์ต่อเนื่อง: ข้อมูลจากขั้นตอนแรกควรเป็น Input ให้ขั้นต่อไป
  5. ครอบคลุม: ออกแบบให้รองรับกรณีผู้ใช้ป้อนข้อมูลผิดพลาด (Error Handling)

ประโยชน์ของอัลกอริทึม

        ช่วยให้ไม่สับสนกับวิธีดำเนินงาน เพราะทุกอย่างถูกจัดเรียงเป็นขั้นตอน ทำให้งานสำเร็จรวดเร็ว ค้นหาต้นเหตุของปัญหาได้ง่ายเนื่องจากมีการแยกแยะกิจกรรมชัดเจน

รูปแบบการเขียนอัลกอริทึม

1. แบบลำดับ (Sequential): ทำงานจากบนลงล่างตามขั้นตอนต่อเนื่องกัน

ตัวอย่าง: การทอดไข่เจียว
เริ่มต้น -> หยิบไข่ -> ตอกไข่ -> ปรุงรส -> ตีไข่ -> ตั้งกระทะ -> เปิดแก๊ส -> ใส่น้ำมัน -> ทอดจนสุก -> ตักใส่จาน -> จบ

2. แบบทางเลือก (Decision): มีเงื่อนไขกำหนดเส้นทางการทำงาน

ตัวอย่าง: การตัดเกรด
รับคะแนน -> ตรวจสอบ (ถ้า > 50 คือ ผ่าน, ถ้า < 50 คือ ตก) -> ประกาศผล -> จบ

3. แบบทำซ้ำ (Repetition): ทำงานวนกลับมาที่เดิมจนกว่าจะจบเงื่อนไข

ตัวอย่าง: การซื้อมังคุด 1 กิโลกรัม
หยิบมังคุด -> ตรวจสอบน้ำหนัก (ถ้าน้อยกว่า 1 กก. ให้หยิบต่อ) -> เมื่อครบ 1 กก. ให้หยุดเลือก -> จ่ายเงิน -> จบ

การวิเคราะห์อัลกอริทึม

ต้องแยกแยะ 3 ส่วนสำคัญคือ: ข้อมูลเข้า (Input) -> การประมวลผล (Process) -> ข้อมูลออก (Output)

เครื่องมือช่วยในการเขียนอัลกอริทึม

  1. แบบบรรยาย (Narrative): ใช้ภาษาพูดทั่วไป ข้อเสียคืออาจยืดเยื้อและเข้าใจยาก
  2. ผังงาน (Flowchart): ใช้รูปภาพ/สัญลักษณ์มาตรฐาน เห็นลำดับชัดเจน
  3. รหัสลำลอง (Pseudo Code): ใช้คำอธิบายกึ่งภาษาคอมพิวเตอร์ (เช่น READ, IF, WHILE)
ผังงานแสดงขั้นตอนการปลูกต้นไม้ ภาพที่ 2 ผังงานแสดงขั้นตอนการปลูกต้นไม้ | ที่มา: algorithm-elearning.esy.es

ตัวอย่าง: การคำนวณหาพื้นที่สามเหลี่ยม

อัลกอริทึม (แบบบรรยาย)
1. เริ่มต้น
2. รับค่าฐาน (BASE)
3. รับค่าสูง (HEIGHT)
4. AREA = 0.5 * BASE * HEIGHT
5. แสดงผลพื้นที่
6. จบ
Pseudo Codes
START
READ BASE
READ HEIGHT
AREA = 0.5 * BASE * HEIGHT
PRINT AREA
END
📚 แหล่งที่มา:
จุฬาลักษณ์ ถาไชยลา, วิกิพีเดีย, วีรศักดิ์ จันทร์สุข, วีระยุทธ คุณรัตนสิริ, วรายุภัสร์ ปานอำพันธ์, วุฒิชัย เกษพานิช, สุรศักดิ์ มังสิงห์, สมชาย ประสิทธิ์จูตระกูล, ปติพันธ์ เพ็งเปา, เอกชัย เจริญนิตย์, เอกพันธุ์ คาปัญญโญ.

แสดงความคิดเห็น

0 ความคิดเห็น

แสดงความคิดเห็น (0)