Module 2 — ทบทวน (Review)

Computational Thinking — แบบฝึกทบทวน

ทบทวน Module 2 📝

  • Multiple Choice — เลือกคำตอบที่ถูก แล้วกดถัดไปเพื่อดูเฉลย
  • จับคู่แนวคิด → Python — CT ใช้จริงตรงไหนในโค้ด
  • ชวนคิด — ลองแยกส่วน / เรียงลำดับด้วยตัวเอง

. . .

Note

ครอบคลุม: 4 เสาหลัก · แยกส่วน · หารูปแบบ · นามธรรม · อัลกอริทึม · CT → Python ทบทวนเนื้อหาเต็มได้ที่ Module 2 👈

Multiple Choice 🔘

เลือกคำตอบที่ถูกต้อง — เฉลยจะปรากฏเมื่อกดถัดไป

คำถาม #1

4 เสาหลัก ของแนวคิดเชิงคำนวณ (Computational Thinking) คือข้อใด?

A. แยกส่วน · หารูปแบบ · นามธรรม · อัลกอริทึม
B. แยกส่วน · หารูปแบบ · อัลกอริทึม · ดีบัก
C. นิยามปัญหา · หารูปแบบ · นามธรรม · ทดสอบผล
D. แยกส่วน · เขียนโค้ด · นามธรรม · วนซ้ำ

Tip

ตอบ: Aแยกส่วน → หารูปแบบ → นามธรรม → อัลกอริทึม (ในงานจริงทำงานร่วมกัน)

ตัวหนาในข้ออื่นเป็นคำที่ฟังดูใกล้เคียงแต่ ไม่ใช่เสาหลัก: ดีบัก · นิยามปัญหา · ทดสอบผล · เขียนโค้ด · วนซ้ำ — เป็นขั้นตอน/กิจกรรมของการเขียนโปรแกรม ไม่ใช่ 4 เสาหลักของ CT

คำถาม #2

การแตกปัญหาใหญ่ให้เป็นปัญหาย่อย ๆ ที่จัดการได้ คือเสาหลักใด?

A. นามธรรม (Abstraction)
B. การแยกส่วน (Decomposition)
C. การหารูปแบบ (Pattern recognition)

Tip

ตอบ: Bการแยกส่วน = แบ่งแล้วพิชิต (divide and conquer) แต่ละส่วนแก้ทีละส่วน/มอบหมายได้

คำถาม #3

การมองหาความซ้ำ/ความสม่ำเสมอ เพื่อใช้วิธีแก้เดิมซ้ำ คือเสาหลักใด?

A. การหารูปแบบ (Pattern Recognition)
B. อัลกอริทึม (Algorithm)
C. การแยกส่วน (Decomposition)

Tip

ตอบ: A — เจอ รูปแบบ แล้วแก้ครั้งเดียว นำไปใช้กับกรณีอื่นได้อีกมากมาย

คำถาม #4: ชวนคิด

นามธรรม (Abstraction) หมายถึงอะไร?

A. เพิ่มรายละเอียดให้ครบทุกอย่าง
B. กรองรายละเอียดที่ไม่จำเป็นออก เหลือเฉพาะสิ่งที่ใช้แก้ปัญหา
C. แบ่งงานให้หลายคน

Important

ตอบ: B — นามธรรมคือการรู้ว่า “ตอนนี้ยังไม่ต้องรู้อะไรบ้าง” เช่น แผนที่รถไฟฟ้าตัดตึก/ต้นไม้ออก เหลือแค่เส้นทาง

คำถาม #5

อัลกอริทึม (Algorithm) เปรียบได้กับข้อใด?

A. รายการซื้อของในตลาด (หยิบข้อไหนก่อนก็ได้)
B. สูตรอาหารที่ทำตามทีละขั้นแล้วได้ผลเหมือนเดิมทุกครั้ง
C. เมนูอาหารในร้าน (รายการให้เลือกสั่ง)
D. แผนที่เมืองที่บอกว่าอะไรอยู่ตรงไหน

Tip

ตอบ: B — อัลกอริทึมคือ ขั้นตอนที่เรียงลำดับ ทำตามแล้วได้ผลเหมือนเดิม — ลำดับสำคัญ สลับขั้นตอนผลลัพธ์เปลี่ยน

ข้ออื่นเป็น “รายการ/ภาพแทน” ที่ ไม่มีลำดับการทำงาน: A เป็น ลิสต์ (หยิบข้อไหนก่อนก็ได้) · C เป็น ตัวเลือก · D เป็น การแทนข้อมูล (นามธรรม) — ไม่ใช่ขั้นตอนที่ทำตามทีละสเต็ป

คำถาม #6: ชวนคิด

โจทย์ “ชงชา”: 1.ต้มน้ำ 2.ใส่ชา 3.รินน้ำร้อน 4.รอ 3 นาที — ถ้าสลับขั้นที่ 3 มาก่อนขั้นที่ 1 จะเกิดอะไร?

A. ได้ผลเหมือนเดิม — ชาออกมาเหมือนกัน
B. ผลลัพธ์เปลี่ยน — รินน้ำเย็นลงชา
C. ขึ้นอยู่กับว่าใช้ชาถุงหรือชาใบ

Important

ตอบ: B — นี่คือหัวใจของ Sequence ในการเขียนโปรแกรม: ลำดับของคำสั่งมีผลต่อผลลัพธ์

คำถาม #7

แนวคิดเชิงคำนวณ (CT) ใช้ได้กับอะไรบ้าง?

A. เฉพาะการเขียนโปรแกรมเท่านั้น
B. เฉพาะสาขาที่ต้องใช้คอมพิวเตอร์และคณิตศาสตร์
C. ทุกสาขาวิชา เป็นวิธีคิดแก้ปัญหาอย่างเป็นระบบ
D. เฉพาะงานที่มีข้อมูลตัวเลขให้คำนวณ

Tip

ตอบ: C — CT เป็นวิธีคิดอย่างเป็นระบบ ใช้แก้ปัญหาได้ทุกศาสตร์ (ประวัติศาสตร์ ดนตรี การแพทย์ ฯลฯ) ไม่จำกัดว่าต้องมีคอมพิวเตอร์หรือตัวเลข · Python เป็นแค่เครื่องมือที่สั่งให้คอมพิวเตอร์ทำตาม

A/B/D จำกัดขอบเขตแคบเกินไป — คำว่า “คำนวณ” ใน CT หมายถึงการคิดเป็นขั้นตอน ไม่ใช่การคิดเลข

จับคู่แนวคิด → Python 🐍

CT แต่ละเสาหลัก กลายเป็นเครื่องมืออะไรใน Python

คำถาม #8

🪓 การแยกส่วน (แยกโปรแกรมใหญ่เป็นส่วนย่อย ๆ) กลายเป็นอะไรใน Python?

A. if-else
B. ฟังก์ชัน (function)
C. ตัวแปร

Tip

ตอบ: Bฟังก์ชัน (Module 9) แยกงานใหญ่ให้เป็นโปรแกรมย่อยที่เรียกใช้ซ้ำได้

คำถาม #9

🔁 การหารูปแบบ (สั่งงานซ้ำ ๆ) กลายเป็นอะไรใน Python?

A. loop (for, while) และ list comprehension
B. ตัวแปร
C. print()

Tip

ตอบ: A — งานที่ทำซ้ำ (action เดิม ข้อมูลเปลี่ยน) → ใช้ loop (Module 6–7) และ list comprehension (Module 10)

คำถาม #10: ชวนคิด

📝 อัลกอริทึม ที่มี “จุดตัดสินใจ” (เช่น ถ้าอายุ ≥ 70 …) เขียนใน Python ด้วยอะไร?

A. for loop
B. if-else (เงื่อนไข)
C. input()

Important

ตอบ: B — จุดตัดสินใจ (decision gate) = เงื่อนไข if-else (Module 5) · รูปแบบ input → process → decision → output

ทำนายผล #11: ชวนคิด

โปรแกรมนี้ใช้ทั้ง 4 เสาหลัก — จะพิมพ์อะไร?

scores = [55, 82, 47]

def grade(score):
    if score >= 50:
        return "ผ่าน"
    else:
        return "ตก"

for s in scores:
    print(s, "→", grade(s))

Tip

ผลลัพธ์:

55 → ผ่าน
82 → ผ่าน
47 → ตก

🎯 ตัวแปร (list) · 🪓 ฟังก์ชัน grade · 📝 if-else · 🔁 for loop — ครบทั้ง 4 เสาหลัก

ชวนคิด: ลองทำเอง 🧠

ไม่มีคำตอบตายตัว — ลองคิดแล้วเทียบกับตัวอย่าง

ชวนคิด #12

คิดก่อน: ถ้าต้องเขียนโปรแกรมคำนวณ BMI จงระบุ input / process / output (การแยกส่วนแบบ input-process-output)

ดูตัวอย่างคำตอบ
  • Inputheight (ส่วนสูง), weight (น้ำหนัก)
  • Processbmi = weight / height**2
  • Output — แสดงค่า bmi

พอเห็นโครงนี้ ก็เขียนเป็น Python ได้ทันที: height = float(input()) … 👍

ชวนคิด #13

คิดก่อน: โจทย์ “เช็กคะแนนนักศึกษา 200 คน” — เสาหลักใดช่วยได้ และควรใช้เครื่องมือ Python อะไร?

ดูตัวอย่างคำตอบ
  • หารูปแบบ (Pattern) — มี action เดิม (เช็กคะแนน) แต่ ข้อมูลเปลี่ยน ไปทีละคน
  • แทนที่จะเขียน print 200 บรรทัด → ใช้ for loop วนทำซ้ำ
  • ถ้าการเช็กซับซ้อน ก็ แยกส่วน เป็นฟังก์ชัน แล้วเรียกใช้ในลูป

Engineering Application 🔧

ใช้แนวคิดเชิงคำนวณกับโจทย์วิศวกรรมจริง

Engineering #14: ชวนคิด

คิดก่อน: ออกแบบระบบเตือนน้ำท่วมในเมือง — ใช้ 4 เสาหลัก ช่วยวางแผนอย่างไร?

ดูตัวอย่างคำตอบ
  • 🪓 แยกส่วน — เซนเซอร์วัดระดับน้ำ · ระบบส่งข้อมูล · ตัดสินใจเตือน · แจ้งประชาชน
  • 🔁 หารูปแบบ — อ่านค่าเซนเซอร์ ซ้ำ ๆ ทุกจุด (action เดิม ข้อมูลเปลี่ยน) → loop
  • 🎯 นามธรรม — เก็บเฉพาะ ระดับน้ำ + เวลา + ตำแหน่ง (ไม่สนสีน้ำ/ยี่ห้อเซนเซอร์)
  • 📝 อัลกอริทึมถ้า ระดับน้ำ ≥ เกณฑ์ แล้ว ส่งเตือน (decision gate)
รูปแบบ input → process → decision → output เขียนเป็น Python ได้ตรง ๆ

Engineering #15: ชวนคิด

คิดก่อน: ออกแบบระบบจอดรถอัจฉริยะ (แสดงจำนวนช่องที่ยังว่าง) — ใช้ 4 เสาหลักอย่างไร?

ดูตัวอย่างคำตอบ
  • 🪓 แยกส่วน — เซนเซอร์ตรวจแต่ละช่อง · นับช่องว่าง · แสดงผลหน้าจอ · นำทางเข้าช่อง
  • 🔁 หารูปแบบ — ตรวจทุกช่องด้วย action เดิม (ว่าง/ไม่ว่าง) → loop
  • 🎯 นามธรรม — เก็บแค่ สถานะช่อง (ว่าง/เต็ม) ไม่สนสี/รุ่นรถ
  • 📝 อัลกอริทึมถ้า ช่องว่าง แล้ว +1 ตัวนับ → แสดงจำนวนช่องว่าง

จบการทบทวน 🎉

ทบทวนเนื้อหาเต็มได้ที่ Module 2 · ไปต่อ Module 3a