คอมพิวเตอร์เบื้องต้น 2 - ม.1 | การแยกส่วนประกอบและผังงาน

🖥️ คอมพิวเตอร์เบื้องต้น 2

ชั้นมัธยมศึกษาปีที่ 1 | ว20222

การแยกส่วนประกอบและการหารูปแบบของปัญหา | ผังงานและรหัสจำลอง

📊 การแยกส่วนประกอบและการหารูปแบบของปัญหา

🎯 การแยกส่วนประกอบของปัญหา (Problem Decomposition) คือ อะไร?

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

✨ ประโยชน์ของการแยกส่วนประกอบปัญหา

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

🔍 ขั้นตอนการแยกส่วนประกอบของปัญหา

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

📝 ตัวอย่างที่ 1: การทำข้าวผัด

ปัญหาใหญ่: ต้องการทำข้าวผัดทะเล

แยกเป็นส่วนย่อย:

  1. เตรียมวัตถุดิบ (ข้าวสวย, ไข่, ทะเล, ผัก, เครื่องปรุง)
  2. ตั้งกระทะใส่น้ำมัน
  3. ตอกไข่ลงไปผัด
  4. ใส่ข้าวและผัดให้เข้ากัน
  5. ใส่ทะเลและผัก
  6. ปรุงรสด้วยเครื่องปรุง
  7. ตักใส่จาน

📝 ตัวอย่างที่ 2: การเขียนโปรแกรมคำนวณเกรด

ปัญหาใหญ่: เขียนโปรแกรมคำนวณเกรดนักเรียน

แยกเป็นส่วนย่อย:

  1. รับข้อมูลคะแนนจากผู้ใช้
  2. คำนวณคะแนนรวม
  3. คำนวณคะแนนเฉลี่ย
  4. เปรียบเทียบคะแนนเพื่อให้เกรด (A, B, C, D, F)
  5. แสดงผลลัพธ์ออกทางหน้าจอ

📝 ตัวอย่างที่ 3: การจัดงานวันเกิด

ปัญหาใหญ่: จัดงานวันเกิดให้เพื่อน

แยกเป็นส่วนย่อย:

  1. วางแผนงาน (กำหนดวัน เวลา สถานที่)
  2. จัดหาอาหารและเครื่องดื่ม
  3. เตรียมเค้กวันเกิด
  4. ตอกแตกสถานที่
  5. ส่งบัตรเชิญเพื่อนๆ
  6. เตรียมของขวัญ
  7. จัดเกมส์และกิจกรรม

🔎 การหารูปแบบของปัญหา (Pattern Recognition)

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

ประเภทของรูปแบบที่พบบ่อย:

  • รูปแบบที่ซ้ำกัน - มีขั้นตอนที่ทำซ้ำๆ เช่น การวนลูป
  • รูปแบบลำดับ - มีการทำตามลำดับขั้นตอน
  • รูปแบบการเลือก - มีการตัดสินใจเลือกทำสิ่งใดสิ่งหนึ่ง
  • รูปแบบการจัดกลุ่ม - มีข้อมูลที่คล้ายกันและจัดเป็นกลุ่ม

📝 ตัวอย่าง: การหารูปแบบในการคำนวณเลข

ปัญหา: คำนวณผลบวกของเลข 1+2+3+4+5+...+100

รูปแบบที่พบ: การบวกซ้ำๆ หลายครั้ง (รูปแบบที่ซ้ำกัน)

วิธีแก้: ใช้ลูปวนเพื่อบวกเลขทีละตัว หรือใช้สูตร n(n+1)/2

// ใช้ลูปวน ผลรวม = 0 สำหรับ i = 1 ถึง 100 ผลรวม = ผลรวม + i จบลูป

📈 การแสดงขั้นตอนวิธีด้วยผังงาน (Flowchart)

🎨 ผังงาน (Flowchart) คืออะไร?

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

🔷 สัญลักษณ์ที่ใช้ในผังงาน

รูปทรง ชื่อ ความหมาย ตัวอย่างการใช้
เริ่ม/จบ
วงรี (Oval) จุดเริ่มต้นและจุดสิ้นสุด เริ่มต้น, สิ้นสุด
คำสั่ง
สี่เหลี่ยมผืนผ้า คำสั่งหรือกระบวนการ คำนวณ, กำหนดค่า
เงื่อนไข
สี่เหลี่ยมข้าวหลามตัด การตัดสินใจ (ใช่/ไม่ใช่) ถ้า...แล้ว...
▱ รับข้อมูล
สี่เหลี่ยมด้านขนาน รับข้อมูลหรือแสดงผล รับคะแนน, แสดงผล
ลูกศร ทิศทางการทำงาน ไหลจากบนลงล่าง

📋 ขั้นตอนการวาดผังงาน

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

📝 ตัวอย่างที่ 1: ผังงานการหาเลขที่มากกว่า

โจทย์: รับเลข 2 ตัว แล้วบอกว่าเลขไหนมากกว่า

เริ่มต้น
รับค่า A
รับค่า B
A > B ?
ใช่ →
แสดง "A มากกว่า"
← ไม่ใช่
แสดง "B มากกว่า"
สิ้นสุด

📝 ตัวอย่างที่ 2: ผังงานคำนวณเกรด

โจทย์: รับคะแนน แล้วแสดงเกรด (A≥80, B≥70, C≥60, D≥50, F<50)

เริ่มต้น
รับคะแนน
คะแนน ≥ 80?
ใช่ → แสดง "A" → จบ
↓ ไม่ใช่
คะแนน ≥ 70?
ใช่ → แสดง "B" → จบ
↓ ไม่ใช่
คะแนน ≥ 60?
ใช่ → แสดง "C" → จบ
↓ ไม่ใช่
คะแนน ≥ 50?
ใช่ → แสดง "D" → จบ
↓ ไม่ใช่
แสดง "F"
สิ้นสุด

📝 ตัวอย่างที่ 3: ผังงานหาผลรวม 1 ถึง N

โจทย์: หาผลรวมของเลข 1+2+3+...+N

เริ่มต้น
รับค่า N
ผลรวม = 0
i = 1
i ≤ N ?
ใช่ ↓
ผลรวม = ผลรวม + i
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: รหัสจำลองตรวจสอบเลขคู่-คี่

// โปรแกรมตรวจสอบเลขคู่หรือคี่ เริ่มต้น // ประกาศตัวแปร ตัวเลข // รับข้อมูล แสดง "กรุณาใส่ตัวเลข: " รับ ตัวเลข // ตรวจสอบเงื่อนไข ถ้า ตัวเลข % 2 = 0 แล้ว แสดง "เป็นเลขคู่" ไม่เช่นนั้น แสดง "เป็นเลขคี่" จบถ้า จบ

📝 ตัวอย่างที่ 3: รหัสจำลองคำนวณเกรด

// โปรแกรมคำนวณเกรดจากคะแนน เริ่มต้น // ประกาศตัวแปร คะแนน, เกรด // รับข้อมูล แสดง "กรุณาใส่คะแนน (0-100): " รับ คะแนน // ตรวจสอบเงื่อนไขและกำหนดเกรด ถ้า คะแนน ≥ 80 แล้ว เกรด = "A" ไม่เช่นนั้นถ้า คะแนน ≥ 70 แล้ว เกรด = "B" ไม่เช่นนั้นถ้า คะแนน ≥ 60 แล้ว เกรด = "C" ไม่เช่นนั้นถ้า คะแนน ≥ 50 แล้ว เกรด = "D" ไม่เช่นนั้น เกรด = "F" จบถ้า // แสดงผล แสดง "คุณได้เกรด: ", เกรด จบ

📝 ตัวอย่างที่ 4: รหัสจำลองหาผลรวม 1 ถึง N

// โปรแกรมหาผลรวม 1+2+3+...+N เริ่มต้น // ประกาศตัวแปร N, ผลรวม, i // รับข้อมูล แสดง "กรุณาใส่ค่า N: " รับ N // เริ่มต้นค่า ผลรวม = 0 // วนลูปบวกเลข สำหรับ i = 1 ถึง N ทำ ผลรวม = ผลรวม + i จบลูป // แสดงผล แสดง "ผลรวม = ", ผลรวม จบ

📝 ตัวอย่างที่ 5: รหัสจำลองหาค่าสูงสุด

// โปรแกรมหาค่าสูงสุดจาก 3 ตัวเลข เริ่มต้น // ประกาศตัวแปร A, B, C, สูงสุด // รับข้อมูล แสดง "กรุณาใส่ตัวเลขที่ 1: " รับ A แสดง "กรุณาใส่ตัวเลขที่ 2: " รับ B แสดง "กรุณาใส่ตัวเลขที่ 3: " รับ C // หาค่าสูงสุด สูงสุด = A ถ้า B > สูงสุด แล้ว สูงสุด = B จบถ้า ถ้า C > สูงสุด แล้ว สูงสุด = C จบถ้า // แสดงผล แสดง "ค่าสูงสุด = ", สูงสุด จบ

📝 แบบทดสอบท้ายคาบ

🎲 ระบบสุ่มคำถาม

ครูสามารถป้อนจำนวนข้อที่ต้องการและระบบจะสุ่มคำถามให้

💡 คลังคำถามทั้งหมด 10 ข้อ

ระบบจะสุ่มคำถามจากคลังข้อสอบด้านล่างตามจำนวนที่กำหนด

👥 กิจกรรมกลุ่ม

🎯

กิจกรรมที่ 1: แยกส่วนประกอบปัญหา "การทำแซนด์วิช"

จำนวนคน: 4-5 คนต่อกลุ่ม

เวลา: 15 นาที

📋 วัตถุประสงค์:

  • ฝึกทักษะการแยกปัญหาใหญ่เป็นปัญหาย่อย
  • ฝึกการทำงานร่วมกันเป็นทีม
  • เข้าใจขั้นตอนการคิดเชิงระบบ

🎮 วิธีการ:

  1. แบ่งนักเรียนเป็นกลุ่มย่อย
  2. ให้แต่ละกลุ่มระดมสมองว่าการทำแซนด์วิชมีขั้นตอนอะไรบ้าง
  3. เขียนขั้นตอนทั้งหมดลงกระดาษ A3
  4. จัดเรียงขั้นตอนให้เป็นลำดับที่ถูกต้อง
  5. ตัวแทนกลุ่มนำเสนอผลงานหน้าชั้นเรียน (3 นาที/กลุ่ม)
  6. ครูและเพื่อนๆ ให้ความเห็นและข้อเสนอแนะ

🏆 เกณฑ์การให้คะแนน:

  • ความครบถ้วนของขั้นตอน (5 คะแนน)
  • ความถูกต้องของลำดับ (5 คะแนน)
  • การทำงานร่วมกันเป็นทีม (5 คะแนน)
  • การนำเสนอ (5 คะแนน)
📊

กิจกรรมที่ 2: วาดผังงาน "เกมทายตัวเลข"

จำนวนคน: 4-5 คนต่อกลุ่ม

เวลา: 20 นาที

📋 โจทย์:

คอมพิวเตอร์สุ่มตัวเลข 1-100 ผู้เล่นทายตัวเลข ถ้าทายถูกจบเกม ถ้าทายมากเกินไป บอกว่า "มากเกินไป" ถ้าทายน้อยเกินไป บอกว่า "น้อยเกินไป" แล้วให้ทายใหม่

🎮 วิธีการ:

  1. แต่ละกลุ่มร่วมกันวาดผังงานตามโจทย์
  2. ใช้สัญลักษณ์ที่ถูกต้องตามมาตรฐาน
  3. ตรวจสอบว่าผังงานทำงานได้ถูกต้อง
  4. นำเสนอผลงานและอธิบายวิธีการทำงาน
  5. กลุ่มอื่นๆ ถามและให้ข้อเสนอแนะ

🏆 เกณฑ์การให้คะแนน:

  • ความถูกต้องของสัญลักษณ์ (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 = น้ำหนัก / (ส่วนสูงเมตร)²

🎮 วิธีการ:

  1. แบ่งหน้าที่ในกลุ่ม: นักวิเคราะห์, นักเขียน, นักทดสอบ, ผู้นำเสนอ
  2. วิเคราะห์ปัญหาและแยกเป็นขั้นตอนย่อย
  3. ร่วมกันเขียนรหัสจำลองบนกระดาษ A3
  4. ทดสอบตรรกะด้วยการแทนค่าจริง (Dry Run)
  5. แก้ไขข้อผิดพลาดถ้ามี
  6. นำเสนอพร้อมอธิบายการทำงาน

📝 ตัวอย่างการทดสอบ:

  • น้ำหนัก = 60 กก., ส่วนสูง = 170 ซม. → BMI = 20.76 (ปกติ)
  • น้ำหนัก = 45 กก., ส่วนสูง = 160 ซม. → BMI = 17.58 (ผอม)

🏆 เกณฑ์การให้คะแนน:

  • ความถูกต้องของโครงสร้างรหัส (6 คะแนน)
  • ความสมบูรณ์ของเงื่อนไข (6 คะแนน)
  • การทดสอบและแก้ไข (4 คะแนน)
  • การนำเสนอและอธิบาย (4 คะแนน)
🎨

กิจกรรมที่ 4: แข่งขันออกแบบอัลกอริทึม

จำนวนคน: 4-5 คนต่อกลุ่ม

เวลา: 30 นาที

📋 ภารกิจ:

แต่ละกลุ่มเลือกโจทย์ปัญหา 1 ข้อ แล้วออกแบบวิธีแก้ปัญหาโดยนำเสนอทั้ง 3 รูปแบบ:
1️⃣ การแยกส่วนประกอบปัญหา
2️⃣ ผังงาน
3️⃣ รหัสจำลอง

🎯 โจทย์ให้เลือก:

  1. โปรแกรมตู้ ATM ถอนเงิน
  2. โปรแกรมคำนวณค่าไฟฟ้า
  3. โปรแกรมเกมเป่ายิ้งฉุบ
  4. โปรแกรมจองที่นั่งภาพยนตร์
  5. โปรแกรมสั่งอาหารออนไลน์

🎮 กติกาการแข่งขัน:

  • เวลาเตรียม 20 นาที
  • นำเสนอกลุ่มละ 5 นาที
  • กลุ่มอื่นๆ ถามคำถามได้ 2 นาที
  • ครูและเพื่อนๆ ร่วมกันโหวตให้คะแนน

🏆 เกณฑ์การให้คะแนน (รวม 30 คะแนน):

  • ความครบถ้วนและถูกต้อง (10 คะแนน)
  • ความคิดสร้างสรรค์ (8 คะแนน)
  • การนำเสนอและสื่อสาร (7 คะแนน)
  • การตอบคำถาม (5 คะแนน)

🎁 รางวัล:

กลุ่มชนะเลิศจะได้รับคะแนนพิเศษ +5 คะแนน และประกาศนียบัตร

💡 คำแนะนำสำหรับครู

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