คู่มือ โ ปรเเกรม SCRATCH TS Country NP รายวิชาวิธีการสอนคอมพิวเตอร์ศึกษา
คำนำ เอกสารคู่มือการปฏิบัติงานเล่มนี้ เป็นของรายวิชาวิธีการสอนคอมพิวเตอร์ ศึกษา เป็นการรวบรวมความรู้จากเอกสาร ตำรำ แนวปฎิบัติที่ดีโดยนำความรู้ เหล่านี้มาประมวลเป็นคู่มือการปฎิบัติในการใช้งาน โปรเเกรม Scratch สำหรับ ให้ผู้ที่รับผิดชอบได้ศึกษาแนวทาง สามารถปฎิบัติงานได้อย่ามีประสิทธิภาพและ ประสิทธิผลยิ่งขี้น โดยแสดงแผนผังเส้นทางการทำงาน ที่มีจุดเริ่มต้นและจุดสิ้น สุดของกระบวนการ ระบุถึงขั้นตอนและรายละเอียดของกระบวนการทั้งนี้เพื่อให้ การปฎิบัติงานเป็นระบบและมีมาตฐานเดียวกัน หวังเป็นอย่างยิ่งว่าเอกสารคู่มือการปฏิบัติงานนี้จะเป็นประโยชน์ใช้เป็น แนวทางในการปฏิบัติงานให้มีประสิทธิภาพยิ่งขี้นต่อไป ผู้จัดทำ นางสาวยูไรนี อาแว
สารบัญ หน้า เรื่อง ก ข คำนำ สารบัญ 1 2-7 เนื้อหา 8-9 10 มารู้จักกับโปรแกรม Scratch 11-12 หลักการเขียนโปรแกรม 13-16 การสื่อสารภายในและภายนอกโปรแกรม 16-19 การโต้ตอบระหว่างผู้ใช้กับโปรแกรม 20 องค์ประกอบของโปรแกรม Scratch 20-25 การเขียนโปรแกรม Scratch 26-29 การเขียนโปรแกรม Scratch ให้มีเสียง 29 การสั่งให้โปรเจคเริ่มทำงานและหยุดทำงาน กลุ่มบล็อกต่างๆ 30 30 การใช้ตัวดำเนินการ 30-39 การบันทึกโปรเจค 40 ข้อดีของโปรแกรม Scratch ข้อจำกัดของโปรแกรม Scratch การเข้าใช้งานโปรแกรม Scratch เอกสารอ้างอิง
1 Scratch เป็นสภาพแวดล้อมใหม่ของการเขียนโปรแกรม (new programming environment) ในรูปแบบที่ใช้งานง่าย เพียงลากแล้ว ปล่อยบล็อกคำสั่ง (as easy as dragging and dropping blocks) ไป ยังส่วนที่กำหนดไว้ของโปรแกรม เราสามารถที่จะใช้ Scratch เพื่อโปรแกรม games, stories, and animation การเรียนรู้ Scratch เป็นพื้นฐานสำคัญที่จะนำไปใช้ประโยชน์ (utilize to learn more advanced languages) ในการเรียนรู้ภาษาใน ระดับสูงขึ้น เช่น Ruby, PHP, and Python เป็นต้น นอกจากนี้การเรียนรู้ หรือการจัดการเรียนรู้ด้วย Scratch ยังเป็นการพัฒนาทักษะการเรียนรู้ที่ จำเป็นสำหรับศตวรรษที่ 21 (The 21st century learning skills) ด้วย การเรียนรู้ที่จะออกแบบงาน (how to design) การคิดวิเคราะห์ (think critically) การร่วมมือช่วยเหลือกัน (collaborate) การสื่อสาร (communicate) และการโปรแกรมภาษาคอมพิวเตอร์ (program in a computer language) และในการเขียนโปรแกรม งาน(ใหญ่) ควรแบ่งเป็นงานย่อยๆ แต่ไม่ ควรย่อยเกินไป เนื่องจากคอมพิวเตอร์มิได้ฉลาดสามารถคิดขั้นตอนการทำงาน ได้เอง (ในอนาคตก็ไม่แน่) อีกทั้งงานเดียวกันยังอาจทำได้หลายวิธีแตกต่างกัน ด้งนั้นเป็นหน้าที่ของโปรแกรมเมอร์ที่ต้องออกแบบการทำงาน แบ่งงาน และ ลำดับขั้นตอนการทำงาน (algorithm) ให้กับคอมพิวเตอร์
2 หลักการและแนวคิดดังกล่าวมีดังนี้ • Sequence การทํางานแบบเรียงลําดับ • Control flow การควบคุมลําดับการทํางาน มีสองแบบ คือแบบวน ซํ้า (Loop) และแบบมีเงื่อนไข (Condition) • Parallelism การทํางานแบบคู่ขนาน • Operation: การประมวณผลอักขระข้อความ (String) หรือการคํา นวณทางคณิตศาสตร์ (Logic, Mathematical functions) • Input การส่งข้อมูลจากผู้ใช้ให้กับโปรแกรมขณะทํางาน • Message การส่งสารระหว่างตัวละครต่างๆ และเวที • Event and event handling เหตุการณ์และการตอบสนองต่อเหตุ การณ์นั้นๆ • Synchronization การประสานและส่งต่อการทํางาน • user interaction การติดต่อและโต้ตอบระหว่างผู้ใช้กับโปรแกรม • User interface design การออกแบบวิธีการและช่องทางการ สื่อสารระหว่างโปรแกรมกับผู้ใช้ • Variable and structured variable ตัวแปร และตัวแปรที่มี โครงสร้าง
3 ซึ่งรายละเอียดของหลักการเขียนโปรแกรม มีดังนี้ 1. การทํางานแบบเรียงลําดับ (Sequence) การสร้างโปรแกรมใน Scratch ผู้เขียนโปรแกรมต้องคิดอย่างเป็นระบบ เกี่ยวกับลําดับขั้นตอนการทํางาน เพื่อใช้ในการสร้างสคริปต์โดยการนํา บล็อกคําสั่งมาเรียงต่อกันอย่างมีความหมาย ตามเป้าหมายที่วางไว้ ตัวอย่างเช่น การให้ตัวละครวาดรูปสี่เหลี่ยมหนึ่งรูป จะประกอบไปด้วย การทํางานย่อยหลายๆคําสั่งด้วยกัน นั้นคือ การจรดปากกาลงเตรียมวาด รูป การเคลื่อนที่ไปข้างหน้า 50 ก้าว จากนั้นเปลี่ยนทิศทางทวนเข็ม นาฬิกาไป 90 องศา แล้วก็เคลื่อนที่ไปอีก 50 ก้าว เปลี่ยนทิศทางทวน เข็มนาฬิกาอีก 90 องศา ทําแบบนี้เพิ่มอีก 2 รอบ ก็จะได้การวาดรูป สี่เหลี่ยมหนึ่งรูป จากนั้นจึงยกปากกาขึ้น จะเห็นได้ว่าการเขียนสคริปต์ให้ทํางานอะไรสักอย่าง มักจะเริ่มจากภาพรวมหรือ เป้าหมายก่อน จากนั้นแจกแจงงานเป็นลําดับขั้นตอน สร้างงานย่อยๆ และ ประกอบเข้าด้วยกัน เพื่อให้งานใหญ่นั้นสําเร็จตามเป้าหมาย
2. การควบคุมลําดับการทํางาน (Control flow) 4 งานบางอย่างง่ายพอที่จะทําแบบเรียงลําดับ ลําดับการทํางานของสคริปต์จึงตรง ไปตรงมา ทํางานเรียงลําดับจากบล็อกบนสุด ลงไปจนถึงบล็อกล่างสุด แต่งาน บางอย่างมีความซับซ้อนมากขึ้น การทํางานแบบเรียงลําดับอาจไม่เพียงพอ หรือ ไม่มีประสิทธภาพดังนั้นจึงมีการควบคุมลําดับการทํางาน อีกสองลักษณะเพื่อเพิ่ม ขีดความสามารถในการเขียนโปรแกรม นั้นก็คือ การควบคุมลําดับการทํางานแบ บวนซํ้า (Loop) และการควบคุมลําดับการ ทํางานแบบมีเงื่อนไข (Condition) โดยใช้บล็อกทําซํ้าและบล็อกเงื่อนไข ที่มีอยู่หลายแบบให้เลือกใช้ในบล็อกหมวด ควบคุม 2.1 การควบคุมลําดับทํางานแบบวนซํ้า(Loop) การควบคุมลําดับการทํางานแบบวนซํ้า เป็นการทําซํ้างาน (บล็อกที่อยู่ภายใน บล็อกทําซํ้า) เหมือนเดิมหลายๆ ครั้ง เช่น การให้ตัวละครวาดรูปสี่เหลี่ยมนั้น ส่วน หนึ่งของงานนี้คือให้ตัวละครเคลื่อนที่เป็นสี่เหลี่ยม ซึ่งมีลักษณะการทํางานซํ้ากัน คือเคลื่อนที่ไปข้างหน้า 50 ก้าว จากนั้นเปลี่ยนทิศทวนเข็มนาฬิกาไป 90 องศา ทําแบบนี้ซํ้ากัน 4 รอบจะได้รูปสี่เหลี่ยม ถึงแม้การเขียนแบบเรียงลําดับจะตรงไป ตรงมา แต่โปรแกรมจะยาวเกินไป ถ้าใช้การควบคุมลําดับการทํางานแบบวนซํ้า จะได้สคริปต์ใหม่ที่สั้นลงและอ่านทําความเข้าใจได้ง่ายกว่าดังนี้ การควบคุมลําดับการทํางานแบบวนซํ้า มีหลายลักษณะ ตามแต่ละชนิดของ บล็อกควบคุม เช่น การทํางานซํ้าที่ไม่กําหนดจํานวนรอบ คือทําไปตลอด จนกว่าจะจบโปรแกรม
5 การทํางานซํ้าที่กําหนดจํานวนรอบที่แน่นอน เช่น 10 รอบ 2.2 การควบคุมลําดับการทํางานแบบมีเงื่อนไข (Condition) เงื่อนไขถูกใช้ในการควบคุมทิศทางการทํางาน โดยการตัดสินใจที่จะทํางานหรือไม่ทํา หรือต้องเลือกทํางาน อย่างใดอย่างหนึ่ง ขึ้นอยู่กับเงื่อนไขเป็นตัวกําหนด เช่น ถ้าเงื่อนไขเป็นจริง จะหยุดทําซํ้างานที่อยู่ภายในบล็อกนี้ ถ้าเงื่อนไขเป็นเท็จ จะหยุดการทํา งานชั่วคราวจนกว่าเงื่อนไขจะเป็น จริงจึงจะทํางานในลําดับต่อไป
6 3. โอเปอร์เรชัน (Operation) การเขียนโปรแกรมต้องอาศัยการคํานวณไม่มากก็น้อย โอเปอร์เรชั่นเป็นเครื่องมือ ที่ใช้ในการคํานวณ หรือการจัดการกับข้อความตัวอักษรที่ใช้ในโปรแกรม โอเปอร์ เรชั่นใน Scratch เป็นโอเปอร์เรชั่นพื้นฐาน แต่ก็เพียงพอต่อการทําโปรเจก โอ เปอร์เรชั่นที่ซับซ้อนสามารถสร้างได้ ด้วยการประกอบโอเปอร์เรชั่นพื้นฐานเข้า ด้วยกันตามหลัก คณิตศาสตร์ โอเปอร์เรชั่นพีชคณิตและฟังก์ชันต่างๆ โอเปอร์เรชั่นตรรกะ โอเปอร์เรชั่นจัดการตั วอักษรและข้อความ พื้นที่สีขาวภายในบล็อกหมายถึงผู้ใช้สามารถใส่ข้อมูลเข้าไปได้จากคีย์บอร์ด หรือใส่ บล็อกก็ได้ พื้นที่สีขาวทรงมนรับค่าเป็นตัวเลขและรับบล็อกทรงมน พื้นที่ทรงหกเหลี่ยม รับได้เฉพาะข้อมูลที่เป็นจริงหรือเท็จจากบล็อกทรงหกเหลี่ยมเท่านั้น ส่วนพื้นที่สีขาวทรง สี่เหลี่ยมรับข้อมูลที่เป็นตัวอักษร ทําให้รับตัวเลขก็ได้ (ถือว่าเป็นตัวอักษรด้วย) รับบล็อก ทรงมนและบล็อกทรงหกเหลี่ยมก็ได้ด้วย
7 4. การทํางานแบบคู่ขนาน (Parallelism) ใน Scratch ประกอบไปด้วยตัวละครต่างๆ รวมทั้งเวที ซึ่งสามารถทํางานพร้ อมๆ กันได้ณ ขณะหนึ่งๆ เรียกการทํางานแบบนี้ว่าการทํางานแบบคู่ขนาน ซึ่งใกล้เคียงกับชีวิตจริงของคนเรา ที่เกิดการทํางานหลายๆ อย่างพร้อมกันไป ในเวลาเดียวกัน เช่น ในงานปาร์ตี้เต้นรําที่มีผู้คนมากมาย บางคนก็พูดคุยกัน บางคนก็กําลังดื่มกินอาหาร และหลายๆ คนก็กําลังเต้นไป พร้อม กับเสียง เพลงที่เปิดจากเวที ใน Scratch การทํางานแบบคู่ขนาน เป็นการทํางานจากหลายๆ สคริปต์พร้อมกัน แต่ละสคริปต์นั้นอาจมาจากตัวละครเดียวกันก็ได้ หรือ จากหลายๆ ตัวละคร รวมทั้งเวทีก็ได้ สคริปต์เหล่านี้ถูกกระตุ้นให้ทํางาน พร้อมกัน ณ ขณะหนึ่งๆ แต่ไม่จําเป็นต้องเริ่มหรือจบสคริปต์พร้อมกัน เช่นเมื่อผู้ใช้คลิกธงเขียวเริ่มต้นโปรแกรม สคริปต์ที่ตอบสนองต่อการคลิก ธงเขียวทุกสคริปต์จะเริ่มต้นทํางานพร้อมกัน แต่ขณะที่สคริปต์เหล่านั้น ทํางานอยู่ บางสคริปต์กําลังถูกกระตุ้นจากผู้ใช้ เช่นการกดคีย์หรือการ คลิกตัวละคร ให้เริ่มทํางาน หรือถูกกระตุ้นจากสคริปต์อื่นด้วยการส่งสาร
8 ขณะโปรแกรมทํางาน ผู้ใช้สามารติดต่อสื่อสารกับโปรแกรมได้โดยการติดต่อ หรือให้ข้อมูลกับโปรแกรม ภายในโปรแกรมเอง ตัวละครต่างๆ และเวที สามารถ ติดต่อสื่อสารกัน ผ่านการส่งสารหรือแชร์ข้อมูลระหว่างกันการติดต่อสื่อสา รกันทําให้เกิดเหตุการณ์ขึ้น อย่างไรก็ตาม เหตุการณ์ที่เกิดขึ้นอาจเป็นการ สื่อสารทางเดียว ถ้าอีกฝายไม่รับรู้ถึงเหตุการณ์ นั้น ดังนั้นต้องมีการตรวจจับ รับรู้ถึงเหตุการณ์ที่สนใจและเหตุการณ์ที่ถูกตรวจจับได้เท่านั้น จึงจะมีการตอบ สนองต่อเหตุการณ์นั้น 1. การติดต่อและให้ข้อมูลจากผู้ใช้(Input) ขณะโปรแกรมทํางาน ผู้ใช้สามารถติดต่อหรือให้ข้อมูลใหม่ๆ กับโปรแกรมได้ โดยทําได้หลายทาง เช่น การคลิกด้วยเมาส์ การกดคีย์บอร์ด การเปลี่ยนระดับ เสียง ผ่านการพูดใส่ไมโครโฟนการปรับค่าขัอมูลของตัวแปร ผ่านการเลื่อน สไลส์เดอร์ เป็นต้น 2. การส่งสารระหว่างตัวละครและเวที (Message) เวทีและตัวละครต่างๆ สามารถติดต่อสื่อสารกันได้ ด้วยการส่งสารระหว่างกัน โดยเริ่มจากการสร้างสารขึ้นมาก่อน จากนั้นตัวละครหรือเวทีสามารส่งสารออก ไปได้ ด้วยการกระจายสารซึ่งไม่ระบุผู้รับ เวทีหรือตัวละครใดที่สนใจรับสารนี้ ก็ สามารถตรวจจับสารนี้และตอบสนองต่อสารที่รับได้
3. การเกิดเหตุการณ์ (Events) 9 ในขณะที่โปรแกรมกําลังทํางาน มีเหตุการณ์เกิดขึ้นมากมายในโปรแกรม ทั้งจาก การติดต่อและโต้ตอบระหว่างโปรแกรมกับผู้ใช้ ระหว่างตัวละครกับเวที หรือ ระหว่างตัวละครด้วยกันเองเหตุการณ์ที่เกิดจากผู้ใช้ เช่น ผู้ใช้คลิกธงเขียวเริ่มต้น โปรแกรม ผู้ใช้คลิกตัวละคร ผู้ใช้พิมพ์ข้อความตอบคําถามจากตัวละคร เหตุการณ์ที่เกิดจากตัวละครหรือเวที เช่น การชนขอบเวทีของตัวละคร การชน หรือการสัมผัสกันเองระหว่างตัวละคร การส่งสารระหว่างตัวละคร เป็น 4. ต้นการตอบสนองต่อเหตุการณ์ (Event handling) เมื่อเหตุการณ์เกิดขึ้น เหตุการณ์ที่ได้รับความสนใจเท่านั้น ที่จะมีการตอบสนอง ต่อเหตุการณ์นั้นๆ การตอบสนองต่อเหตุการณ์นั้น ต้องอาศัยการตรวจจับ หรือ การรับสารว่าเหตุการณ์นั้นๆ เกิดขึ้นหรือยัง ใน Scratch ใช้บล็อกควบคุมรูป ทรงหมวก เป็นตัวกําหนดว่า เหตุการณ์ไหนได้รับความสนใจส่วนสคริปต์ใต้บล็อก ควบคุมดังกล่าว เป็นงานที่ตอบสนองต่อเหตุการณ์นั้นๆ เหตุการณ์จะไม่มีความหมายเลย ถ้าไม่มีสคริปต์ใดคอยตัวจับเหตุการณ์เหล่านั้น เช่น ถ้าไม่มีสคริปต์ใดเลยตรวจจับและตอบสนองการคลิกธงเขียว จากผู้ใช้ โปรแกรมที่เขียนมา จะไม่สามารถเริ่มต้นทํางานได้เลย 5. การประสานงาน (Synchronization) การทํางานของตัวละครและเวที อาจเกิดขึ้นพร้อมๆ กันในลักษณะคู่ขนาน (Parallelism) ที่ต่างคนต่างทํางานของตนไป แต่ลักษณะการทํางานอีกแบบ หนึ่ง คือการทํางานร่วมกัน ที่มีลําดับขั้นตอนการทํางานระหว่างกัน บางครั้งต้อง คอยรับงานจากคนอื่น บางครั้งต้องส่งงานให้คนอื่นทําต่อ ทุกคนต้องทํางาน ประสานกัน ให้เป็นจังหวะเดียวกัน เพื่อให้งานใหญ่สําเร็จลุร่วงไปได้การประสาน งานให้เป็นจังหวะเดียวกัน คล้ายกับการส่งไม้ในการวิ่งผลัด นักวิ่งคนแรกส่งไม้ให้ นักวิ่งคนที่สองวิ่งต่อ จากนั้นส่งไม้ให้นักวิ่งคนถัดไปวิ่งต่อ จนกระทั้งนักวิ่งคน สุดท้ายวิ่งเข้าเส้นชัย การประสานงานระหว่างตัวละครและเวทีใน Scratch ใช้วิธีการสร้างสาร (Message) เพื่อใช้สื่อสารระหว่างกัน เปรียบเสมือนไม้ผลัด เมื่อต้องการส่งสาร เพื่อส่งต่อการทํางานระหว่างกัน ก็จะส่งกระจายสารออกไป (Broadcast) ผู้รับที่ สนใจในสารนี้ ก็จะรับสารแล้วทํางานต่อไปเปรียบเสมือนการส่งไม้ผลัด ให้คนที่รับ ไม้วิ่งต่อไปนั้นเอง
10 การโต้ตอบระหว่างผู้ใช้กับโปรแกรม เป็นกระบวนการต่อเนื่อง ที่ผู้ใช้ ติดต่อสื่อสารกับโปรแกรม ด้วยการให้ข้อมูลในรูปแบบต่างๆ ซึ่งทําให้เกิด เหตุการณ์ในโปรแกรม ตามลักษณะการให้ข้อมูลนั้น เมื่อโปรแกรมรับรู้และตรวจ จับเหตุการณ์ที่เกิดขึ้น ก็สามารถตอบสนองต่อเหตุการณ์นั้นๆ ได้ตามที่ได้เขียน โปรแกรมเอาไว้การโต้ตอบระหว่างผู้ใช้กับโปรแกรม เป็นเหตุการณ์แบบหนึ่งที่ อาจเกิดเมื่อใดก็ได้ เกิดชั่วครั้งชั่วคราวก็ได้ เกิดอย่างต่อเนื่องก็ได้ หรือไม่เกิดเลย ก็ได้ ขึ้นกับการออกแบบและชนิดของโปรแกรม เช่น โปรแกรมแอนิเมชั่น ที่ผู้ใช้ อาจดูอย่างเดียว ไม่โต้ตอบกับโปรแกรมเลย โปรแกรมตอบโจทย์คณิตศาสตร์ที่ผู้ ใช้ต้องตอบคําถามกับโปรแกรม ด้วยการคลิกเมาส์หรือกดคีย์เลือกคําตอบ หรือ โปรแกรมเกม ที่ผู้ใช้ต้องโต้ตอบกับโปรแกรมตลอดเวลา เป็นต้น การออกแบบช่องทางการติดต่อระหว่างโปรแกรมกับผู้ใช้ (User interface design) โปรแกรมรับรู้การติดต่อ เมื่อได้รับข้อมูลจากผู้ใช้ แต่จะ ตอบสนองเฉพาะสิ่งที่โปรแกรมสนใจ ซึ่งต้องถูกเขียนโปรแกรมไว้ล่วงหน้ามาแล้ว เช่น เขียนโปรแกรมให้รับรู้และตอบสนองต่อการกดคีย์ x ถ้าผู้ใช้กดคีย์ x โปรแกรมก็จะตอบสนองตามที่ได้เขียนโปรแกรมไว้ แต่ถ้าผู้ใช้กดคีย์ y ซึ่ง โปรแกรมไม่รับรู้การกดคีย์ y จึงไม่ทําอะไรตอบสนอง การรับรู้และตอบสนองต่อการกดคีย์ x เป็นการสร้างช่องทางให้ผู้ใช้ ติดต่อสื่อสารกับโปรแกรมในขณะที่การกดคีย์ y ไม่ได้เป็นช่องทางติดต่อระหว่าง ผู้ใช้กับโปรแกรม นอกจากผู้ใช้จะสามารถติดต่อโปรแกรมผ่านอุปกรณ์ต่างๆ ของคอมพิวเตอร์ (เมาส์ คีย์บอร์ด ไมโครโฟน) ได้แล้ว การสร้างตัวละครขึ้นมา เพื่อเป็นอีกช่องทางหนึ่งให้ผู้ใช้ติดต่อกับโปรแกรมโดยเฉพาะ ก็สามารถทําได้ โดยตัวละครเหล่านี้จะอยู่กับที่ คล้ายปุม พร้อมจะทำงานเมื่อผู้ใช้คลิกที่ตัวละคร เหล่านี้
องค์ประกอบของโปรแกรม Scratch 11 1. แถบเมนูเครื่องมือ (Toolbar) 2. เครื่องมือเวที (Stage Toolbar) 3. ข้อมูลของเวที หรือตัวละครที่ถูกเลือก (Sprite Header Pane) 4. กลุ่มบล็อกคำสั่ง 5. บล็อกคำสั่งในกลุ่มที่เลือก 6. พื้นที่เขียนสคริปต์ (Script) 7. เวที (Stage) 8. ตัวละคร 9. รายการตัวละคร และเวทีที่ใช้ในโปรเจ็กต์ปัจจุบัน (Sprites Pane) บล็อกโปรแกรมคำสั่ง เป็นบล็อกคำสั่งโปรแกรมภาษาคอมพิวเตอร์ที่ใช้สั่งการ ให้โปรแกรม scratch ทำงานตามที่ได้ออกแบบไว้ โดยมีบล็อคโปรแกรมคำสั่ง พื้นฐานที่ควรทราบดังนี้
12 และหากต้องการเปลี่ยนภาษาในโปรแกรมให้คลิกที่สัญลักษณ์
13 การเขียนโปรแกรม scratch คือ การเขียนสคริปให้ตัวละครแต่ละตัวรวม ทั้งฉาก ทำงานร่วมกันโดยที่ตัวละครแต่ละตัวรวมทั้งฉาก สามารถมีได้หลาย สคริปต์ หรือไม่มีสคริปต์เลยก็ได้ เช่น การกำหนดวัตถุประสงค์หรือปัญหา : ต้องการให้ตัวละครพูดว่า \"โรงเรียนของฉัน\" การวางแผนการแก้ปัญหา : ต้องออกแบบซอฟต์แวร์อย่างชัดเจนและนำไปเขียน โปรแกรมภาษาคอมพิวเตอร์ scratch การออกแบบซอฟต์แวร์ : ออกแบบโดยใช้ผังงาน
1. เลือกตัวละคร Sprite 1 14 2. เลือกบล็อกรูปร่าง แล้วทำการลากบล็อกพูดออกมาวางตรงพื้นที่เขียน โปรแกรม (Script Area)
3. คลิกช่องข้อความและแก้ไขเป็นคำว่า \"โรงเรียนของฉัน\" 15 4. คลิกพื้นที่ของบล็อกเพื่อทำการประมวลผล หรือ Runโปรแกรม จากนั้น ตัวละคร Sprite1 จะพูดคำว่า \"โรงเรียนของฉัน\"
5. ทำการบันทึก โดยเลือกแฟ้มและเลือกบันทึก 16 การกำหนดวัตถุประสงค์ หรือปัญหา : ต้องการให้ตัวละครพูดว่า \"โรงเรียน ของฉัน\" และให้มีเสียงแมว การวางแผนการแก้ปัญหา : ต้องออกแบบซอฟต์แวร์อย่างชัดเจน และนำไป เขียนโปรแกรมภาษาคอมพิวเตอร์ Scratch การออกแบบซอฟต์แวร์ : ออกแบบโดยใช้ผังงาน
1. เลือกเหตุการณ์และลากบล็อกโปรแกรม วางในพื้นที่เขียนโปรแกรม 17 (Script Area) 2. เลือกบล็อครูปร่าง และลากบล็อก ต่อเข้ากับบล็อก
3. แก้ไขข้อความในบล็อก เป็น 18 4. เลือกเสียง Sound และ เลือกบล็อก ต่อล่างบล็อก
5. คลิกธงสีเขียวเพื่อรันโปรแกรม 19 6. บันทึกโปรแกรม
การสั่งให้โปรเจกต์เริ่มทำงานและหยุดทำงาน 20 การสั่งให้โปรเจกต์เริ่มทำงาน ทำได้โดยคลิก ซึ่งอยู่มุมขวาบนขวาของเวที โดยทุกสคริปต์ของทุกตัวละครและเวที ที่เริ่มต้นสคริปต์ด้วยบล็อก จะเริ่ม ทำงานพร้อมกัน และถ้าต้องการหยุดการทำงานทั้งโปรเจกต์ ให้คลิก กลุ่มบล็อกต่างๆ 1. บล็อก Motion กลุ่มบล็อก Motion ประกอบด้วยบล็อกที่ใช้เพื่อก าหนดรูปแบบการ เคลื่อนที่ให้ตัวละคร เช่น เคลื่อนที่ไปข้างหน้า หมุน ไปที่ต าแหน่งต่างๆ บนเวที โดยสามารถกำหนดค่าของการเคลื่อนที่ได้ บล็อกในกลุ่มบล็อก Motionดังตาราง
21 2. บล็อก Looks กลุ่มบล็อก Looks ใช้ส าหรับการเขียนสคริปต์เพื่อสั่งให้ตัวละครหรือเวที แสดงคุณสมบัติต่างๆ เช่น ตัวละครพูด เปลี่ยนชุดตัวละคร เปลี่ยนสีตัวละคร เปลี่ยขนาดตัวละคร เปลี่ยนพื้นหลัง บล็อกในกลุ่มบล็อกLooks ของตัวละคร ดังตารางที่ 2.1 และของเวที ดังตารางที่ 2.2 ตารางที่ 2.1 บล็อกในกลุ่มบล็อก Looks ของตัวละคร
22
ตารางที่ 2.2 บล็อกในกลุ่มบล็อก Looks ของเวที 23 3. บล็อก Sound กลุ่มบล็อก Sound ท างานเกี่ยวกับการแสดงเสียงต่างๆ ซึ่งอาจเป็นเสียงจาก ไฟล์ที่มีอยู่ หรือไฟล์เสียงที่บันทึกโดยเครื่องมือบันทึกเสียง (Sound Recorder) ซึ่งอยู่ในโปรแกรม Scratch ไฟล์เสียงจะมีส่วนขยายเป็น .wavหรือ .mp3 นอกจากนี้ ยังมบล็อกที่สามารถก าหนดเสียงของเครื่องดนตรีชนิดต่างๆ ได้ กลุ่มบล็อก Sound มีดังนี้
4. บล็อก Pen 24 โปรแกรม Scratch มีกลุ่มบล็อก Pen ซึ่งเปรียบเสมือนปากกาที่ช่วยในการ วาดรูปต่างๆ โดยสามารถกำหนดลักษณะปากกาได้ เช่น กำหนดสี ขนาดเส้น การยกปากกา การวางปากกา กลุ่มบล็อก Pen มีดังนี้
5. บล็อก Sensing 25 กลุ่มบล็อก Sensing ใช้ตรวจสอบการรับรู้ต่างๆ เช่น การสัมผัส เสียง ระยะเวลา มีดังนี้
การใช้ตัวดำเนินการ 26 ในการคำนวณใดๆ จะต้องมีการระบุตัวดำเนินการ (Operator) เพื่อสั่งให้ คำนวณ เปรียบเทียบ ในโปรแกรม Scratch มีกลุ่มบล็อก Operators ให้ใช้งาน ซึ่งประกอบด้วยบล็อกที่ใช้ในการค านวณพื้นบาน การเปรียบ เทียบ ตรรกะ และฟังก์ชั่นในการทำงานต่างๆ ในบล็อก Operators จะมี โครงสร้างที่ประกอบไปด้วย ช่องกำหนดค่า ตัวดำเนินการหรือคำสั่ง ซึ่ง ช่องกำหนดค่า สามารถใส่ตัวเลข อักขระ หรือลากบล็อกอื่นๆ มาวางบน บล็อกก็ได้ โดยกำหนดค่าดังน 1. บล็อก Operators คำนวณพื้นฐาน ภายในบล็อก Operators คำนวณพื้นฐาน มีตัวดำเนินการต่างๆ ที่ใช้ใน การคำนวณ เช่น บวก ลบ คูณหาร มอดูลัส ตัวอย่างการใช้งานเช่น
27 หมายเหตุ มอดูลัส คือ การหาเศษที่เหลือที่น้อยที่สุดจากการหารและไม่ใช่ จำนวนลบ เช่น 5 mod 2 ( 5หาร 2 = 2 เหลือเศษ 1 ) ผลลัพธ์ที่ได้คือ 1 ในกรณีที่ต้องการใช้ตัวดำเนินการมากกว่าหนึ่งตัว สามารถทำได้โดยนำ บล็อกที่ต้องการมาวางบนบล็อกOperators ดังตัวอย่างต่อไปนี้ ตัวอย่างที่ 1 1 + (2 * 3) ล าดับการค านวณ คือ 1) ค านวณค่าในวงเล็บก่อน โดยน า 2 มาคูณกับ 3 ซึ่งมีค่าเท่ากับ 6 2) น าผลลัพธ์ที่ได้ข้อ 1 มาบวกกับ 1 จะได้ 6 + 1 = 7 ในโปรแกรม Scratch สามารถท าได้ดังนี้ 1) ลากบล็อกบวกมาวาง 2) พิมพ์เลข 1 ลงในช่องก าหนดค่าด้านซ้าย 3) ลากบล็อกคูณมาวางลงในช่องก าหนดค่าด้านขวา 4) จะได้บล็อกคูณซ้อนอยู่ในบล็อกบวก 5) พิมพ์เลข 2 และ 3 ลงในช่องก าหนดค่าของบล็อกคูณ หมายเหตุ การคำนวณค่าในบล็อกจะคำนวณในบล็อกนั้นๆ ก่อน เหมือนกับการ คำนวณในวงเล็บก่อน แล้วจึงคำนวณส่วนที่เหลือภายหลัง เช่น (3*5)-(4/2) = 15-2= 13
28 ตัวอย่างที่ 2 (3*5)-(4/2) สามารถกำหนดในโปรแกรม scratch ได้ดังนี้ 1) ลากบล็อกลงมาวาง 2) ลากบล็อกคูณ มาวางในช่องก าหนดค่าด้านซ้ายของบล็อกลบ จะได้บล็อก คูณซ้อนอยู่ในบล็อกลบ 3) พิมพ์เลข 3 และ 5 ลงในช่องกำหนดค่า ตามลำดับ 4) ลากบล็อกหาร มาวางในช่องกำหนดค่าด้านขวาของบล็อกลบ จะได้บล็อก หารซ้อนอยู่ในบล็อกลบ 5) พิมพ์เลข 4 และ 2 ลงในช่องกำหนดค่า ตามลำดับ 2. บล็อก Operators เปรียบเทียบ การใช้งานบล็อก Operators เปรียบเทียบ สามารถใส่ค่าหรือลากบล็อกที่ ต้องการเปรียบเทียบลงในช่องกำหนดค่า ผลลัพธ์จากการใช้ตัวดำเนินการเปรียบ เทียบจะได้ค่าเป็นจริงหรือเท็จ ตัวอย่างเช่น
3. บล็อก Operators ฟังก์ชั่น 29 บล็อก Operators ฟังก์ชั่น มีบล็อกที่จัดการตัวอักษรและข้อความ และ บล็อกที่คำนวณทางคณิตศาสตร์ตัวอย่างเช่น การบันทึกโปรเจกต์
ข้อดีของโปรแกรม scratch 30 สามารถสร้างชิ้นงานได้อย่างง่ายดาย ขนาดของโปรแกรมไม่เยอะ สะดวกต่อการติดตั้ง พกพา สามารถเลือกใช้ภาษาไทยได้ สามารถสร้างงานได้หลากหลาย เหมาะสำหรับผู้ที่เริ่มต้นในการเขียนโปรแกรม ข้อจำกัดของโปรแกรม scratch คุณภาพของงาน ความละเอียดของชิ้นงานยังไม่ดี การส่งออกงานค่อนข้างยุ่งยาก ต้องใช้โปรแกรมอื่นเข้าช่วย บางคำสั่ง หรือฟังก์ชั่นการทำงานบางอย่าง เมื่อแปลเป็นภาษา ไทยแล้วยังไม่ตรงกับความหมาย 1. เปิดเว็บเบราเซอร์โครม (Chrome Web Browser) และป้อน https://scratch.mit.edu/ ที่ช่องที่อยู่เว็บ กดแป้น Enter จะปรากฏ หน้าต่างโปรแกรม Scratch
2. คลิก Join Scratch 31 3. ป้อนชื่อผู้ใช้ (Scratch Username) เป็นภาษาอังกฤษ
4. ป้อนรหัสผ่าน (Password) ไม่น้อยกว่า 6 ตัวอักษร หรือตัวเลข 32 5. ป้อนรหัสผ่านอีกครั้งในช่อง Confirm Password และคลิกถัดไป (Next)
33 6. ป้อน เดือนเกิด ปี ค.ศ.เกิด เพศ และประเทศ แล้วกดปุ่ม Next 7. ป้อนอีเมลของครู หรือผู้ปกครอง และยืนยันอีเมล
8. จะพบหน้าต่างต้อนรับ ให้คลิกปุ่ม OK Lets Go! 34 9. แจ้งครู หรือผู้ปกครอง ให้ยืนยันอีเมล โดยให้เข้าอีเมล และคลิก Confirm my email address
10. เมื่อสมัครสมาชิกเสร็จแล้วจะปรากฏหน้าต่างนี้ แล้ว 35 ทำการตรวจสอบชื่อผู้ใช้ที่มุมบนขวา
36 1. เปิดเว็บเบราเซอร์ และป้อน https://scratch.mit.edu/download ลงช่อง URL แล้วกดแป้น Enter จะปรากฏหน้าต่างโปรแกรม Scratch ให้ดาวน์โหลด 2. เลื่อนลงมาจะพบให้ดาวน์โหลดโปรแกรม Adobe AIR โดยเลือกตาม ระบบปฏิบัติการที่ใช้
3. คลิกปุ่ม Download now 37 4. เมื่อเสร็จสิ้นการดาวน์โหลด ให้คลิกปุ่ม Next ที่อยู่ด้านล่างเพื่อ ติดตั้ง Adobe AIR
38 5. เมื่อติดตั้ง Adobe AIR เสร็จแล้ว ให้กลับมาหน้าเว็บไซต์เดิม จะพบ ขั้นตอนที่ 2 ให้ดาวน์โหลดโปรแกรม Scratch Offline Editor โดย เลือกตามระบบปฏิบัติการที่ใช้ 6. เมื่อเสร็จสิ้นการดาวน์โหลด ให้ดับเบิลคลิกไฟล์ที่อยู่ด้านล่างเพื่อติดตั้ง โปรแกรม Scratch
39 7. เมื่อคลิกติดตั้งโปรแกรม Scratch จะปรากฏหน้าต่าง Open File คลิก ปุ่ม Run เพื่อติดตั้งโปรแกรม จากนั้นคลิกปุ่ม Continue 8. รอการติดตั้งโปรแกรม Scratch เมื่อเสร็จสิ้นการติดตั้งจะปรากฏ หน้าต่างการเขียนโปรแกรมภาษา Scratch
เอกสารอ้างอิง http://www.168training.com/e-learning_IPST/tc_co_p4_1/lesson2/content1/index.php? fbclid=IwAR3twLCFhdHX9TvqvQT3-HoQSBprdwQgT7J_8oVtCnN2eNsCFHt0j4PHr_8 https://www.rajini.ac.th/ http://www.vdolearning.com/vdotutor/index.php/85-computer- science/scratch/458-scratch-offline
Search
Read the Text Version
- 1 - 46
Pages: