🎉 เปิดตัวเว็บใหม่! สมัครสมาชิกวันนี้รับโบนัส +50 XP และติวคอร์สฟรีได้ทันที

ชุดที่ 2 อัลกอริทึม ผังงาน รหัสเทียม และการวิเคราะห์ประสิทธิภาพ

✍️ ฝึกทำ เห็นผลทันทีเมื่อส่ง
🔒

ชุดนี้สำหรับผู้ที่มีสิทธิ์ชุดข้อสอบนี้

ซื้อชุดตะลุยข้อสอบ หรือคอร์สติวที่รวมชุดนี้ไว้ เพื่อทำได้ไม่จำกัด

ดูราคาและสิทธิ์
รายละเอียดชุดนี้

ชุดนี้ครอบคลุมสัญลักษณ์และหลักการเขียนผังงาน รหัสเทียม การไล่ค่าตัวแปร รูปแบบอัลกอริทึมพื้นฐาน ประสิทธิภาพเชิงเวลา (Big-O) การเวียนเกิด และกลยุทธ์การออกแบบอัลกอริทึม

ซีรีส์ตะลุยข้อสอบครูผู้ช่วย เอกคอมพิวเตอร์ 2569 • exammvp.com

สรุปก่อนทำข้อสอบ

สัญลักษณ์ผังงาน (Flowchart) ที่ออกสอบบ่อย

สัญลักษณ์ความหมาย
วงรี / สี่เหลี่ยมมุมมน (Terminal)จุดเริ่มต้น–สิ้นสุด
สี่เหลี่ยมด้านขนาน (Input/Output)รับข้อมูล/แสดงผลโดยไม่ระบุอุปกรณ์
สี่เหลี่ยมผืนผ้า (Process)ประมวลผล คำนวณ กำหนดค่า
สี่เหลี่ยมขนมเปียกปูน (Decision)ตัดสินใจ มีทางออก ≥ 2 ทาง พร้อมระบุเงื่อนไข
สี่เหลี่ยมมีเส้นคู่ด้านข้าง (Predefined Process)เรียกโปรแกรมย่อย/ฟังก์ชัน
รูปเอกสารขอบล่างเป็นคลื่น (Document)แสดงผลทางเครื่องพิมพ์
รูปจอภาพ (Display) · รูปแป้นพิมพ์ (Manual Input)แสดงผลทางจอ · ป้อนข้อมูลด้วยมือ
วงกลมเล็ก · ห้าเหลี่ยม (Off-page)จุดเชื่อมในหน้าเดียวกัน · เชื่อมไปหน้าอื่น
  • ผังงาน 2 ประเภท: ผังงานระบบ (ภาพรวมระบบ ข้อมูลเข้า–ประมวลผล–สื่อผลลัพธ์) · ผังงานโปรแกรม (ขั้นตอนละเอียดของโปรแกรม)
  • หลักเขียน: บนลงล่าง/ซ้ายไปขวา · ลูกศรชัดเจน · เลี่ยงเส้นตัดกัน · ข้อความสั้นกระชับ
  • รหัสเทียม (Pseudocode): ใกล้ภาษาโปรแกรม แปลงเป็นโค้ดง่าย แก้ไขง่าย ไม่ผูกกับภาษาใด คอมพิวเตอร์รันตรง ๆ ไม่ได้

ไล่ค่า (Tracing) ให้แม่น

  • ใช้ตารางไล่ค่าตัวแปร (Trace Table / Desk Check) ทีละบรรทัด
  • DIV = ผลหารจำนวนเต็ม · MOD = เศษ · คูณ หาร DIV MOD ทำก่อนบวก ลบ
  • FOR i = a TO b STEP s → จำนวนรอบ = ⌊(b − a) ÷ s⌋ + 1
  • WHILE ตรวจก่อนทำ (อาจ 0 รอบ) · REPEAT…UNTIL ทำก่อนตรวจ (≥ 1 รอบ) และหยุดเมื่อเงื่อนไข "จริง"
  • IF–ELSE IF: กิ่งแรกที่จริงชนะ → เรียงเงื่อนไขจาก แคบไปกว้าง
  • กับดัก: Off-by-one (< กับ ≤) · Infinite Loop (เงื่อนไขไม่มีวันเท็จ เช่น i ≠ 10 แต่ i เพิ่มทีละ 2)

รูปแบบอัลกอริทึมพื้นฐาน

  • สลับค่า: temp = a → a = b → b = temp
  • หาค่ามาก: เริ่ม max = ข้อมูลตัวแรก (ไม่ใช่ 0)
  • ตัวนับ count = count + 1 · ตัวสะสม sum = sum + x · ตัวแปรธง (Flag) ตั้งค่าเริ่มนอกลูป
  • Sentinel = ค่าบอกจุดจบข้อมูล ห้ามนำไปคำนวณ · Input Validation ใช้ลูปถามซ้ำจนถูก
  • จำนวนเฉพาะ: ทดสอบตัวหารถึง √n · ห.ร.ม. ยุคลิด: gcd(a, b) = gcd(b, a MOD b)
  • ปีอธิกสุรทิน: (หาร 4 ลงตัว AND หาร 100 ไม่ลงตัว) OR หาร 400 ลงตัว

ประสิทธิภาพ (Big-O)

  • ตัดสัมประสิทธิ์และพจน์ที่โตช้ากว่า: 3n² + 5n + 100 → O(n²)
  • O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2ⁿ)
  • ลูปซ้อนให้ คูณ · ลูปเรียงต่อกันให้ บวก แล้วเลือกพจน์ใหญ่สุด · ตัวแปรคูณ/หาร 2 ทุกรอบ → log n
  • O(n²): n เพิ่ม k เท่า เวลาเพิ่ม k² เท่า · O(2ⁿ): n เพิ่ม 1 เวลาเพิ่ม 2 เท่า
  • Time–Space Trade-off: Lookup Table, Memoization

เวียนเกิดและกลยุทธ์ออกแบบอัลกอริทึม

  • เวียนเกิดต้องมี กรณีฐาน และขั้นที่เข้าใกล้กรณีฐาน ไม่เช่นนั้น Stack Overflow
  • Brute Force ลองทุกกรณี · Greedy เลือกดีที่สุดเฉพาะหน้า (ไม่รับประกันคำตอบดีที่สุด) · Divide & Conquer แบ่ง–แก้–รวม (Merge Sort) · Dynamic Programming ปัญหาย่อยซ้ำ + โครงสร้างย่อยเหมาะสมที่สุด
  • ทดสอบอัลกอริทึมด้วย ค่าขอบ (Boundary Value) ค่าปกติ และค่าผิดพลาด