1. คลาสรุ่นพี่ เรียน Python จากหนังสือฟรีบนเว็บชื่อ Automate the Boring Stuff with Python โดยเขียนโปรแกรมใน Mu-Editor เราคุยกันเรื่อง Functions และหัดเขียนฟังก์ชั่นง่ายๆในชั้นเรียนกัน เช่น:
def add(a,b):
"บวก a และ b เข้าด้วยกัน"
return a+b
def หารลงตัว(a,b):
"เช็คว่า a หารด้วย b ลงตัวหรือไม่"
if a % b == 0:
return True
else:
return False
def number_of_digits(x):
"บอกว่าเลขจำนวนเต็มบวก x มีกี่หลัก"
xstr = str(x)
return len(xstr)
def contain_digit(a,b):
"ดูว่ามีเลขโดด b ในจำนวนเต็มบวก a หรือไม่"
astr = str(a)
bstr = str(b)
return bstr in astr
def contain_digit_1(a,b):
"ดูว่ามีเลขโดด b ในจำนวนเต็มบวก a หรือไม่"
return str(b) in str(a)
def contain_1_to_n(a):
"a เป็นจำนวนเต็ม n หลัก, เช็คว่า a มีเลขโดด 1, 2, 3,..., n ครบหรือไม่"
num_digits = number_of_digits(a)
for digit in range(1,num_digits+1):
#print("digit = " + str(digit))
if not contain_digit(a,digit):
return False
return True
2. การบ้านรุ่นพี่คือไปอ่านบทที่ 4 เรื่อง Lists ในหนังสือ Automate the Boring Stuff with Python และ เขียนฟังก์ชั่นเหล่านี้ให้ทำงานได้ถูกต้อง:
def convert_C_to_F(c):
"แปลงอุณหภูมิ c เซลเซียสเป็นฟาเรนไฮต์"
pass
def convert_F_to_C(f):
"แปลงอุณหภูมิ f ฟาเรนไฮต์เป็นเซลเซียส"
pass
def GCD(a,b):
"หา ห.ร.ม. ของ a และ b"
#Euclid GCD algorithm
pass
3. คลาสรุ่นน้องได้เห็นว่ามีโปรแกรมชื่อ Tracker (https://physlets.org/tracker/) ที่สามารถใช้วัดการเคลื่อนที่ต่างๆจากวิดีโอได้ เช่นวันนี้เอาคลิปลูกแก้ววิ่งเป็นวงกลมในกาละมังจากการเล่นวันพุธมาดูกัน จะเห็นว่าการเคลื่อนที่ในแนวตั้ง (แกน y) และแนวนอน (แกน x) จะเป็นคลื่น (พวก sine, cosine):
4. ได้ดูลูกตุ้มทรายแกว่ง และรู้จัก Lissajous Figures
5. ดูตัวอย่าง Scratch ว่าวาดรูปพวก Lissajous Figures อย่างไร แล้วดัดแปลงทดลองเอง:
6. เด็กๆดูคลิป Moire Pattern และหาใน Scratch ว่าทำอย่างไร: