
อัลกอริทึม (Algorithm) คือ แนวคิดอย่างมีเหตุผลที่ผู้เขียนโปรแกรมใช้ในการอธิบายวิธีการอย่างเป็นขั้นตอน ตามลำดับในการที่จะพัฒนาโปรแกรมนั้น ๆ เพื่อตรวจสอบขั้นตอนต่าง ๆ ในการทำงานและความถูกต้องในแต่ละขั้นตอน เป็นกระบวนการที่สามารถอธิบายออกมาเป็นขั้นตอนที่ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ในการเขียนอัลกอริทึม มีเครื่องมือช่วยในการเขียนอัลกอริทึม (Algorithm) ที่นิยมใช้ 3 แบบ ครอบคลุม (1) บรรยาย (narrative description) (2) รหัสลำลอง (pseudo code) และ (3) ผังงาน (flowchart)
1. บรรยาย (narrative description)
บรรยาย (narrative description) เป็นการแสดงขั้นตอนการทำงานในลักษณะการบรรยายเป็นข้อความด้วยภาษาพูดใด ๆ เช่น ภาษาไทย ภาษาอังกฤษ ภาษาเกาหลี ภาษาญี่ปุ่น หรือ ภาษาจีน เป็นต้น ขึ้นอยู่กับความถนัดของผู้เขียนอัลกอริทึม มักเขียนบรรยายขั้นตอนการทำงานเป็นข้อๆ
ตัวอย่าง การหาพื้นที่สามเหลี่ยม
เริ่มต้น
- รับค่าความยาวของฐานมาเก็บในตัวแปร BASE
- รับค่าความสูงมาเก็บในตัวแปร HEIGHT
- คำนวณหาพื้นที่ AREA = 0.5 * BASE*HEIGHT
- แสดงผลพื้นที่
จบการทำงาน
2. รหัสลำลอง (pseudo code)
การเขียนอัลกอริทึมโดยใช้รหัสลำลอง เป็นการเขียนขั้นตอนการทำงานในลักษณะของคำอธิบายที่มีรูปแบบโครงสร้างชัดเจน ไม่ขึ้นกับภาษาใดภาษาหนึ่ง แต่สามารถเปลี่ยนเป็นภาษาคอมพิวเตอร์ได้ง่าย ดังนั้นโครงสร้างส่วนใหญ่จึงนิยมใช้คำสั่งเฉพาะที่มีอยู่ในคอมพิวเตอร์เพื่อแทนการทำงานต่าง ๆ เช่น Read if Case หรือ While/Do
ตัวอย่าง การหาพื้นที่สามเหลี่ยม
START
READ BASE
READ HEIGHT
AREA = 0.5 * BASE * HEIGHT
PRINT AREA
END
3. ผังงาน (flowchart)
การเขียนอัลกอริทึมแบบผังงาน (flowchart) เป็นการแสดงขั้นตอนการทำงานโดยใช้สัญลักษณ์รูปภาพเป็นตัวสื่อความหมาย รูปภาพแต่ละรูปจะมีความหมายเฉพาะตัว และใช้ลูกศรกำหนดทิศทางการทำงานในแต่ละขั้นตอน โดยสัญลักษณ์ที่ใช้ในการเขียนอัลกอริทึมแบบผังงาน (flowchart) มีดังนี้

การวิเคราะห์ขั้นตอนวิธีการ ต้องทำการแยกแยะระบบว่าเป็นข้อมูลเข้าหรือออก ดังนี้
- อะไรเป็นข้อมูลเข้า (Input)
- วิธีการประมวลผลที่จะนำมาซึ่งคำตอบ (Process)
- อะไรเป็นข้อมูลออก (Output)
โดยสรุป อัลกอริทึม (Algorithm) คือ แนวคิดอย่างมีเหตุผลที่ผู้เขียนโปรแกรมใช้ในการอธิบายวิธีการอย่างเป็นขั้นตอน ตามลำดับในการที่จะพัฒนาโปรแกรมนั้น ๆ เพื่อตรวจสอบขั้นตอนต่าง ๆ ในการทำงานและความถูกต้องในแต่ละขั้นตอน ช่วยให้วิเคราะห์ระบบว่า อะไรเป็นข้อมูลเข้า (Input) วิธีการประมวลผลที่จะนำมาซึ่งคำตอบ (Process) และ อะไรเป็นข้อมูลออก (Output) เพื่อนำไปพัฒนาโปรแกรมที่มีประสิทธิภาพต่อไป
กิจกรรม
- ให้นักเรียนเลือกหัวข้อเกม หรือ นิทาน เรื่องเล่า มา 1 หัวข้อ
- ให้นักเรียนเขียนอัลกอริทึม ของหัวข้อที่นักเรียนสนใจ อาจจะเป็น (1) บรรยาย (narrative description) (2) รหัสลำลอง (pseudo code) และ (3) ผังงาน (flowchart) อย่างใดอย่างหนึ่ง แต่ทั้งนี้ ต้องครบองค์ประกอบของการทำงานของคอมพิวเตอร์ ทั้ง 3 ส่วนคือ (1) ข้อมูลเข้า (Input) (2) วิธีการประมวลผลที่จะนำมาซึ่งคำตอบ (Process) และ (3) ข้อมูลออก (Output)