วิทย์ม.ต้น: เขียนโปรแกรมสร้างโจทย์ตัวอักษร

สัปดาห์นี้เด็กๆม.1-3 หัดเขียนโปรแกรมไพธอนเพื่อสร้างโจทย์ตัวอักษร (ต่อเนื่องมาจากสัปดาห์ที่แล้วที่เขียนโปรแกรมไล่แทนค่าตัวอักษรเพื่อแก้โจทย์ทำนองนี้)

(โค้ดต่างๆแบบ Jupyter notebookโหลดได้ที่นี่ หรือดูออนไลน์ได้ที่นี่นะครับ)

เด็กๆพยายามแทนค่าตัวเลขแต่ละตัวด้วยตัวอักษร บางคนใช้ดิกชันนารี บางคนใช้สตริง วิธีที่ตรงไปตรงมาที่สุดอาจเป็นประมาณนี้สำหรับเด็กๆที่รู้จัก list comprehension แล้ว (ถ้าอยากรู้เรื่องไปดูที่ Comprehending Python’s Comprehensions หรือดูที่ส่วน “การสร้างลิสต์จาก for” ที่หน้านี้ นะครับ)

ถ้าไม่รู้จัก list-comprehension ก็ใช้ for loop ได้ประมาณนี้:

พอแปลงเลขเป็นตัวอักษรได้ ก็ใส่ตัวตั้งสองตัว x, y แล้วให้คอมพิวเตอร์คำนวณค่า x+y, x-y, x*y, x/y แล้วแปลงทั้งหมดเป็นตัวอักษร A-J แทนเลข 0-1 โดยระวังว่าถ้าผลลัพธ์มีตัวเลขที่ไม่มีอยู่ในพวกตัวตั้ง x, y เราจะต้องไม่แทนค่าตัวเลขด้วยตัวอักษร

เพื่อไม่ให้เดาคำตอบได้ง่ายเกินไป เราไม่ควรแทน 0 ด้วย A, 1 ด้วย B, …, 9 ด้วย J เสมอ เราจึงอาจสลับอักษร A-J ให้เป็นลำดับอื่นก่อนแทนค่า เราสามารถทำได้ด้วย random.shuffle( ) แล้วแทนค่าด้วย translate( ) ประมาณนี้:

หน้าตาฟังก์ชั่นสร้างโจทย์ตัวอักษรก็อาจมีหน้าตาประมาณนี้:

หน้าตาโจทย์ที่ได้ก็จะเป็นประมาณนี้:

สำหรับเด็กม. 1 ผมเอาภาพคอมพิวเตอร์ยุคแรกๆเช่น ENIAC ว่าเมื่อก่อนเขาโปรแกรมกันอย่างไร, ภาพเครื่องคำนวณสมัยกรีกโบราณ และภาพคุณ Katherine Johnson ที่เป็นนักคณิตศาสตร์ทำงานให้ NASA ที่เด็กๆรู้จักจากภาพยนต์เรื่อง Hidden Figures มาให้ดูด้วยครับ

คอมพิวเตอร์อิเล็กทรอนิกส์เครื่องแรกๆของโลกชื่อ ENIAC ครับ ใหญ่เต็มห้องเลย
ENIAC in Philadelphia, Pennsylvania. Glen Beck (background) and Betty Snyder (foreground) program the ENIAC in building 328 at the Ballistic Research Laboratory ภาพจาก U.S. Army Photo [Public domain]
เครื่องจักรคำนวณสมัยกรีกโบราณ เรียกว่า Antikythera mechanism เป็นฟันเฟืองต่อกันอยู่ พอหมุนๆแล้วคำนวณตำแหน่งดวงดาว เทศกาลโอลิมปิก สุริยุปราคา ฯลฯ ได้ครับ อายุประมาณ 2,000 ปี
คุณ Katherine Johnson ครับ
Katherine G. Johnson Computational Research Facility ribbon-cutting ceremony in the Reid Conference Center. Honored guests include Katherine G. Johnson and members of her family, Mayor Donnie Tuck, Senator Warner and Governor McAuliffe. Margot Lee Shetterly, author of “Hidden Figures,”

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.