KKU Logo
psychology

วิชาวิทยาการคำนวณ: เรียนรู้เรื่อง
อัลกอริทึมและรูปแบบของอัลกอริทึม

อัลกอริทึมคืออะไร?

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

ตัวอย่าง: ขั้นตอนการทอดไข่เจียว

local_fire_department

1. ตั้งกระทะและตั้งไฟ

egg

2. ตอกไข่ใส่ชาม

restaurant_menu

3. ปรุงรสตามชอบ

flip_camera_android

4. เทไข่ลงกระทะและพลิก

set_meal

5. ตักไข่ใส่จานพร้อมเสิร์ฟ

ภารกิจ: จัดลำดับขั้นตอนการชงกาแฟ

ขั้นตอนที่มี

ต้มน้ำ
ใส่กาแฟในแก้ว
เทน้ำร้อนใส่แก้ว
คนให้เข้ากัน
เติมน้ำตาล/ครีม (ถ้าต้องการ)

ลำดับขั้นตอนที่ถูกต้อง

ลากขั้นตอนมาวางที่นี่

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

การเขียนอัลกอริทึมมีหลายรูปแบบ เพื่อให้เหมาะสมกับผู้ใช้งานและลักษณะของปัญหา โดยหลักๆ แล้วมี 3 รูปแบบที่เรานิยมใช้กันคือ:

การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ

(Natural Language)

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

ตัวอย่าง:
"ขั้นตอนการทำแซนด์วิช"
1. หยิบขนมปัง 2 แผ่น
2. ทาเนยถั่วบนขนมปังแผ่นแรก
3. ทาแยมบนขนมปังแผ่นที่สอง
4. นำขนมปังทั้งสองแผ่นมาประกบกัน
5. ตัดแบ่งแซนด์วิช (ถ้าต้องการ)

การเขียนอัลกอริทึมด้วยรหัสจำลอง

(Pseudo Code)

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

ตัวอย่าง:
Algorithm: คำนวณพื้นที่สี่เหลี่ยม
1. START
2. INPUT ความกว้าง (width)
3. INPUT ความยาว (length)
4. CALCULATE พื้นที่ = width * length
5. DISPLAY พื้นที่
6. END

การเขียนอัลกอริทึมด้วยผังงาน

(Flowchart)

เป็นการแสดงขั้นตอนการทำงานหรือการแก้ปัญหาด้วยสัญลักษณ์รูปภาพมาตรฐานที่เชื่อมโยงกันด้วยลูกศร แสดงลำดับการทำงาน การตัดสินใจ และการวนซ้ำ ทำให้เห็นภาพรวมและเข้าใจขั้นตอนที่ซับซ้อนได้ง่าย เหมาะสำหรับอธิบายขั้นตอนที่มีเงื่อนไขหรือการวนซ้ำ

ตัวอย่างสัญลักษณ์ที่ใช้ในผังงาน:

  • สัญลักษณ์วงรี: เริ่มต้น / สิ้นสุด (Start / End)
  • สี่เหลี่ยมด้านขนาน: รับข้อมูลเข้า / แสดงผลลัพธ์ (Input / Output)
  • สี่เหลี่ยมผืนผ้า: กระบวนการ / การประมวลผล (Process)
  • สี่เหลี่ยมขนมเปียกปูน: การตัดสินใจ / เงื่อนไข (Decision)
  • ลูกศร: ทิศทางการทำงาน (Flow Line)

แบบฝึกหัด: จัดหมวดหมู่รูปแบบการเขียนอัลกอริทึม

ตัวอย่าง

ตื่นนอน, อาบน้ำ, แต่งตัว
START, INPUT Name, PRINT "Hello " + Name, END
สัญลักษณ์วงรี (เริ่มต้น/สิ้นสุด)
ขั้นตอนการทำความสะอาดบ้าน
IF Score >= 50 THEN PRINT "ผ่าน" ELSE PRINT "ไม่ผ่าน"
สัญลักษณ์สี่เหลี่ยมผืนผ้า (การประมวลผล)

ภาษาธรรมชาติ

ลากตัวอย่างภาษาธรรมชาติมาที่นี่

รหัสจำลอง (Pseudo Code)

ลากตัวอย่างรหัสจำลองมาที่นี่

ผังงาน (Flowchart)

ลากตัวอย่างผังงานมาที่นี่

แบบทดสอบความเข้าใจ

ทำแบบทดสอบหลังเรียน

เมื่อเรียนรู้เนื้อหาและทำกิจกรรมทั้งหมดแล้ว
คลิกที่ปุ่มด้านล่างเพื่อทำแบบทดสอบหลังเรียน

quiz เริ่มทำแบบทดสอบ