มาถึงเสาหลักที่ 3 กันแล้วครับ! หลังจากที่เราแยกปัญหาเป็นส่วนๆ และหารูปแบบที่เหมือนกันได้แล้ว ขั้นตอนต่อไปคือการ "คัดกรองข้อมูล" ครับ เพราะในชีวิตจริง ข้อมูลบางอย่างก็มีเยอะเกินไปจนทำให้เราปวดหัว โปรแกรมเมอร์เก่งๆ จึงต้องมีทักษะในการเลือกดูเฉพาะ "แก่นสำคัญ" ครับ!
🧠 1. Abstraction คืออะไร?
แนวคิดเชิงนามธรรม (Abstraction) คือ การมุ่งเน้นความสำคัญไปที่ "ข้อมูลหลัก" ที่จำเป็นต่อการแก้ปัญหา และ "ตัดรายละเอียดที่ไม่จำเป็น" ทิ้งไปครับ พูดง่ายๆ คือการมองภาพรวมให้เรียบง่ายที่สุด เพื่อไม่ให้เราสับสนกับรายละเอียดปลีกย่อยนั่นเอง
💡 เทคนิคจำง่ายๆ: Abstraction = เลือกเฉพาะ "สิ่งที่ต้องใช้" + ทิ้ง "สิ่งที่ไม่เกี่ยว"
🗺️ 2. ตัวอย่างสุดคลาสสิก: แผนที่รถไฟฟ้า
น้องๆ เคยดูแผนที่รถไฟฟ้า BTS หรือ MRT ไหมครับ? ถ้าน้องๆ สังเกตดีๆ จะพบว่า แผนที่รถไฟฟ้าเป็นตัวอย่างของ Abstraction ที่ดีที่สุดเลยครับ!
✅
ข้อมูลที่เก็บไว้ (สำคัญ)
ชื่อสถานี, เส้นทางสีต่างๆ, จุดเปลี่ยนขบวน (เพราะนี่คือสิ่งที่ผู้โดยสารต้องรู้เพื่อเดินทาง)
❌
ข้อมูลที่ตัดทิ้ง (ไม่จำเป็น)
แม่น้ำ, ภูเขา, ตึก, ระยะทางจริงๆ ที่โค้งไปมา (เพราะถ้าวาดลงไป แผนที่จะดูยากและรกเกินไป)
💻 3. ตัวอย่างการทำงาน: โปรแกรมคำนวณ BMI
สมมติคุณครูให้นักเรียนเขียนโปรแกรมคำนวณดัชนีมวลกาย (BMI) ของเพื่อนในห้อง ถ้านักเรียนเดินไปเก็บข้อมูลเพื่อน นักเรียนจะถามอะไรบ้างครับ?
ข้อมูลของเพื่อน 1 คน มีเยอะมาก เช่น ชื่อ, นามสกุล, อายุ, น้ำหนัก, ส่วนสูง, สีผม, อาหารที่ชอบ, เบอร์โทรศัพท์
การใช้ Abstraction: เราจะเลือกเก็บแค่ "น้ำหนัก" และ "ส่วนสูง" เท่านั้น! เพราะเป็นข้อมูลเดียวที่ต้องใช้ในการคำนวณ BMI ส่วนข้อมูลอื่นๆ ถือเป็นรายละเอียดที่ไม่จำเป็นสำหรับการแก้ปัญหานี้ จึงต้องตัดทิ้งไปครับ!