top of page

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

      การสร้างฟังก์ชัน 
             การสร้างฟังก์ชันมีขั้นตอนดังต่อไปนี้
                  1. คลิกปุ่มบล็อก More Blocks
                  2. คลิก Make a Block









                 3.ปรากฏหน้าต่าง  New Block ให้พิมพ์ชื่อฟังก์ชันใน         ในที่นี้ให้พิมพ์ My function แล้วคลิกปุ่ม OK 






                4. จะปรากฏบล็อกชื่อฟังก์ชันที่สร้างขึ้น  และบล็อกคำสั่งที่นิยามส่วนหัวของฟังก์ชันในพื้นที่เขียนโปรแกรม








                 5. นักเรียนสามารถเลือกคำสั่งที่ต้องการมาต่อส่วนหัวของฟังก์ชันได้

ดังรูป





การเรียกใช้งานฟังก์ชัน
   เมื่อสร้างฟังก์ชันแล้วสามารถเรียกใช้ function ได้ดังขั้นตอนต่อไปนี้
                1. พลิกล็อก function ที่ต้องการ
                2. ลากวางในพื้นที่เขียนโปรแกรม 











 

 

 

 

 

 

 


การแก้ไขชื่อฟังก์ชัน
   หากต้องการแก้ไขชื่อฟังก์ชันสามารถทำได้ดังขั้นตอนต่อไปนี้
   1.คลิกขวาที่มาฟังก์ชันที่สร้างขึ้นแล้วเลือก Edit







   2. เมื่อปรากฏหน้าต่าง  Edit Block แก้ไขเป็นชื่อฟังก์ชันที่ต้องการแล้วกดปุ่ม OK







เมื่อมีการเปลี่ยนชื่อฟังก์ชันโปรแกรม scratch จะเปลี่ยนชื่อ function ในส่วนที่มีการอ้างถึงทุกที่ให้อัตโนมัติ

 การลบฟังก์ชัน 
   การลบฟังก์ชันสามารถทำได้โดยคลิกขวาที่ฟังก์ชันแล้วเลือก Delete หรือว่าฟังก์ชันออกจากพื้นที่เขียนโปรแกรมมาวางในพื้นที่แสดงบล็อกคำสั่ง







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

ออกแบบส่วนของโปรแกรมโดยพิจารณาการแก้ปัญหาย่อยดังนี้

  • ทำอย่างไรให้แตงโมปรากฏบนหน้าจอด้วยขนาดและตำแหน่งแตกต่างกัน

  • ทำอย่างไรให้แตงโมหายไปจากหน้าจอเมื่อเวลาผ่านไประยะหนึ่ง

  • ทราบได้อย่างไรว่าแตงโมถูกตัด

  • แสดงภาพแตงโมที่ถูกตัดอย่างไร

  • คิดคะแนนอย่างไรเมื่อตัดแตงโมได้สำเร็จ 1 ลูก

 

บ้านแตงโมให้ปรากฏในตำแหน่งสุ่ม
   แตงโมจะถูกสร้างขึ้นทีละลูก ซึ่งอยู่ในตำแหน่งที่แตกต่างกันโดยการสุ่ม แตงโมแต่ละรูปจะมีขนาดไม่เท่ากัน

แนวคิด
   กำหนดการทำงานเป็นส่วนย่อยได้ดังนี้

  • แสดงแตงโม

  • กำหนดขนาดและตำแหน่งแตงโม

           การทำงานของโปรแกรมหลักและการทำงานภายในแต่ละส่วนย่อยเขียนเป็นแผนผังได้ดังนี้

 

 

โปรแกรมหลักอธิบายได้ดังนี้

 

 

บรรทัดที่ 1  กำหนดจุดเริ่มต้นเมื่อผู้ใช้คลิกธงเขียว
บรรทัดที่ 2  กำหนดตำแหน่งเริ่มต้นเพื่อแสดงแตงโมโดยกำหนดที่ตำแหน่ง x = 0 และ Y = - 100
บรรทัดที่ 3 กำหนดขนาดและตำแหน่งของตัวละครแตงโม ให้มีค่าเท่ากับขนาดจริง 100 เปอร์เซ็นต์ของตัวละคร
บรรทัดที่ 4 เรียกฟังก์ชัน ShowMelon เพื่อแสดงแตงโม

 

ฟังก์ชัน  ShowMelon สำหรับแสดงแตงโม อธิบายได้ดังนี้
บรรทัดที่ 1  ประกาศส่วนหัวฟังก์ชัน ShowMelon
กำหนดให้มีการทำงานวนซ้ำแบบไม่รู้จบ ในบรรทัดที่ 3 ถึง 5
บรรทัดที่ 3 เรียกใช้ function  Set size and Pos  เพื่อกำหนดขนาดและตำแหน่งของตัวละครแตงโม
บรรทัดที่ 4  สร้างแตงโมด้วยการโคลน ซึ่งเป็นการคัดลอกตัวละคร โดยใช้บล็อกคำสั่ง create clone Of Myself  ซึ่งหมายถึง การโคลนตัวละครที่มีการใช้คำสั่งนี้ ในที่นี้คือโคลนตัวละครแตงโม
บรรทัดที่ 5  กำหนดให้มีการหน่วงเวลาในการสร้างแตงโม 1 วิด้วยคำสั่ง wait 1 secs


 

 

 

 

 

 

ฟังก์ชัน setSize and pos สำหรับส่งขนาดและตำแหน่งแตงโมอธิบายได้ดังนี้ 
บรรทัดที่ 1 หน้ากากสวมหัว function setSize and pos 
บรรทัดที่ 2  กำหนดขนาดแตงโมด้วยการส่งค่า 20-100 ซึ่งค่าที่สูงได้จะเป็นอัตราส่วนร้อยละของขนาดจริงเช่นสุ่มได้ 30 จะหมายถึงแสดงตัวละครขนาด 30 เปอร์เซ็นต์ของขนาดจริง 100%
บรรทัดที่ 3  กำหนดตำแหน่งของการแสดงแตงโมแกน X  ด้วยการสุ่มค่าในช่วง - 180ถึง 180
บรรทัดที่ 4  กำหนดตำแหน่งของการแสดงแตงโม แกน Y ด้วยการสุ่มในช่วง - 150 ถึง15

 

99956.JPG
753.JPG
Capture33.JPG
Capture3332.JPG
3666.JPG
369.JPG
3698.JPG
3574.JPG
3569.JPG
875.JPG
1548.JPG
9548.JPG
357.JPG

อ้างอิงจาก หนังสือเรียนรายวิชาพื้นฐานวิทยาศาสตร์  เทคโนโลยี (วิทยาการคำนวณ) สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธิการ

bottom of page