Category Archives: มัธยม

วิทย์ม.ต้น: หัดไพธอน (REPL, Operator, Int, Float, String, Variable), ฝึก Scratch (Bouncing Ball)

วันนี้เราคุยกันเรื่องเหล่านี้ครับ:

1. คลาสรุ่นพี่ เรียน Python จากหนังสือฟรีบนเว็บชื่อ Automate the Boring Stuff with Python โดยเขียนโปรแกรมใน Mu-Editor เราคุยกันเรื่อง REPL (Read-Evaluate-Print-Loop) สำหรับทดลองพิมพ์คำสั่งต่างๆให้ Python คำนวณให้, คุยเรื่อง operator พวก +, -, *, **, /, //, % กัน, เรื่อง data types พวก int, float, string, เรื่องเครื่องหมายโควท (quotation marks) เพื่อสร้าง string ด้วย ‘, “, ”’, “”” ในสถานการณ์ต่างๆ, รู้จักตัวแปร (variable)

การบ้านคือไปอ่านและพิมพ์ตาม Chapter 2 ต่อครับ

2. คลาสรุ่นน้องหัด Scratch กันต่อ เด็กๆรู้จักตำแหน่ง X-Y (Coordinate System) ตามหน้านี้ ผมให้เด็กๆพยายามขยับตัวละครเป็นเส้นตรงแล้วเมื่อชนขอบก็ให้กระเด้ง พอทำได้ก็ให้โจทย์ต่อว่ากระเด้งแล้วความเร็วลดลงด้วย

หน้าตาโปรแกรมก็จะเป็นประมาณนี้ครับ (โปรแกรมอยู่ที่ https://scratch.mit.edu/projects/429227501/):

โจทย์ต่อมาเราพยายามทำให้ลูกบอลตกลงพื้นแล้วกระเด้ง ผมเลยสอนเด็กๆเรื่องของตกด้วยความเร่งคงที่ (ความเร่ง = ค่า g) คือถ้าเราสร้างตัวแปรเหล่านี้

t = เวลาในการตกและกระเด้งแต่ละรอบ
g = ความเร่งจากแรงโน้มถ่วง
v0 = ความเร็วต้นในแนวดิ่งของลูกบอล
y0 = ความสูงเริ่มต้นของลูกบอล
v(t)= ความเร็วในแนวดิ่งของลูกบอลที่เวลา t
y(t) = ความสูงของลูกบอลที่เวลา t

แล้วเราสามารถคำนวณ v(t) และ y(t) ได้ดังนี้:

v(t) = v0 + g t
y(t) = y0 + v0 t + 1/2 g t^2

หน้าตาโปรแกรมเป็นประมาณนี้ครับ (โปรแกรมอยู่ที่ https://scratch.mit.edu/projects/429234815):

วิทย์ม.ต้น: เล่นเกม Iterated Prisoner’s Dilemma, “กฏแห่งกรรม”, Evolution of Cooperation, ทดลองเป่าลมและหยดน้ำ

วันนี้เราคุยเรื่องพวกนี้กันครับ:

1. เด็กๆเล่นเกมกันเป็นคู่ๆ แต่ละคนจะเลือกว่าจะเขียนว่า C หรือ D โดยไม่ให้อีกฝ่ายเห็นและห้ามพูดคุยตกลงกัน พอเขียนเสร็จแล้วก็เอามาเปรียบเทียบกัน ถ้าเขียน C ทั้งคู่ ทั้งสองคนจะได้คะแนนคนละ 300 ถ้าเขียน D ทั้งคู่ ทั้งสองคนจะได้คะแนนคนละ -10 ถ้าคนหนึ่งเขียน C อีกคนเขียน D คนที่เขียน C จะได้คะแนน -100 แต่คนที่เขียน D จะได้คะแนน 500 จุดมุ่งหมายของแต่ละผู้เล่นคือพยายามให้ตนเองได้คะแนนมากที่สุด (ตัวอย่างนี้มาจากหนังสือ The Selfish Gene โดย Richard Dawkins ครับ)

พอผมอธิบายวิธีเเล่นเสร็จ ก็บอกว่าให้เด็กเล่นกันครั้งเดียว เด็กหลายคนเข้าใจว่าถ้าเล่นครั้งเดียวน่าจะเขียน D เพราะไม่ว่าคู่ต่อสู้เขียนอะไรมาเราก็จะได้คะแนนเยอะว่าเราเขียน C แน่ๆ

ผมก็บอกเด็กว่าถ้างั้นเล่น 5 ครั้งแล้วเลิก บางคนก็เขียน C มาทุกครั้งแต่ครั้งสุดท้ายเขียน D เพื่อให้คะแนนมากสุด

ต่อไปผมสุ่มจำนวนครั้งที่จะเล่นออกมาแต่ไม่บอกเด็กๆ ให้เด็กๆเล่นไปเรื่อยๆ หลายคนจะเริ่มเห็นว่าเล่น C ทั้งคู่ (ได้คะแนนคนละ 300) จะได้คะแนนมากกว่าเล่น D เพราะถ้าทั้งสองคนเล่น D ก็จะได้คะแนนคนละ -10

ต่อไปผมให้เด็กๆตกลงกันก่อนว่าจะเล่นกันยังไง จำนวนครั้งที่เล่นไม่แน่นอน ขึ้นกับเวลาที่ผมสุ่ม คะแนนเฉลี่ยต่อครั้งการเล่นก็สูงขึ้นมาก เพราะส่วนใหญ่จะเล่น C มากกว่า D

ตัวอักษร C ย่อมาจาก Coorperate คือร่วมมือ ส่วน D ย่อมาจาก Defect คือหักหลังนั่นเองครับ

2. เกมนี้เรียกว่า Prisoner’s Dilemma หรือ ความลำบากใจของนักโทษ ถ้าเล่นรอบเดียว คนที่ใช้เหตุผลตัดสินใจก็จะเล่นแบบหักหลังเสมอ ถ้าเล่นหลายรอบแต่รู้จำนวนรอบแน่นอน คนก็ใช้เหตุผลก็จะเล่นแบบร่วมมือทุกรอบแล้วหักหลังรอบสุดท้าย

3. การเล่นเกมนี้หลายๆรอบเรียกว่า Iterated Prisoner’s Dilemma ซึ่งเป็นแบบจำลองว่าความช่วยเหลือเกื้อกูลหรือร่วมมือกันเกิดขึ้นได้อย่างไรในสิ่งมีชีวิตที่อยู่เป็นสังคม (The Evolution of Cooperation) รวมถีงอธิบายว่าสังคมที่อยู่รอดและแข็งแรงนั้นต้องมีระบบ “กฎแห่งกรรม” ที่สมาชิกของสังคมต้องทำให้เกิดคือให้รางวัลความดีและลงโทษการโกง ไม่งั้นสังคมจะล่มสลายครับ (ถ้าสังคมไหนรอสิ่งศักดิ์สิทธิ์ให้ดลบันดาลกฎแห่งกรรมโดยไม่จัดการกันเองโดยสมาชิกในสังคม สังคมนั้นก็มีแนวโน้มที่จะล่มสลายได้) ผมยังไม่ได้อธิบายอะไรลึกซึ้งมากแต่เกริ่นกับเด็กๆว่ามีการแข่งขันที่จัดโดย Robert Axelrod ให้ส่งโปรแกรมเข้ามาเล่นเเกมนี้สู้กับโปรแกรมอื่นๆ และโปรแกรมที่ทำคะแนนได้สูงโดยเฉลี่ยคือ tit-for-tat ที่ทำงานโดยเริ่มด้วย C ก่อนแล้วคราวต่อไปเล่นเหมือนคู่ต่อสู้เล่นรอบที่แล้ว

4. แนะนำให้เด็กๆดูคลิปเหล่านี้ถ้าสนใจครับ:

5. เวลาที่เหลือเราทำการทดลองเล่นกัน อันแรกคือเป่าลมแบบไหนจะได้ปริมาณลมไหลมากกว่ากันครับ:

จะพบว่ากระแสลมความเร็วสูงจะดึงเอาลมรอบๆให้วิ่งตามมาด้วย หลักการนี้ใช้ประโยชน์ได้ในสถานการณ์ที่เราต้องการเป่าลมเข้าไปในห้องเยอะๆ (เช่นเวลาไล่ควัน หรือกลิ่นเหม็นๆ) แทนที่เราจะเอาพัดลมไปจ่อติดกับประตูหรือหน้าต่างเลย เราควรเว้นระยะสักหน่อย (เช่นสักหนึ่งฟุตถึงไม่กี่เมตร) เพื่อให้กระแสลมจากพัดลมดึงเอาอากาศรอบๆให้วิ่งเข้ามาร่วมวงด้วย

นอกจากนี้นักประดิษฐ์ที่ชื่อ Sir James Dyson (ผู้คิดค้นเครื่องดูดฝุ่นแบบลมหมุนโดยไม่ต้องใช้ถุงเก็บฝุ่นและผู้ผลิดเครื่องเป่ามือให้แห้งอย่างรวดเร็วด้วยกระแสลม) ได้ประดิษฐ์พัดลมแบบใหม่ที่ใช้หลักการนี้ คือให้ลมความเร็วสูงมาชักชวนให้อากาศรอบๆเข้ามาวิ่งตาม ทำให้มีกระแสลมปริมาณเยอะขึ้น:

6. การทดลองที่สองคือเล่นหยดน้ำลงบนเหรียญบาทให้มากที่สุด จะพบว่าแรงตึงผิวของน้ำทำให้หยดน้ำไว้บนเหรียญได้มากกว่าที่คิดมาก:

แรงตึงผิวเกิดจากการที่โมเลกุลของน้ำ(และของเหลวอื่นๆ) อยากจะอยู่ใกล้ๆกันไว้ ไม่อยากแยกจากกัน ทำให้ดึงตัวเข้าหากันให้มีพื้นที่ผิวน้อยๆ หรือพอมีอะไรมากดที่ผิว น้ำก็ไม่อยากแยกออกจากกันจึงมีแรงยกของที่มากด แต่ถ้าแรงกดมากเกินไปผิวของน้ำก็รับน้ำหนักไม่ไหวเหมือนกัน

เรามีสารเคมีที่ลดแรงตึงผิวของน้ำได้ ที่เรารู้จักกันดีก็คือสบู่ ผมซักฟอก และน้ำยาล้างจานนั่นเอง โมเลกุลของสารพวกนี้จะเป็นแท่งยาวๆที่ด้านหนึ่งชอบจับกับน้ำ อีกด้านหนึ่งชอบจับกับน้ำมัน มันจึงใช้ล้างจานมันๆได้ดีเพราะด้านที่ชอบจับน้ำมันจะไปล้อมโมเลกุลน้ำมันไว้ แล้วพอเราเอาน้ำราด ด้านที่ชอบจับกับน้ำก็จะติดกับน้ำหลุดจากจานไป  นอกจากนี้เมื่อสารพวกนี้ละลายเข้าไปในน้ำแล้วโมเลกุลของมันจะไปจับโมเลกุลน้ำ ทำให้โมเลกุลน้ำจับมือกับโมเลกุลน้ำอื่นๆยากขึ้น แรงตึงผิวของน้ำจึงลดลง

เด็กๆแยกย้ายกันทดลองครับ:

แรงตึงผิวของน้ำทำให้สามารถหยดน้ำไว้บนเหรียญบาทได้มากกว่าที่คิดมาก

Posted by Pongskorn Saipetch on Wednesday, September 23, 2020

วิทย์ม.ต้น: ข่าวดาวศุกร์, ศีลธรรมเก่าแก่กว่าคน, Prisoner’s dilemma, กาลักน้ำทำงานในสถานีอวกาศได้ไหม

วันนี้เราคุยกันเรื่องเหล่านี้ครับ:

1. ข่าวนักดาราศาสตร์ค้นพบหลักฐานที่อาจจะบ่งชี้ถึงสิ่งมีชีวิตบนดาวศุกร์ รายละเอียดอ่านได้ที่ Phosphine gas in the cloud decks of Venus หรือสรุปเป็นภาษาไทยด้านล่าง:

นักดาราศาสตร์ค้นพบหลักฐานที่อาจจะบ่งชี้ถึงสิ่งมีชีวิตบนดาวศุกร์ ทีมนักดาราศาสตร์นำโดย Jane Greaves จาก Cardiff…

Posted by มติพล ตั้งมติธรรม on Monday, September 14, 2020

ความรู้รอบตัวเพิ่มเติมถ้าเด็กๆสนใจเรื่องการดูแสงจากดาวต่างๆดูว่ามีสารเคมีอะไรบ้างในบรรยากาศดาวนั้นๆ:

2. ศีลธรรมมาจากไหน ศีลธรรมต้องมาจากศาสนาหรือเปล่า การทดลองพบว่าสัตว์สังคมหลายๆชนิดรู้จักช่วยเหลือร่วมมือกัน รู้จักความยุติธรรม ให้รางวัลและลงโทษต่างตอบแทนกัน และอาจรู้จักเอาใจเขาใส่ใจเรา ส่วนศาสนานั้นเป็นสิ่งที่มนุษย์ประดิษฐ์ขึ้นมาเมื่อไม่กี่พันปีเพราะมีประโยชน์หลายอย่าง (แต่ก็มีโทษหลายอย่างเช่นกัน) ดังนั้นศีลธรรมเป็นสิ่งมีอยู่ในสมองและพันธุกรรมสัตว์หลายชนิดรวมถึงมนุษย์ และมีมาก่อนศาสนาครับ มีคลิปที่น่าสนใจเช่น:

3. เรื่องความลำบากใจของนักโทษ หรือ prisoner’s dilemma ตัวอย่างเช่น:

ผู้ต้องสงสัยสองคนถูกตำรวจจับกุม ตำรวจมีหลักฐานไม่เพียงพอที่จะพิสูจน์ว่ามีความผิด ตำรวจแยกผู้ต้องสงสัยทั้งคู่ออกจากกัน และเสนอข้อเสนอเดียวกันแก่ผู้ต้องสงสัยทั้งคู่ หากคนหนึ่งให้การเป็นพยานต่ออีกคนหนึ่ง (แปรพักตร์) และอีกคนหนึ่งยังคงไม่ให้การ (ร่วมมือ) ผู้แปรพักตร์จะถูกปล่อยตัวไปแต่ผู้สมคบคิดที่ไม่ให้การจะได้รับโทษจำคุกเต็มหนึ่งปี หากทั้งคู่ไม่ให้การ นักโทษทั้งสองจะถูกตัดสินจำคุกเพียงหนึ่งเดือนด้วยข้อหาเล็กน้อย หากทั้งสองให้การ แต่ละคนจะได้รับโทษสามเดือน นักโทษแต่ละคนต้องเลือกที่จะทรยศอีกฝ่ายหนึ่งหรือปฏิเสธที่จะให้การ แต่ละคนต่างก็รู้ว่าอีกฝ่ายหนึ่งไม่อาจรู้ได้ถึงการทรยศก่อนการสืบสวนจะสิ้นสุด นักโทษควรทำอย่างไร

จากหน้าความลำบากใจของนักโทษ

ในมุมมองของนักโทษแต่ละคน ถ้าแปรพักตร์จะได้ผลดีกว่าร่วมมือเสมอ เช่นถ้าอีกคนแปรพักตร์แล้วเราแปรพักตร์ด้วยเราก็ติดคุก 3 เดือน (แทนที่จะติด 1 ปีถ้าเราร่วมมือ) หรือถ้าอีกคนร่วมมือแล้วเราแปรพักตร์เราก็ไม่ติดคุกเลย (แทนที่จะติด 1 เดือนถ้าเราร่วมมือ) ดังนั้นการร่วมมือไม่น่าจะเกิดขึ้นได้

แต่ถ้าผู้ต้องสงสัยสองคนต้องทำงานร่วมกันนานๆเขาจะเลือกทางเลือกร่วมมือกันได้ไหม เรื่องนี้คือ iterated prisoner’s dilemma ที่เราจะคุยและทดลองกันต่อไปในอนาคต สิ่งเหล่านี้น่าจะอธิบายการวิวัฒนาการที่ทำให้เกิดระบบศีลธรรมต่างๆในสัตว์สังคม

4. สัปดาห์ที่แล้วเราเล่นกาลักน้ำกัน ผมมีคำถามกับเด็กๆว่าคิดว่ากาลักน้ำทำงานในสถานีอวกาศที่โคจรรอบโลกได้ไหม

5. ผมบอกเด็กๆว่าคนหลายคนเข้าใจผิดว่าในอวกาศไม่มีแรงโน้มถ่วง จริงๆแล้วแรงโน้มถ่วงมีทั่วไป เช่นแรงโน้มถ่วงจากโลกจะลดลงตามระยะทางที่เพิ่มขึ้น (แรงจะลดลงด้วยอัตราระยะทางยกกำลังสอง) สาเหตุที่ดวงจันทร์โคจรรอบโลกอยู่ได้ก็เพราะมีแรงโน้มถ่วงจากโลกดึงดูดอยู่ หรือการที่โลกโคจรรอบดวงอาทิตย์อยู่ได้ก็เพราะมีแรงโน้มถ่วงจากดวงอาทิตย์ดึงดูดอยู่

6. การที่สถานีอวกาศโคจรรอบโลกแล้วนักบินอวกาศลอยไปมาข้างในไม่มีน้ำหนักไม่ใช่เป็นเพราะไม่มีแรงโน้มถ่วงจากโลก แต่เป็นเพราะนักบินอวกาศและสถานีอวกาศ “ตก” รอบๆโลกด้วยแรงโน้มถ่วงจากโลกพร้อมๆกันนักบินอวกาศจึงไม่มีน้ำหนัก

ผมถามเด็กๆว่าเคยขึ้นลิฟท์แล้วรู้สึกตัวเบาตัวหนักไหม เด็กๆหลายคนบอกว่าเคย ผมถามต่อว่าตอนไหนรู้สึกตัวหนัก ตอนไหนรู้สึกตัวเบา เด็กตอบว่าตอนลิฟท์เริ่มวิ่งลงจะตัวเบา ถ้าลิฟท์เริ่มวิ่งขึ้นจะตัวหนัก ถ้าลิฟท์วิ่งลงแล้วหยุดจะตัวหนัก ถ้าลิฟท์วิ่งขึ้นแล้วหยุดจะตัวเบา

ผมบอกให้เด็กๆจินตนาการว่าลิฟท์วิ่งลงเร็วขึ้นเรื่อยๆเหมือนมันตกลงมาอย่างอิสระ ตอนนั้นถ้าเราอยู่ในลิฟท์เราก็ตกลงมาเหมือนลิฟท์ เรากับลิฟท์ตกสู่พื้นโลกพร้อมๆกันแล้วเราก็จะไม่กดหรือดันกับลิฟท์ เราจะอยู่ในสภาพไร้น้ำหนัก สถานีอวกาศก็เช่นกัน มันกำลังตกเข้าสู่โลก เพียงแต่ว่ามันมีความเร็วแนวเลียดไปกับผิวโลกมากพอ ทำให้มันตกไม่ถึงโลกสักที จึงวิ่งไปรอบๆโลก มนุษย์อวกาศข้างในก็เคลื่อนที่เหมือนกับสถานีอวกาศ จึงไม่รู้สึกว่ามีน้ำหนัก จึงลอยไปมาอยู่ได้

สรุปว่า เราพอจะทำการทดลองสภาพไร้น้ำหนักได้โดยปล่อยให้แก้วกาลักน้ำตกลงมา เราจึงทำการทดลองและอัดวิดีโอครับ จะเห็นว่าเมื่อเริ่มตก น้ำที่ควรไหลออกจากหลอดด้านล่างของแก้วจะไม่ไหลแล้ว ดังนั้นกาลักน้ำจึงไม่สามารถทำงานได้ในสภาพไร้น้ำหนัก รวมถึงในสถานีอวกาศที่โคจรรอบโลก:

Posted by Pongskorn Saipetch on Wednesday, September 16, 2020

7. เซอร์ไอแซ็ค นิวตันเป็นคนแรกๆที่คิดถึงวัตถุที่โคจรรอบโลกเช่นดวงจันทร์ว่าเป็นเรื่องเดียวกับของที่ตกใกล้ๆผิวโลก ท่านจินตนาการถึงปืนใหญ่บนภูเขาที่สูงมากๆและยิงกระสุนไปด้วยความเร็วต่างๆ ถ้าความเร็วน้อยไป กระสุนก็จะตกสู่พื้นโลก ถ้าความเร็วพอเหมาะกระสุนก็จะวิ่งเร็วพอที่จะตกไม่ถึงพื้นโลกเสียทีเพราะพื้นโลกโค้งหนีและกระสุนโคจรรอบโลกเป็นวงกลมหรือวงรี ถ้ากระสุนเร็วมากเกินมันก็จะวิ่งห่างจากโลกไปเรื่อยๆ เชิญดูอนิเมชั่นต่างๆที่หน้า Newton’s cannonball ดูครับ

8. เวลาที่เหลือ เด็กๆเล่นกลน้ำไม่หกจากแก้วและน้ำไม่ผ่านตะแกรงกันครับ

วิธีทำกลน้ำไม่หกจากแก้วก็คือเอาแก้วใส่น้ำ เอาแผ่นพลาสติกหรือแผ่นโฟมเรียบๆมาปิด แล้วกลับแก้วให้คว่ำลง แผ่นพลาสติกหรือแผ่นโฟมบางๆหรือกระดาษแข็งที่ปิดไว้ก็จะติดอยู่และน้ำก็ไม่หกจากแก้วครับ เด็กพอรู้วิธีทำก็ลองเล่นเอง

สำหรับกลน้ำไม่ไหลผ่านตะแกรง เราเอาตะแกรงร่อนแป้งที่เป็นรูๆมาให้เด็กๆทุกคนดูว่ามีรู เทน้ำใส่ก็ไหลผ่าน เป่าก็มีลมผ่าน แล้วเอาน้ำใส่แก้ว เอาตะแกรงวางข้างบน เอามือหรือแผ่นพลาสติกปิดด้านบนของตะแกรงให้คลุมปากแก้วด้านล่างไว้ แล้วพลิกเร็วๆให้แก้วใส่น้ำคว่ำอยู่ด้านบนตะแกรงแล้วเอามือหรือแผ่นพลาสติกออก เราจะพบว่าน้ำในแก้วไม่ไหลผ่านตะแกรงลงมาครับ ทั้งนี้ก็เพราะน้ำที่ติดกับตะแกรงมีแรงตึงผิวไม่แตกออกเป็นเม็ดน้ำเล็กๆ ทำให้ความดันอากาศภายนอกต้านไว้ไม่ให้น้ำไหลออกมาครับ

กลทั้งสองแบบมีหลักการคล้ายกันที่ว่าอากาศภายนอกแก้วมีความดันมากพอที่จะ รับน้ำหนักน้ำไม่ให้หกออกมาครับ ในกรณีตะแกรงจะใช้แรงตึงผิวของน้ำรับแรงจากความดันอากาศแทนแผ่นพลาสติกในอีกกรณีหนึ่งครับ

บรรยากาศกิจกรรมอยู่ในอัลบั้มนี้ครับ:

วันนี้ในกิจกรรมวิทย์มัธยมเราทำการทดลองดูว่ากาลักน้ำทำงานได้หรือไม่ในภาวะไร้น้ำหนัก เมื่อมีเวลาเหลือเราก็เล่นกลน้ำไม่หกกัน

Posted by Pongskorn Saipetch on Wednesday, September 16, 2020