Tag Archives: วิทย์ม.ต้น

วิทย์ม.ต้น: Beginner’s Luck, กำเนิดดวงดาว, ประดิษฐ์แฟรงคลินเบลล์

วันนี้เด็กๆมัธยมต้นเรียนเรื่อง beginner’s luck จากหนังสือ The Art of Thinking Clearly โดยคุณ Rolf Dobelli  ที่เราต้องระวังว่าบางครั้งเมื่อเราเริ่มต้นทำอะไรใหม่ๆแล้วเราได้ผลดีเกินคาด ให้ดูว่าผลดีนั้นเกิดจากอะไร ถ้าเกิดจากโชคดีแล้วเราทำซ้ำๆอีกเราอาจจะไม่ประสบความสำเร็จแบบเดิมก็ได้

เราได้คุยกันว่าการที่นักกีฬาแข่งขันกัน 2 ใน 3 เกม, 3 ใน 5 เกม, 4 ใน 7 เกม, ฯลฯ นั้นก็เพื่อจะลดโอกาสแพ้ของนักกีฬาที่เก่งกว่า เพราะยิ่งเกมที่แข่งน้อยโอกาสที่นักกีฬาที่เป็นรองฟลุ้คกลับมาชนะก็มีมากขึ้น และเรื่องนี้เป็นเรื่องเดียวกับว่าถ้าเราไปเล่นพนันในบ่อน (บ่อนได้เปรียบ เราเสียเปรียบ) ยิ่งถ้าเราแบ่งเงินเป็นก้อนเล็กๆแล้วเล่นหลายๆครั้งโอกาสที่จะชนะได้กำไรก็ยิ่งน้อย (แต่จริงๆเราไม่ควรไปเล่นพนันในบ่อนตั้งแต่ต้นเพราะโดยปกติเราจะเสียเปรียบเอาเงินไปให้บ่อนอยู่แล้ว)

เราได้พูดคุยกันเรื่องการเกิดดาวฤกษ์ (Stars) อันเป็น threshold อันที่สองใน Big History Project

การเกิดขึ้น ตั้งอยู่ และดับไปของดวงดาวครับ:

เราได้คุยกันเรื่องว่าธาตุต่างๆในตัวเรามาจากการตายของดวงดาว ดูแหล่งที่มาของธาตุต่างๆดังรูปและลิงก์เหล่านี้:

จาก http://blog.sdss.org/2017/01/09/origin-of-the-elements-in-the-solar-system/
จาก https://www.forbes.com/sites/startswithabang/2017/12/18/astrophysics-reveals-the-origin-of-the-human-body/

สำหรับเวลาที่เหลือ เด็กๆประดิษฐ์แฟรงคลินเบลล์ (Franklin’s Bell หรือ ป๋องแป๋งไฟฟ้า) แบบต่างๆตามใจครับ:

บรรยากาศการประดิษฐ์ครับ (อัลบั้มเต็มอยู่ที่นี่นะครับ):

ผมเคยเขียนอธิบายการทำงานต่างๆของของเล่นแบบนี้ไว้ที่ “ดูวิดีโอแขนขาไฟฟ้าเทียม ไม้แปะยุง=ฟ้าผ่าจิ๋ว กลจากไฟฟ้าสถิต” แล้วครับ ถ้าสนใจเข้าไปดูได้

วิทย์ม.ต้น: “กฎแห่ง 72”, ใช้ Bisection Method หาคำตอบสมการ, หัดใช้ command Line กับโปรแกรมไพธอน

สัปดาห์นี้เด็กๆม.2-3 ได้รู้จัก “กฎแห่ง 72” ไว้ใช้ประมาณในใจว่าถ้าลงทุนมีผลตอบแทนทบต้นที่ r % ต่อปี จะใช้เวลาประมาณ 72/r ปีที่เงินจะงอกเงยเป็น 2 เท่า ยกตัวอย่างเช่นถ้าผลตอบแทนเท่ากับ 3% ต่อปีจะใช้เวลา 72/3 = 24 ปี ถ้าผลตอบแทนเท่ากับ 8% ต่อปีจะใช้เวลา 72/8 = 9 ปี

มีหลายคนเข้าใจผิดว่ากฎนี้เป็นกฎที่ไอน์สไตน์คิดขึ้น แต่จริงๆแล้วน่าจะมีมาก่อนไอน์สไตน์หลายร้อยปี แต่ไอน์สไตน์เคยพูดเรื่องดอกเบี้ยทบต้นไว้ว่า “Compound interest is the eighth wonder of the world. He who understands it earns it … he who doesn’t … pays it.” เลยอาจมีคนเข้าใจผิดว่าไอน์สไตน์เป็นคนคิด

สำหรับเด็กๆที่รู้จัก logarithm เราสามารถคำนวณเวลาที่ทำให้เงินงอกเป็นสองเท่าได้เป๊ะๆเท่ากับ log(2)/log(1+r/100) ถ้ารู้จัก logarithm และ calculus สามารถอ่านคำอธิบายความเป็นมาได้ที่  กฎของ “70” (หรือ “72”) ครับ เป็นผลลัพธ์จากการกระจาย Taylor’s series

การประมาณด้วยกฎของ 72 มีความใกล้เคียงกับคำตอบจริงๆดีทีเดียวสำหรับผลตอบแทน r ที่ไม่สูงเกินไปครับ

ถ้าเด็กๆไม่รู้จักสูตร  log(2)/log(1+r/100) ก็ยังสามารถใช้วิธีให้คอมพิวเตอร์ไล่หาคำตอบที่เป็นตัวเลขด้วยวิธี bisection อย่างที่เคยเห็นที่ วิทย์ม.ต้น: เขียนโปรแกรมไพธอนหาว่าพาราโบลาตัดแกน x ที่ไหน, วิธีหาคำตอบโดย Bisection Method ก็ได้ครับ

นอกจากนี้เรายังสามารถประยุกต์เอาวิธี bisection หาคำตอบเป็นตัวเลขให้เราในปัญหาที่เราไม่แน่ใจว่าคำตอบเป็นสูตรอย่างไรก็ได้ครับ เช่นถ้าเราต้องการทราบว่าเราต้องออมเงินปีละเท่าไรเป็นเวลา 40 ปี ด้วยผลตอบแทนทบต้นปีละ 8% ถึงจะมีเงินเมื่อสิ้นปีที่ 40 เท่ากับ 40,000,000 บาท คำตอบจาก bisection คือ 142,969 บาท:

ถ้าเราต้องการออมเงินทุกปีเป็นเวลา 20 ปี ปีละ 100,000 บาท แล้วเราต้องการให้เงินตอนจบเป็น 10 ล้านบาท เราต้องหาผลตอบแทนทบต้นปีละกี่เปอร์เซ็นต์ เราก็สามารถใช้ bisection หาให้เราได้ว่าต้องหาอัตราตอบแทน 13.7% ต่อปี:

สามารถโหลดโค้ดต่างๆใน Jupyter Notebook ไปเล่นได้ที่นี่ หรือดูโค้ดออนไลน์ได้ที่ Colab Notebook นะครับ

สำหรับเด็กม.1 ผมให้หัดใช้ command line เรียกไพธอนมาทำงานให้ ที่ผ่านมาเด็กๆจะใช้ไพธอนผ่าน Jupyter Notebook ตลอด

เด็กๆลงโปรแกรมไพธอนด้วย Anaconda บน Windows กันจึงเรียก Anaconda Prompt ขึ้นมาแล้วพิมพ์คำสั่งประเภท python program_name.py arg1 arg2 arg3 (ถ้าใช้ macOS หรือ Linux ก็เรียก terminal ขึ้นมาพิมพ์เลยก็ได้ครับ)

แนะนำให้เด็กๆที่ใช้ Windows ไปอ่าน คำสั่ง Command Line พื้นฐาน และตัวอย่างการใช้คำสั่งต่างๆ ดูเพื่อเพิ่มความรู้และความเข้าใจนะครับ

สำหรับเด็กๆที่ใช้ macOS หรือ Linux ลองดู [Mac มือใหม่] มาเรียนรู้พื้นฐาน Linux + Command Line เบื้องต้นกันดีกว่า หรือหนังสือหัดใช้ Command-line Interface เถอะ ดูครับ

วิทย์ม.ต้น: การเติบโตของเงินออมเป็นประจำ, หัดใช้ Mu-Editor

สัปดาห์นี้เด็กม.2-3 เขียนโปรแกรมหาเงินสะสมจากการออมเป็นประจำปีละเท่าๆกัน โดยมีผลตอบแทนต่อปีเท่าๆกัน เป็นเวลาหลายๆปีครับ ต่อยอดจากสัปดาห์ที่แล้วที่คำนวณมูลค่าเงินในอนาคตถ้ามีการทบต้นไปเรื่อยๆหลายๆปี

เราปรับชื่อตัวแปรของฟังก์ชั่นหาค่าเงินในอนาคตให้เป็นสากลมากขึ้น:

หัดใช้ f-string เพื่อจัดรูปแบบข้อความหรือจำนวนทศนิยม:

และคำนวณเงินอนาคตทั้งหมดถ้าออมเท่าๆกันทุกปี:

ถ้าออมเงินทุกปีๆละ 1 บาท ที่ผลตอบแทน 0%, 2%, 5%, 7%, 10%, 15%, 20% เป็นเวลา 10, 20, 30, 40, 50 ปี จะมีเงินรวมตอนจบดังนี้:

สามารถโหลด Jupyter Notebook ไปเล่นได้ที่นี่ หรือดูโค้ดออนไลน์ได้ที่ https://colab.research.google.com/drive/1m8nOG-kKcsY7zur6IIrG9NlzNyB5ylYS?usp=sharing นะครับ

นอกจากนี้เด็กๆม.1, 2, 3 ก็ได้รู้จัก Mu Editor สำหรับเขียนโปรแกรมไพธอนแล้วเก็บเป็นไฟล์ .py แยกต่างหากไม่อยู่ใน Jupyter Notebook ครับ สามารถโหลดได้ที่ https://codewith.mu

เด็กม. 1 ได้เห็น turtle graphics นิดหน่อย ในอนาคตเราคงเอามาใช้วาดนู่นวาดนี่กัน