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 ว่าทำอย่างไร: