🖥️ คอมพิวเตอร์เบื้องต้น 2
ชั้นมัธยมศึกษาปีที่ 1 | ว20222
การแยกส่วนประกอบและการหารูปแบบของปัญหา | ผังงานและรหัสจำลอง
📊 การแยกส่วนประกอบและการหารูปแบบของปัญหา
🎯 การแยกส่วนประกอบของปัญหา (Problem Decomposition) คือ อะไร?
การแยกส่วนประกอบของปัญหา คือ กระบวนการแบ่งปัญหาใหญ่ๆ ที่ซับซ้อน ออกเป็นปัญหาย่อยๆ ที่เล็กลงและง่ายต่อการแก้ไข เปรียบเสมือนการแบ่งงานใหญ่ออกเป็นงานเล็กๆ หลายชิ้น แล้วค่อยๆ แก้ไขทีละชิ้น จนสามารถแก้ปัญหาทั้งหมดได้
✨ ประโยชน์ของการแยกส่วนประกอบปัญหา
- ✅ ทำให้ปัญหาที่ซับซ้อนกลายเป็นเรื่องง่ายขึ้น
- ✅ ง่ายต่อการวางแผนและจัดลำดับความสำคัญ
- ✅ สามารถแบ่งงานให้คนหลายคนทำพร้อมกันได้
- ✅ ช่วยให้มองเห็นขั้นตอนการทำงานชัดเจน
- ✅ ลดโอกาสที่จะเกิดข้อผิดพลาด
🔍 ขั้นตอนการแยกส่วนประกอบของปัญหา
- ทำความเข้าใจปัญหา: อ่านและทำความเข้าใจปัญหาให้ชัดเจนว่าต้องการผลลัพธ์อะไร
- แบ่งปัญหาออกเป็นส่วนย่อย: แยกปัญหาใหญ่ออกเป็นปัญหาย่อยๆ ที่เล็กลง
- วิเคราะห์แต่ละส่วนย่อย: พิจารณาว่าแต่ละส่วนต้องทำอะไรบ้าง
- หาความสัมพันธ์ระหว่างส่วน: ดูว่าแต่ละส่วนเชื่อมโยงกันอย่างไร
- จัดลำดับขั้นตอน: เรียงลำดับว่าต้องทำส่วนไหนก่อน-หลัง
- แก้ไขทีละส่วน: เริ่มแก้ปัญหาทีละส่วนย่อย
- รวมผลลัพธ์: นำผลจากแต่ละส่วนมารวมเป็นคำตอบสมบูรณ์
📝 ตัวอย่างที่ 1: การทำข้าวผัด
ปัญหาใหญ่: ต้องการทำข้าวผัดทะเล
แยกเป็นส่วนย่อย:
- เตรียมวัตถุดิบ (ข้าวสวย, ไข่, ทะเล, ผัก, เครื่องปรุง)
- ตั้งกระทะใส่น้ำมัน
- ตอกไข่ลงไปผัด
- ใส่ข้าวและผัดให้เข้ากัน
- ใส่ทะเลและผัก
- ปรุงรสด้วยเครื่องปรุง
- ตักใส่จาน
📝 ตัวอย่างที่ 2: การเขียนโปรแกรมคำนวณเกรด
ปัญหาใหญ่: เขียนโปรแกรมคำนวณเกรดนักเรียน
แยกเป็นส่วนย่อย:
- รับข้อมูลคะแนนจากผู้ใช้
- คำนวณคะแนนรวม
- คำนวณคะแนนเฉลี่ย
- เปรียบเทียบคะแนนเพื่อให้เกรด (A, B, C, D, F)
- แสดงผลลัพธ์ออกทางหน้าจอ
📝 ตัวอย่างที่ 3: การจัดงานวันเกิด
ปัญหาใหญ่: จัดงานวันเกิดให้เพื่อน
แยกเป็นส่วนย่อย:
- วางแผนงาน (กำหนดวัน เวลา สถานที่)
- จัดหาอาหารและเครื่องดื่ม
- เตรียมเค้กวันเกิด
- ตอกแตกสถานที่
- ส่งบัตรเชิญเพื่อนๆ
- เตรียมของขวัญ
- จัดเกมส์และกิจกรรม
🔎 การหารูปแบบของปัญหา (Pattern Recognition)
การหารูปแบบของปัญหา คือ การมองหาความเหมือนหรือรูปแบบที่ซ้ำกันในปัญหา เพื่อนำวิธีการแก้ปัญหาที่เคยใช้มาประยุกต์ใช้กับปัญหาใหม่ได้ ช่วยให้แก้ปัญหาได้เร็วและมีประสิทธิภาพมากขึ้น
ประเภทของรูปแบบที่พบบ่อย:
- รูปแบบที่ซ้ำกัน - มีขั้นตอนที่ทำซ้ำๆ เช่น การวนลูป
- รูปแบบลำดับ - มีการทำตามลำดับขั้นตอน
- รูปแบบการเลือก - มีการตัดสินใจเลือกทำสิ่งใดสิ่งหนึ่ง
- รูปแบบการจัดกลุ่ม - มีข้อมูลที่คล้ายกันและจัดเป็นกลุ่ม
📝 ตัวอย่าง: การหารูปแบบในการคำนวณเลข
ปัญหา: คำนวณผลบวกของเลข 1+2+3+4+5+...+100
รูปแบบที่พบ: การบวกซ้ำๆ หลายครั้ง (รูปแบบที่ซ้ำกัน)
วิธีแก้: ใช้ลูปวนเพื่อบวกเลขทีละตัว หรือใช้สูตร n(n+1)/2
📈 การแสดงขั้นตอนวิธีด้วยผังงาน (Flowchart)
🎨 ผังงาน (Flowchart) คืออะไร?
ผังงาน คือ แผนภาพที่ใช้รูปทรงต่างๆ และเส้นลูกศรแสดงลำดับขั้นตอนการทำงาน ช่วยให้เห็นภาพรวมของกระบวนการทำงานได้อย่างชัดเจน เข้าใจง่าย และสามารถสื่อสารกับผู้อื่นได้ดี
🔷 สัญลักษณ์ที่ใช้ในผังงาน
| รูปทรง | ชื่อ | ความหมาย | ตัวอย่างการใช้ |
|---|---|---|---|
เริ่ม/จบ |
วงรี (Oval) | จุดเริ่มต้นและจุดสิ้นสุด | เริ่มต้น, สิ้นสุด |
คำสั่ง |
สี่เหลี่ยมผืนผ้า | คำสั่งหรือกระบวนการ | คำนวณ, กำหนดค่า |
เงื่อนไข |
สี่เหลี่ยมข้าวหลามตัด | การตัดสินใจ (ใช่/ไม่ใช่) | ถ้า...แล้ว... |
▱ รับข้อมูล |
สี่เหลี่ยมด้านขนาน | รับข้อมูลหรือแสดงผล | รับคะแนน, แสดงผล |
| → | ลูกศร | ทิศทางการทำงาน | ไหลจากบนลงล่าง |
📋 ขั้นตอนการวาดผังงาน
- กำหนดปัญหาและเป้าหมายที่ต้องการแก้ไข
- แยกขั้นตอนการทำงานออกเป็นส่วนย่อยๆ
- เลือกสัญลักษณ์ที่เหมาะสมกับแต่ละขั้นตอน
- เริ่มวาดจากบนลงล่าง โดยเริ่มจาก "เริ่มต้น"
- ใช้ลูกศรเชื่อมต่อแต่ละขั้นตอน
- ตรวจสอบความถูกต้องและครบถ้วนของขั้นตอน
- จบด้วย "สิ้นสุด"
📝 ตัวอย่างที่ 1: ผังงานการหาเลขที่มากกว่า
โจทย์: รับเลข 2 ตัว แล้วบอกว่าเลขไหนมากกว่า
📝 ตัวอย่างที่ 2: ผังงานคำนวณเกรด
โจทย์: รับคะแนน แล้วแสดงเกรด (A≥80, B≥70, C≥60, D≥50, F<50)
📝 ตัวอย่างที่ 3: ผังงานหาผลรวม 1 ถึง N
โจทย์: หาผลรวมของเลข 1+2+3+...+N
i = 1
i = i + 1
💻 รหัสจำลอง (Pseudocode)
📝 รหัสจำลอง (Pseudocode) คืออะไร?
รหัสจำลอง คือ การเขียนขั้นตอนวิธีแก้ปัญหาด้วยภาษาที่เข้าใจง่าย ใกล้เคียงกับภาษาพูดของคนทั่วไป แต่มีโครงสร้างคล้ายกับภาษาโปรแกรม ทำให้สามารถเขียนโปรแกรมจริงได้ง่ายขึ้น โดยไม่ต้องกังวลเรื่องไวยากรณ์ที่ซับซ้อน
✨ จุดเด่นของรหัสจำลอง
- ✅ เข้าใจง่าย ไม่ยุ่งยากกับไวยากรณ์
- ✅ ช่วยวางแผนก่อนเขียนโปรแกรมจริง
- ✅ สื่อสารกับคนอื่นได้ดี
- ✅ แปลงเป็นโปรแกรมได้ทุกภาษา
- ✅ ช่วยหาข้อผิดพลาดตรรกะได้ง่าย
📚 โครงสร้างพื้นฐานของรหัสจำลอง
| โครงสร้าง | รูปแบบ | ตัวอย่าง |
|---|---|---|
| การกำหนดค่า | ตัวแปร = ค่า | คะแนน = 85 |
| รับข้อมูล | รับ ตัวแปร | รับ ชื่อ |
| แสดงผล | แสดง ข้อความ | แสดง "สวัสดี" |
| เงื่อนไข | ถ้า...แล้ว...ไม่เช่นนั้น... | ถ้า คะแนน ≥ 50 แล้ว แสดง "ผ่าน" |
| วนซ้ำ | สำหรับ/ขณะที่ | สำหรับ i = 1 ถึง 10 |
🔢 ตัวดำเนินการที่ใช้ในรหัสจำลอง
| ประเภท | สัญลักษณ์ | ความหมาย | ตัวอย่าง |
|---|---|---|---|
| ทางคณิตศาสตร์ | + | บวก | a + b |
| - | ลบ | a - b | |
| * | คูณ | a * b | |
| / | หาร | a / b | |
| % | หารเอาเศษ | a % b | |
| การเปรียบเทียบ | = | เท่ากับ | a = b |
| ≠ | ไม่เท่ากับ | a ≠ b | |
| > | มากกว่า | a > b | |
| < | น้อยกว่า | a < b | |
| ≥ | มากกว่าหรือเท่ากับ | a ≥ b | |
| ≤ | น้อยกว่าหรือเท่ากับ | a ≤ b | |
| ตรรกะ | และ (AND) | ทั้งสองเงื่อนไขเป็นจริง | a > 0 และ b > 0 |
| หรือ (OR) | เงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง | a = 0 หรือ b = 0 | |
| ไม่ (NOT) | ตรงข้ามกับเงื่อนไข | ไม่ (a > 0) |
📝 ตัวอย่างที่ 1: รหัสจำลองหาพื้นที่สี่เหลี่ยมผืนผ้า
📝 ตัวอย่างที่ 2: รหัสจำลองตรวจสอบเลขคู่-คี่
📝 ตัวอย่างที่ 3: รหัสจำลองคำนวณเกรด
📝 ตัวอย่างที่ 4: รหัสจำลองหาผลรวม 1 ถึง N
📝 ตัวอย่างที่ 5: รหัสจำลองหาค่าสูงสุด
📝 แบบทดสอบท้ายคาบ
🎲 ระบบสุ่มคำถาม
ครูสามารถป้อนจำนวนข้อที่ต้องการและระบบจะสุ่มคำถามให้
💡 คลังคำถามทั้งหมด 10 ข้อ
ระบบจะสุ่มคำถามจากคลังข้อสอบด้านล่างตามจำนวนที่กำหนด
👥 กิจกรรมกลุ่ม
กิจกรรมที่ 1: แยกส่วนประกอบปัญหา "การทำแซนด์วิช"
จำนวนคน: 4-5 คนต่อกลุ่ม
เวลา: 15 นาที
📋 วัตถุประสงค์:
- ฝึกทักษะการแยกปัญหาใหญ่เป็นปัญหาย่อย
- ฝึกการทำงานร่วมกันเป็นทีม
- เข้าใจขั้นตอนการคิดเชิงระบบ
🎮 วิธีการ:
- แบ่งนักเรียนเป็นกลุ่มย่อย
- ให้แต่ละกลุ่มระดมสมองว่าการทำแซนด์วิชมีขั้นตอนอะไรบ้าง
- เขียนขั้นตอนทั้งหมดลงกระดาษ A3
- จัดเรียงขั้นตอนให้เป็นลำดับที่ถูกต้อง
- ตัวแทนกลุ่มนำเสนอผลงานหน้าชั้นเรียน (3 นาที/กลุ่ม)
- ครูและเพื่อนๆ ให้ความเห็นและข้อเสนอแนะ
🏆 เกณฑ์การให้คะแนน:
- ความครบถ้วนของขั้นตอน (5 คะแนน)
- ความถูกต้องของลำดับ (5 คะแนน)
- การทำงานร่วมกันเป็นทีม (5 คะแนน)
- การนำเสนอ (5 คะแนน)
กิจกรรมที่ 2: วาดผังงาน "เกมทายตัวเลข"
จำนวนคน: 4-5 คนต่อกลุ่ม
เวลา: 20 นาที
📋 โจทย์:
คอมพิวเตอร์สุ่มตัวเลข 1-100 ผู้เล่นทายตัวเลข ถ้าทายถูกจบเกม ถ้าทายมากเกินไป บอกว่า "มากเกินไป" ถ้าทายน้อยเกินไป บอกว่า "น้อยเกินไป" แล้วให้ทายใหม่
🎮 วิธีการ:
- แต่ละกลุ่มร่วมกันวาดผังงานตามโจทย์
- ใช้สัญลักษณ์ที่ถูกต้องตามมาตรฐาน
- ตรวจสอบว่าผังงานทำงานได้ถูกต้อง
- นำเสนอผลงานและอธิบายวิธีการทำงาน
- กลุ่มอื่นๆ ถามและให้ข้อเสนอแนะ
🏆 เกณฑ์การให้คะแนน:
- ความถูกต้องของสัญลักษณ์ (5 คะแนน)
- ความสมบูรณ์ของขั้นตอน (5 คะแนน)
- ตรรกะการทำงาน (5 คะแนน)
- ความสวยงามและเป็นระเบียบ (5 คะแนน)
กิจกรรมที่ 3: เขียนรหัสจำลอง "โปรแกรมคำนวณ BMI"
จำนวนคน: 4-5 คนต่อกลุ่ม
เวลา: 25 นาที
📋 โจทย์:
เขียนรหัสจำลองโปรแกรมคำนวณ BMI (Body Mass Index) โดยรับน้ำหนัก (กก.) และส่วนสูง (ซม.)
แล้วคำนวณและบอกผลว่าอยู่ในเกณฑ์ไหน: ผอม (BMI < 18.5), ปกติ (18.5-24.9),
อ้วน (25-29.9), อ้วนมาก (≥ 30)
สูตร: BMI = น้ำหนัก / (ส่วนสูงเมตร)²
🎮 วิธีการ:
- แบ่งหน้าที่ในกลุ่ม: นักวิเคราะห์, นักเขียน, นักทดสอบ, ผู้นำเสนอ
- วิเคราะห์ปัญหาและแยกเป็นขั้นตอนย่อย
- ร่วมกันเขียนรหัสจำลองบนกระดาษ A3
- ทดสอบตรรกะด้วยการแทนค่าจริง (Dry Run)
- แก้ไขข้อผิดพลาดถ้ามี
- นำเสนอพร้อมอธิบายการทำงาน
📝 ตัวอย่างการทดสอบ:
- น้ำหนัก = 60 กก., ส่วนสูง = 170 ซม. → BMI = 20.76 (ปกติ)
- น้ำหนัก = 45 กก., ส่วนสูง = 160 ซม. → BMI = 17.58 (ผอม)
🏆 เกณฑ์การให้คะแนน:
- ความถูกต้องของโครงสร้างรหัส (6 คะแนน)
- ความสมบูรณ์ของเงื่อนไข (6 คะแนน)
- การทดสอบและแก้ไข (4 คะแนน)
- การนำเสนอและอธิบาย (4 คะแนน)
กิจกรรมที่ 4: แข่งขันออกแบบอัลกอริทึม
จำนวนคน: 4-5 คนต่อกลุ่ม
เวลา: 30 นาที
📋 ภารกิจ:
แต่ละกลุ่มเลือกโจทย์ปัญหา 1 ข้อ แล้วออกแบบวิธีแก้ปัญหาโดยนำเสนอทั้ง 3 รูปแบบ:
1️⃣ การแยกส่วนประกอบปัญหา
2️⃣ ผังงาน
3️⃣ รหัสจำลอง
🎯 โจทย์ให้เลือก:
- โปรแกรมตู้ ATM ถอนเงิน
- โปรแกรมคำนวณค่าไฟฟ้า
- โปรแกรมเกมเป่ายิ้งฉุบ
- โปรแกรมจองที่นั่งภาพยนตร์
- โปรแกรมสั่งอาหารออนไลน์
🎮 กติกาการแข่งขัน:
- เวลาเตรียม 20 นาที
- นำเสนอกลุ่มละ 5 นาที
- กลุ่มอื่นๆ ถามคำถามได้ 2 นาที
- ครูและเพื่อนๆ ร่วมกันโหวตให้คะแนน
🏆 เกณฑ์การให้คะแนน (รวม 30 คะแนน):
- ความครบถ้วนและถูกต้อง (10 คะแนน)
- ความคิดสร้างสรรค์ (8 คะแนน)
- การนำเสนอและสื่อสาร (7 คะแนน)
- การตอบคำถาม (5 คะแนน)
🎁 รางวัล:
กลุ่มชนะเลิศจะได้รับคะแนนพิเศษ +5 คะแนน และประกาศนียบัตร
💡 คำแนะนำสำหรับครู
- 🎯 เน้นให้นักเรียนทุกคนมีส่วนร่วม แบ่งหน้าที่ชัดเจน
- 🎯 เดินดูแต่ละกลุ่มและให้คำปรึกษาเมื่อนักเรียนติดขัด
- 🎯 ส่งเสริมให้นักเรียนคิดวิเคราะห์เอง อย่าเร่งให้คำตอบ
- 🎯 ให้คำชมเชยเมื่อนักเรียนทำได้ดี สร้างแรงจูงใจ
- 🎯 สรุปบทเรียนร่วมกันหลังจบกิจกรรม
- 🎯 ถ่ายภาพผลงานเพื่อเก็บเป็นแฟ้มสะสมผลงาน