วันนี้เด็กม.2-3 หัดเขียนโปรแกรมหาตัวประกอบของเลขจำนวนเต็มกันครับ เด็กๆเอาไปทำที่บ้านสัปดาห์ที่แล้ว และส่วนใหญ่ก็คิดได้ว่าควรลองเอาตัวเลขไปหารดูว่าหารลงตัวไหม ถ้าหารลงตัวก็เป็นตัวประกอบ
ผมแสดงวิธีทำให้ดูว่าเราควรเก็บตัวประกอบต่างๆไว้ในลิสต์เพื่อจะได้ส่งให้ผู้ใช้ฟังก์ชั่นของเราเอาผลลัพธ์ไปทำงานต่างๆต่อได้:
และผมให้เด็กๆคิดว่าเวลาเราหาตัวประกอบของ x เราจำเป็นต้องหาตัวหารมาทดลองตั้งแต่ 1 ถึง x เลยไหม หลังจากเด็กๆคิดสักพัก เด็กบางคนก็เข้าใจว่าเราอาจจะลองแค่ 1 ถึง sqrt(x) หรือ 1 ถึงรากที่สองของ x เท่านั้นก็ได้ถ้าตอนทดลองหารเราเก็บผลหารไว้ด้วย การทำอย่างนี้จะทำให้เราใช้เวลาคำนวณน้อยลงมาก เช่นถ้า x มีขนาดสักร้อยล้าน รากที่สองของ x จะมีขนาดประมาณหนึ่งหมื่นเท่านั้น ประหยัดเวลาไปหมื่นเท่า
นอกจากนี้เด็กๆได้เห็นวิธีเปลี่ยนลิสต์เป็นเซ็ตเพื่อกำจัดตัวประกอบที่ซ้ำออก และเห็นการเปลี่ยนเซ็ตเป็นลิสต์เพื่อจัดเรียงสมาชิกด้วย:
โหลด Jupyter Notebook ได้ที่นี่ หรือดูออนไลน์ได้ที่นี่ครับ
สำหรับม.1 ผมเล่าให้ฟังว่าเราเรียนโปรแกรมมิ่งไปเพื่อจะได้สั่งงานเครื่องจักรให้ทำงานให้เรา ยกตัวอย่างเช่นโทรศัพท์สมัยก่อนใช้คนต่อสายระหว่างคนโทร แต่สมัยนี้เครื่องจักรทำงานแทนหมดแล้ว:
การเขียนโปรแกรมสมัยก่อนใช้การต่อสายไฟต่างๆในคอมพิวเตอร์เข้าด้วยกัน:
และตัวอย่างการเขียนโปรแกรม Hello, World ในภาษาคอมพิวเตอร์ต่างๆ
และเด็กๆได้รู้จักคอมพิวเตอร์ที่ทำจากเฟืองอายุกว่า 2,000 ปี:
และคอมพิวเตอร์แบบเดียวกันแต่ต่อด้วย Lego:
จากนั้นเด็กๆก็หัดใช้ตัวแปรพวกจำนวนเต็ม เลขทศนิยม ข้อความ ลิสต์ และหัดเขียนฟังก์ชั่นบวกเลข 1 + 2 + 3 + … + n และอื่นๆกันครับ