วิทย์ม.ต้น: ฝึกไพธอน, จับเวลาลูกบอลตก

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

1. รุ่นพี่ฝึกไพธอนกันต่อ เขียนโปรแกรมแก้ปัญหาเล็กๆหลายๆอัน มีเฉลยการบ้านจากสัปดาห์ที่แล้ว หน้าตาประมาณนี้ (โปรแกรมเบื้องต้น ไม่มี error handling เพื่อให้เข้าใจง่าย)

#สร้างโปรแกรมให้เราใส่วันที่เข้าไป แล้วคำนวณว่าวันนั้นห่างจากปัจจุบันเป็นเวลาเท่าไร

import datetime

year = int(input('ใส่ปี (ค.ศ.): '))
month = int(input('ใส่เดือน (1-12): '))
day = int(input('ใส่วัน (1-31): '))
date = datetime.date(year, month, day)
today = date.today()

time_difference = today - date
days_diff= time_difference.days

print('จำนวนวันระหว่าง ' + str(date) + ' ' + 'และ ' + str(today) +  ' คือ ' + str(days_diff) + ' วัน')

#ใช้ f-string (https://realpython.com/python-f-strings/ 
#หรือ https://careerkarma.com/blog/python-f-string/) เพื่อสามารถจัดรูปแบบได้ง่ายและตรงใจมากขึ้น

print(f"จำนวนวันระหว่าง {date} และ {today} คือ {days_diff:,} วัน")

แนะนำให้เด็กๆไปค้นคว้าและหัดใช้เรื่อง f-string ดังในบรรทัดสุดท้ายในโปรแกรมข้างบน หาอ่านได้ที่ https://careerkarma.com/blog/python-f-string/ หรือ https://realpython.com/python-f-strings/

เด็กๆรู้จักไปค้นคว้าเรื่องโมดูล datetime ผมแนะนำให้ไปดูตัวอย่างเพิ่มเติมที่ https://www.programiz.com/python-programming/datetime และ https://pymotw.com/3/datetime/

2. รุ่นพี่มีการบ้านไปเขียนโปรแกรมข้อนี้:

โปรแกรมเศษส่วน

เขียนโปรแกรมรับ เศษและส่วน ตัวที่ 1 และตัวที่ 2
หาค่า +, -, *, / ของเศษส่วน 1 และ 2

(hints: หาเรื่องเกี่ยวกับ fractions ใน Python)

3. ให้โจทย์รุ่นน้องดังนี้:

หาเวลาการตกถึงพื้นของวัตถุจากความสูงต่างๆ วาดกราฟความสูง vs. เวลา

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

สเปรดชีตอยู่ที่นี่ครับ

ไฟล์วิดีโอต่างๆที่ถ่ายวันนี้โหลดได้ที่นี่เผื่อใครต้องการใช้ Tracker จับตำแหน่งการตกนะครับ

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

บรรยากาศกิจกรรมวันนี้ครับ:

กิจกรรมวิทย์ม.1 วันนี้ เด็กๆหาเวลาการตกถึงพื้นของวัตถุจากความสูงต่างๆ แล้ววาดกราฟความสูง vs. เวลา

Posted by Pongskorn Saipetch on Thursday, December 3, 2020


Leave a Reply

Your email address will not be published.

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