Saturday, May 21, 2016

สร้าง Custom block ใน Snap!

Snap! (http://snap.berkeley.edu/) เป็นภาษาโปรแกรมที่มีการเขียนแบบลากวางเป็นบล็อคๆ ซึ่งเหมาะกับการใช้สอนการเขียนโปรแกรมเบื้องต้น เนื่องจากผู้เรียนแทบจะไม่ต้องจำว่าไวยากรณ์ของภาษาเป็นอย่างไร และแทบจะลดโอกาสความผิดพลาดเนื่องจากการพิมพ์ผิดหรือตกหล่น ซึ่งเป็นปัญหาสำคัญของผู้เริ่มเรียนเขียนโปรแกรม

Snap! พัฒนาต่อยอดมากจาก Scratch (https://scratch.mit.edu/) แต่มีข้อที่แตกต่างหลักๆก็คือ Snap! ถูกพัฒนาบนแพลตฟอร์ม HTML5 ในขณะที่ Scratch ทำงานบน Adobe Flash ซึ่งถ้าเครื่องไม่ได้ติดตั้งไว้ก็จะใช้งาน Scratch ไม่ได้

ข้อแตกต่างที่สำคัญอีกประการหนึ่งคือ Snap! สนับสนุนการสร้าง custom block ซึ่งก็คือชุดคำสั่งใหม่ จากคำสั่งที่มีอยู่แล้วได้ (จริงๆแล้ว Scratch ในปัจจุบันก็สนับสนุนแล้วบางส่วน)

สมมติว่าเราจะเอา Snap! ไปสอนจาวาเรื่อง loop ก็จะมีความสับสนกันบ้าง เพราะไวยากรณ์ของสองภาษาต่างกัน ตัวอย่างเช่น ถ้าเราต้องการวนลูปห้ารอบ
Snap!


Java
for(int i=1; i<=5; i++) {    
}

ซึ่งไวยากรณ์คนละแบบ สำหรับคนที่เริ่มเขียนโปรแกรมก็อาจจะแปลงไปมาได้ลำบาก

เราลองมาสร้าง custom block ของ Snap! ให้คล้ายๆจาวากัน

1. ใน Snap! คลิกเลือกแท็บ Variables (สีส้ม) แล้วเลือกปุ่ม Make a block ด้านล่าง
2. ตั้งชื่อและหมวดของ block เช่นตามรูป แล้วเลือก OK


3. คลิกเครื่องหมาย + ด้านขวาของ for


4. เลือกหัวข้อ Title text เพื่อเพิ่มข้อความ เช่น "i="
 

 5. คลิก + หลังคำว่า i= คราวนี้เลือก Input name ลองพิมพ์ชื่อกล่องที่จะเป็นตัวแปรของลูปไว้ เช่น start
 

6. ทำต่อเนื่องไปเรื่อยๆให้ครบพารามิเตอร์ของลูปคือ start, stop, step ก็จะได้รูปแบบนี้


7. ต่อไปเราจะเพิ่มส่วนที่เป็นเนื้อหาของลูป ซึ่งเมื่อกด + ต่อแล้ว พิมพ์ชื่อสมมติว่าเป็น content และคลิกลูกศรเล็กๆสีดำที่อยู่ทางขวามือ แล้วเลือกตามรูป


8. ต่อไปก็จะใช้ block ที่มีอยู่แล้วคือ repeat until เข้ามาช่วยให้ได้รูปตามนี้


9. สุดท้ายก็จะเกิด custom block ในหมวด Control ที่เราเลือกไว้ ลองลากมาใช้ได้ครับ


10. เราสามารถ export block นี้ แล้วไป import ใช้ภายหลังได้ครับ


ดูแล้วก็ไม่ยากเกินไป ลองไปเล่นดูกันได้ครับ

No comments:

Post a Comment