ชุดที่ 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) ค่าปกติ และค่าผิดพลาด