MEE 231 Computer Programming สัปดาห์ที่ 5 MIT App Inventor การสร้างโปรแกรมย่อย (procedure)
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ การเคลื่อนที่เส้นตรงแนวดิ่งด้วยความเร่งจากแรงโน้มถ่วงโลก y = y 0 + v 0 t + (1/2)gt 2 วัตถุ 2 ชิ้น ตกลงมาในแนวดิ่งจากความสูง 250 m ด้วยความเร็วเริ่มต้นตามแต่กำหนด จงใช้รูป O แสดงตำแหน่งของวัตถุแต่ละชิ้น เริ่มตั้งแต่เวลา 0 (s) แล้วเพิ่มขึ้นเรื่อยๆ ครั้งละ 1 (s) จนสุดระยะทางที่สามารถวาดรูป O ได้ โดยใช้ระยะบนจอ 1 pixel แทนระยะทาง 1 m
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ Canvas Label Button Compon ent NameProperti es Value CanvasCanvas1Height250 pixels Width150 pixels LabelLabel1Textv01 (m/s) TextBoxTBv01Text0 LabelLabel2Textv02 (m/s) TextBoxTBv02Text0 ButtonBTcalTextcalculate Desig ner Label TextBox
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ กำหนดให้ y 0 = 0 (m), v 0 = 0 (m/s) ดังนั้น y = y 0 + v 0 t + (1/2)gt 2 = v 0 t + (1/2)gt 2 รับค่าความเร็วเริ่มต้นของวัตถุชิ้นที่ 1 และ 2 จาก TextBox เริ่มคำนวณจาก t = 0 (s), y = y 0 = 0 (m) คำนวณ y1 = v 01 t + (1/2)gt 2 วาดวงกลมแสดงตำแหน่งของ y1 คำนวณ y2 = v 02 t + (1/2)gt 2 วาดวงกลมแสดงตำแหน่งของ y2 เพิ่ม t ไปอีก 1 วินาที t = t + 1 ในขณะที่ y1 และ y2 ไม่เกิน 250 m การทำงานแบบเดียวกัน นำไปรวมกันเป็นโปรแกรมย่อย (Procedure)
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ Bloc ks สร้างโปรแกรมย่อย ใช้ Blocks >> Procedures ตั้งชื่อโปรแกรมย่อยเป็น CalDistance เพิ่ม input ของโปรแกรมย่อย ตัวแปรที่จะส่งไปใช้คำนวณ คือ x, v0, t สร้างตัวแปร
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ กำหนดตัวแปรที่ใช้เฉพาะในโปรแกรมย่อย g = 9.8 m/s 2 คำนวณ y = v 0 t + (1/2)gt 2 วาดรูปวงกลมแสดงตำแหน่งของวัตถุ
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ การใช้โปรแกรมย่อย Procedures >> เลือก call [ ชื่อโปรแกรมย่อย ] ค่า x ของวัตถุแต่ละชิ้น ค่า v0 ของวัตถุแต่ละชิ้น เท่ากับค่าใน TextBox ค่า t ที่ใช้คำนวณ เก็บค่าระยะทาง y ที่คำนวณได้ไว้เป็นระยะทางของวัตถุแต่ละชิ้น y1, y2
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ ใช้โปรแกรมย่อยคำนวณ y1 และวาดรูปแสดงตำแหน่ง ใช้โปรแกรมย่อยคำนวณ y2 และวาดรูปแสดงตำแหน่ง เพิ่มค่าเวลาไปอีก 1 วินาที
ตัวอย่าง : โปรแกรมแสดงตำแหน่ง การเคลื่อนที่ ตัวแปร โปรแกรมย่อย โปรแกรมหลัก