ผมให้แบบฝึกหัดเด็กม.ต้นที่หัดเขียนโปรแกรมไพธอนโดยให้กลับไปคิดและเขียนโปรแกรมแก้ปัญหาที่ต้องทำด้วยมือในวิชาคณิตศาสตร์กันครับ ถ้าสั่งให้คอมพิวเตอร์ทำงานให้ได้ก็แสดงว่าเข้าใจหลักการต่างๆแล้ว นอกจากนี้คอมพิวเตอร์สามารถแก้ปัญหาใหญ่ๆที่เราทำด้วยมือไม่ไหวด้วย
คราวนี้ผมให้แบบฝึกหัดเด็กๆไปหัดเขียนฟังก์ชันว่าเส้นตรงสองเส้นตัดกันตรงไหน หน้าตาจะออกมาประมาณนี้ครับ:
การหาว่าเส้นตรงสองเส้นตัดกันตรงไหนเป็นวิธีแก้ปัญหาสมการเชิงเส้นในสองตัวแปรครับ ถ้ามีตัวแปรมากกว่าสองตัว รูปแบบคำตอบจะดูยุ่งยาก ผมให้เด็กๆรู้จักเข้าไปใช้ Wolfram Alpha หาคำตอบพวกนั้น (ยกตัวอย่างเช่นสามตัวแปรเป็นอย่างนี้)
ปัญหาที่น่าสนใจจะมีตัวแปรเยอะกว่าที่ทำด้วยมือในโรงเรียนมากครับ ตัวแปรจะเป็นร้อยเป็นพันถึงเป็นล้านตัว ต้องให้คอมพิวเตอร์ช่วยทำ ผมให้เด็กๆเห็นวิธีตรงไปตรงมาเหมาะกับให้คอมพิวเตอร์ทำชื่อ Gaussian Elimination (หรืออีกชื่อว่า Gauss -Jordan Elimination) หาคำตอบแทนสูตรสำเร็จรูป ดูตัวอย่างได้ที่คลิปนี้ หรือ คลิปนี้
ถ้าเด็กๆสนใจ ก็สามารถใช้ไพธอนช่วยแก้ปัญหาพวกนี้ได้ด้วย numpy.linalg.solve() ครับ หน้าตาอาจเป็นแบบนี้ครับ:
ผมบันทึกตัวอย่างเหล่านี้ไว้ให้เด็กๆและผู้สนใจเข้ามาดูทบทวนโดยสามารถโหลด Jupyter Notebook ได้ที่นี่ หรือดูออนไลน์ได้ที่นี่นะครับ