Professional Documents
Culture Documents
คู่มือ Scratch 2
คู่มือ Scratch 2
หรือการออกแบบอัลกอริทึม
N
O
วิชาอื่น การเขียนโปรแกรมการคาดการณ์ผลลัพธ์ การตรวจหาข้อผิดพลาดการพัฒนา
TI
แอปพลิเคชันหรือพัฒนาโครงงานอย่างสร้างสรรค์เพื่อแก้ปัญหาในชีวิตจริง
A
C
U
ED
G
IN
R
EE
IN
G
A
Scratch ซอฟต์แวร์
ที่ใช้เขียน
N
โปรแกรม
รม
O
ก
ป รแ
Tโ I
A
C
การเขียน
U
โปรแกรม
การออกแบบ ED
โปรแกรม
การตรวจ
การเขียน
สอบหาข้อ
G
Storyboard
ผิดพลาด
IN
การแก้ไข
การออกแบบ
R
ข้อผิดพลาด
อัลกอริทีม
EE
การหาข้อผิดพลาด
IN
ตัวชี้วัด
G
และตรวจหาข้อผิดพลาดและแก้ไข
IM
Keywords
1. programming = การเขียนโปรแกรม 5. scratch = โปรแกรมฝึกเขียนโค้ด
2. coding = การเขียนโค้ด 6. storyboard = การเขียนภาพลงในกรอบ
3. computer = ภาษาในการ แสดงเรื่องราวเป็นลำ�ดับขั้น
Language เขียนโปรแกรม 7. algorithm = การแสดงลำ�ดับขั้นตอน
4. programmer = นักเขียนโปรแกรม 8. debugging = การแก้ไขข้อผิดพลาด
26
การออกแบบโปรแกรมอย่างง่าย โดยใช้ Story Board
สตอรี่ บ อร์ ด (story board) คื อ แสดงล�ำดั บ ขั้ น ตอนการท�ำงานของ
โปรแกรมทีละล�ำดับขั้น โดยเขียนเป็นภาพ ข้อความ และภาพเคลื่อนไหว
ซึ่งการเขียน storyboard มี 2 ส่วนดังนี้
N
O
TI
A
C
U
ED
G
IN
R
ส่วนของภาพโดยจะวาดอยู่ ส่วนของการบรรยายเป็น
EE
ใน กรอบสี่เหลี่ยม ข้อความหรือบทสนทนา
IN
G
การเขียน Storyboard
A
มีข้อดีอย่างไรบ้างครับ
IM
ท�ำให้เราได้เห็น
เนื้อเรื่องที่จะสร้างตั้งแต่ต้นจนจบ
ท�ำให้ได้เนื้อเรื่องเหมาะสม
และหากมีข้อผิดพลาดจะได้
ทราบก่อนลงมือท�ำไงละ
Primary 4
27
ตัวอย่าง ให้ออกแบบ story board นิทานเรื่อง ราชสีห์กับหนู
ราชสีห์ตัวหนึ่งนอนหลับอยู่ในป่า มีเจ้าหนูมาวิ่งไต่ตามล�ำตัวราชสีห์โกรธมากแต่
เห็นว่าเจ้าหนูเป็นสัตว์ตัวเล็กจึงไล่ให้ไปไกลๆเมื่อครั้นราชสีห์ออกไปล่าสัตว์ได้ติด
กับบ่วงนายพรานออกไม่ได้ เจ้าหนูส�ำนึกในบุญคุณจึงกลับมาช่วยราชสีห์ให้รอดพ้น
กับบ่วงนายพราน นิทานเรื่องนี้สอนให้รู้ว่าสัตว์ตัวเล็กก็มีประโยชน์ไม่แพ้สัตว์ใหญ่
N
O
TI
A
C
U
ED
ราชสีหน์ อนหลับอยูใ่ นป่า ราชสีหโ์ กธรและพูดว่าเห็นว่าเจ้าเป็น
เจ้าหนูมาเดินรบกวนอยูใ่ กล้ๆ สัตว์ตวั เล็กๆ จึงปล่อยเจ้าไป
G
IN
R
EE
IN
นายพรานราชสีหจ์ งึ ออกไม่ได้
A
IM
N
การออกแบบอัลกอริทมึ นัน้ สามารถท�ำได้โดยใช้การเขียนสัญลักษณ์ทเี่ รียกว่า
O
TI
Flowchart โดยมีรูปแบบของสัญลักษณ์ดังต่อไปนี้
A
C
สัญลักษณ์ ภาษาอังกฤษ ความหมายของสัญลักษณ์
U
ED
Terminator จุดเริ่มต้น/สิ้นสุด
G
Input
IN
ข้อมูล นำ�เข้า/ส่งออก
Output
R
EE
Process การประมวลผลข้อมูล
IN
G
กำ�หนดทิศทางการทำ�งานต่อไป
IM
Primary 4
29
ตัวอย่างการออกแบบโปรแกรมอย่างง่าย โดยใช้ Flowchart
วันนี้ลิปดาตื่นสาย จึงคิดเลือกวิธีการเดินทางไปโรงเรียนใหม่ อาจจะต้องใช้
รถยนต์หรือ รถมอเตอร์ไซต์ ซึ่งปกติลิปดาเดินทางด้วยรถประจ�ำทาง ลิปดา
ต้องประมวลผล เปรียบเทียบว่าระยะเวลาการเดินทางใดจะสามารถเดินทาง
ได้เร็วที่สุด
N
O
TI
แย่แล้วเราจะตัดสินใจ จุดเริ่มต้น
A
อย่างไรดีนะเนี่ย
C
U
ED
เลือกวิธีการ
G
IN
R
การประมวลผลข้อมูลเลือก
IM
เส้นทางที่ใช้เวลาน้อยที่สุด
ออกแบบการแก้ไข
ปัญหาได้เยี่ยมมาก
ลิปดา สิ้นสุด
30
กิจวัตรประจ�ำวัน
N
กิจวัตรประจ�ำวันเหมือนกันเรามาสร้าง
O
storyboard หรือ ออกแบบอัลกอริทึม
TI
กิจวัตรประจ�ำวันตนเองกัน
A
C
U
ED Missions :
G
IN
หรือออกแบบอัลกอริทึมกิจวัตรประจ�ำวันของตนเอง
EE
ในการแก้ไขปัญหา คืออะไร
Plan & Design : แบ่งหน้าที่การท�ำงานวางแผนออกแบบโปรแกรมโดยใช้
Story Board หรืออัลกอริทึมในการแก้ไขปัญหา
Primary 4
31
ให้นักเรียนเขียนลำ�ดับการทำ�งานของกิจกรรมนี้
N
O
TI
A
C
U
ED
G
IN
R
EE
IN
G
A
IM
การออกแบบโปรแกรมก่อนจะลงมือเขียนโปรแกรมมีประโยชน์อย่างไร
การออกแบบโปรแกรมโดยใช้ Story Board คืออะไร
การออกแบบโปรแกรมโดยใช้ อัลกอริทึม คืออะไร
32
เด็กๆ จะได้อะไรจากการเขียนโปรแกรม Scratch
การฝึกเขียนโปรแกรมเป็นเครือ่ งมือทีส่ ง่ เสริมทักษะกระบวนการคิดเชิงค�ำนวณในการ
แก้ปญ
ั หาการคิดอย่างเป็นระบบ(Computational Thinking) และการคิดสร้างสรรค์
(Creative Thinking) ทีช่ ว่ ยให้ผเู้ รียนพัฒนาทักษะการคิด ออกมาในรูปแบบการเขียน
โปรแกรมสร้างโปรเจกต์หรือสร้างชิน้ งาน และน�ำเสนอ
N
O
TI
A
C
U
ED
G
IN
R
EE
IN
G
A
ท�ำไมต้องใช้โปรแกรม Scratch
IM
N
หน้าตาของโปรแกรม
O
TI
ชุดคำ�สั่ง(Sprites)
A
C
เวที(Stage)
U
ED
พื้นที่ในการเขียนโปรแกรม
(Scripts Area)
G
โดยการลากกล่องคำ�สั่งใน
IN
(Sprites&Background)
EE
ใช้แสดงผลของชุดค�ำสั่งการท�ำงานของโปรแกรม
G
A
N
O
TI
A
C
U
ED
G
และเลือกตัวละครที่ต้องการให้ถูกต้อง
A
Primary 4
35
การเขียนโปรแกรมย่อและขยายขนาด
เป็นการเปลี่ยนขนาดของตัวละคร โดยมีค�ำสั่งที่เกี่ยวข้อง เช่น
1. คือการเปลี่ยนขนาดเพิ่มขึ้นหรือลดลง
2. คือการก�ำหนดขนาดเพิ่มขึ้น-ลดลงตามเปอร์เซ็นต์
N
O
TI
A
C
U
ED
G
IN
R
EE
ลากชุดค�ำสัง่
ซึ่งเป็นค�ำสั่งคัดลอกตัวละคร โดยในตัวอย่าง ไปยัง พืน้ ทีส่ งั่ งานเขียนโปรแกรม
G
โดยเมาส์พอยเตอร์จะเปลี่ยนเป็น เป็นค�ำสั่งเปลี่ยนขนาดโดยสามารถ
แต่ตวั ละครทีค่ ดั ลอกจะซ้อนกันต้องลากออกมา ใส่ขนาดเพิ่ม (+10) และ ลด (-10)
สังเกตตัวละครและเลือกตัวละครทีต่ อ้ งการ ค�ำสัง่ ก�ำหนดขนาด
จากตัวอย่างจะมีตัวละคร 3 ตัว ที่คัดลอกไว้ซึ่ง เป็นค�ำสัง่ ก�ำหนดขนาดคิดเป็นเปอร์เซ็นต์ของภาพ
ตัวละคร 1 ตัวจะมีค�ำสั่งแต่ละตัวไม่เหมือนกัน
คลิกเลือกลากค�ำสัง่ เมือ่ เปลีย่ นขนาดตามต้องการแล้ว
ซึ่งเป็นชุดค�ำสั่งเกี่ยวกับหน้าตารูปร่าง จะเห็นการเปลี่ยนแปลงในบริเวณเวทีดังภาพ
36
การเขียนโปรแกรมเปลี่ยนรูปร่าง
การเปลี่ยนรูปร่างนิยมใช้เมื่อ ตัวละครที่เคลื่อนที่หรือพบกับเหตุการณ์
แล้วเปลี่ยนลักษณะท่าทางการแสดงของตัวละคร โดยมีตัวอย่างค�ำสั่งเช่น
คือ ค�ำสั่งเปลี่ยนชุดตัวละครไปยังชุดที่......
N
O
TI
A
C
U
ED
G
IN
R
EE
IN
ละครเพิ่มเติมลงไป วาดหรือเปลี่ยนสีเองได้
A
ซึ่งเป็นค�ำสั่งจัดการชุดหรือรูปร่างของตัวละคร โดยในตัวอย่างจะเป็นแมวนอน
แต่ละตัว
จะมีหน้าต่าง Custumes ขึน้ มา คลิกเลือก
ให้สังเกตชุดของตัวละครด้านซ้ายซึ่งโดยปกติ แล้วลากค�ำสั่ง
จะมี 2 ชุด ไปยัง พื้นที่สั่งงานเขียนโปรแกรม (Scripts area)
สามารถเลือกชุดหรือรูปร่างตัวละครเพิม่ ลองใช้คำ� สัง่ เปลีย่ นชุดหรือรูปร่างตัวละคร
ได้โดยการกดที่ สังเกตการเปลี่ยนแปลงบริเวณเวที
Primary 4
37
การสร้างพื้นหลัง (Background)
ในโปรแกรม scartch สามารถวาดรูปเพื่อสร้างพื้นหลัง สามารถน�ำภาพ
ที่มีอยู่ในโปรแกรม หรือน�ำรูปถ่ายจากภายนอกเข้ามาเป็นฉากพื้นหลังได้
เพื่อน�ำมาสร้างเป็นฉากเรื่องราวที่เหมาะสมกับตัวละคร
N
O
TI
A
C
U
ED
G
IN
R
EE
IN
จะมี โปรแกรมสามารถเลือกได้โดยการคลิก
ค�ำสั่งควบคุม ท�ำพื้นหลัง และเรื่องเสียง ค�ำสั่ง Choose backdrop from library
ชุดค�ำสัง่ การวาด ได้แก่ พู่กัน วาดเส้น ในหน้าต่าง Backdrops Libray
สี่เหลี่ยม วงกลม ตัวอักษร เทสี ยางลบ จะมีหมวดให้เลือก เช่น Indoor outdoor เป็นต้น
คัดลอก เมื่อเลือกเรียบร้อยแล้วให้กด Ok
ชุดค�ำสัง่ การเลือกสี ให้สงั เกตทีบ่ ริเวณเวที (Stage)
จะมีทั้งในตารางสีและสามารถเลือกเพิ่มเติมได้ เมื่อมีการเปลี่ยนแปลงพื้นหลัง (Backdrop)
38
การสร้างภาพเคลื่อนไหว (Animation)
สามารถท�ำได้โดยการใช้ค�ำสั่งเปลี่ยนแปลงชุดหรือรูปร่าง(Costmue)
และค�ำสั่งหยุดรอ wait สลับไปมาเพื่อให้ตาของเรา
มองเห็นภาพเป็นลักษณะของภาพเคลื่อนไหว
N
O
ชุดที่ 1 ชุดที่ 2 ชุดที่ 1 ชุดที่ 2 ชุดที่ 1
TI
A
C
10 Pixel 10 Pixel 10 Pixel 10 Pixel
U
หยุดแสดง หยุดแสดง หยุดแสดง หยุดแสดง
ภาพ 1 วินาที ภาพ 1 วินาที ภาพ 1 วินาที ภาพ 1 วินาที ED
G
IN
R
EE
IN
และท�ำการเลือก costume 2
A
Primary 4
39
การวนซ�้ำและวนซ�้ำไม่สิ้นสุด (Loop Repeat , Loop Forever)
จากชุดค�ำสั่งการสร้างภาพเคลื่อนไหว จะเห็นได้ว่ามีการใช้ค�ำสั่งที่ซ�้ำกัน
มีลักษณะเป็นชุดค�ำสั่ง คือ move , switch costume และ wait ซึ่ง
เราสามารถใช้ค�ำสั่ง Repeat เพื่อท�ำให้ไม่ต้องเขียนค�ำสั่งที่ยาวต่อเนื่อง
N
O
TI
A
C
U
ED
G
IN
R
EE
คลิกเลือกตัวละคร แมว
IN
จ�ำนวนครั้งที่ท�ำซ�้ำเพิ่มจาก 10 เป็น 20
A
N
O
TI
A
C
U
ED
G
IN
R
EE
IN
Primary 4
41
ตัวอย่างการสร้างโปรแกรมการตอบโต้กับผู้ใช้งาน
โจทย์ : ให้สร้างเกมเกี่ยวกับตรรกะ การเรียงล�ำดับรูปแบบ โดยผู้ใช้งาน
สามารถเลือกค�ำตอบได้ว่าอันไหนถูกและผิด พร้อมทั้งมีคะแนนขึ้นให้
ทราบ โดยถ้าเลือกค�ำตอบถูก ได้ 10 คะแนน และ ผิด ลบ 10 คะแนน
N
O
TI
A
C
U
ED
G
IN
R
EE
IN
ให้เพิ่มหรือลดลงตามที่ต้องการ
A
N
โจทย์ปัญหา : หากตัวละครแมวเดินชนผีเสื้อเดินแล้วให้แมวร้องเหมียว
O
และเปลี่ยนทิศทางการเคลื่อนที่
TI
A
C
U
ED
G
IN
R
EE
IN
G
A
Primary 4
43
การก�ำหนดเงื่อนไขถ้า....เป็นจริงแล้ว......ไม่จริงแล้ว.....(If...else...)
เป็นการก�ำหนดเงื่อนไขให้กับตัวละครหรือฉากว่าถ้าหากเกิดเหตุการณ์
หรือเงื่อนไขใดๆแล้วเป็นจริง จะด�ำเนินการอย่างไร หรือหากไม่จริงแล้ว
จะด�ำเนินการอย่างไรต่อไป
N
โจทย์ปัญหา : หากตัวละครผีเสื้อชนกับแมวแล้วให้ผีเสื้อเปลี่ยนสี หาก
O
TI
ไม่ชนกับผีเสื้อให้เปลี่ยนทิศทางการเคลื่อนที่ไป 15 องศา
A
C
U
ED
G
IN
R
EE
IN
G
A
ให้นักเรียนสร้างนิทานหรือเรื่องราว
ในชีวิตประจ�ำวันของตนเอง
Investigate Idea
D
OR ลิปดาได้ฟังเรื่องราวของเพื่อนที่เดินทางไปเที่ยวได้
N
W
การออกแบบ
KEY
พบเห็นสิ่งต่างๆมากมาย ลิปดาคิดว่าน่าจะน�ำเรื่อง
O
โปรแกรมและหา
ราวนั้ น มาท�ำเป็ น การ์ ตู น สั้ น หรื อ เรื่ อ งราวให้ กั บ
TI
ข้อผิดพลาด
เพื่อนๆ คนอื่นได้รับทราบจะได้ไม่ต้องเล่าใหม่
A
C
U
R D
DA Mission 1. ให้นักเรียนสร้างนิทานหรือเรื่องราวของตนเอง ใน
ED
N
STA
3. น�ำเสนอผลงานพร้อมจัดการประกวดผลงาน
IN
R
Primary 4
45
ให้นักเรียนลงมือท�ำแผนที่ก�ำหนดไว้
N
O
TI
A
C
U
ED
G
IN
1.นักเรียนสามารถท�ำภารกิจนี้ส�ำเร็จหรือไม่
EE
2. ส่วนที่ยากที่สุดของภารกิจนี้คืออะไร
3.แนวความคิดที่ได้จากการท�ำกิจกรรมคืออะไร
IN
G
A
IM
46
การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)
หลังจากที่ท�ำการเขียนโปรแกรมเสร็จสิ้นแล้วโปรแกรมนั้นจะต้องได้รับการ
ตรวจสอบก่อนว่า มีข้อผิดพลาด (error) ในโปรแกรมหรือไม่ หากพบข้อผิด
พลาดให้ตรวจสอบ การท�ำงานทีละค�ำสัง่ เมือ่ พบจุดทีท่ �ำให้ผลลัพั ธ์ไม่ถกู ต้อง
ให้ท�ำการแก้ไขจนกว่าจะได้ผลลัพธ์ที่ถูกต้อง
N
O
TI
A
C
U
ED
G
IN
R
เราออกแบบโปรแกรม
EE
มาดีมากแล้วท�ำไมถึง
IN
ใช้งานไม่ได้ละคะ แสดงว่าโปรแกรมที่
G
ท�ำไว้มีข้อผิดพลาดไงละครับ
A
เราต้องตรวจสอบหาข้อผิดพลาด
IM
ที่ละค�ำสั่ง เมื่อพบจุดที่ท�ำให้
ผลลัพธ์ไม่ถูกต้องจึงลงมือแก้ไข
Primary 4
47
ตัวอย่างการหาข้อผิดพลาดในโปรแกรม (Debuggin)
โจทย์ : จากการออกแบบโปรแกรมสั่งให้ตัวละคร เดินมาพบกันแล้วให้ตัว
ละครตัวที่ 1 แมว ไปกับตัวละครตัวที่ 2 ค้างคาวแล้ว พูด "Hello"
N
O
TI
A
C
U
ED
G
IN
ปัญหาเกิดขึ้นเมื่อตัวละครสองตัวพบกันแต่ไม่พูดค�ำว่า Hello
R
EE
แบ่งแยกปัญหาออกเป็นส่วนๆ :
แสดงว่าปัญหาเกิดในช่วง
IN
การแสดงผลค�ำพูดหรือเงื่อนไข
G
A
หาจุดส�ำคัญของปัญหา :
IM
ให้ตรวจสอบเงื่อนไขว่าถูกต้องหรือไม่
ผลการตรวจสอบข้อผิดพลาด
พบว่าเงื่อนไขผิดพลาดเนื่องจากเมื่อตัวละครสัมผัสสีฟ้าถึงจะพูด
ท�ำการแก้ไขเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
เปลี่ยนเงื่อนไขให้พบสีน�้ำตาลของค้างคาว
48
การฝึกตรวจหาข้อผิดพลาด
จากโปรแกรมของผู้อื่น
ดร.วี ก�ำลังท�ำงานอยู่หน้าคอมพิวเตอร์ ลิปดามา
เห็นจึงสงสัย ดร.วี จึงตอบว่า ก�ำลังหาข้อผิดพลาดของ
โปรแกรมอยู่นะครับ ถ้าหากหาข้อผิดพลาดพบจะท�ำให้
N
โปรแกรมท�ำงานได้อย่างสมบูรณ์แบบครับ และไม่เพียง
O
แต่นักเขียนโปรแกรมเท่านั้นนะที่ควรจะฝึกฝนทักษะนี้
TI
ทุกคนควรจะฝึกฝนเนื่องจากจะท�ำให้ เราสามารถ
A
น�ำไปหาสาเหตุของปัญหาในชีวิตประจ�ำวัน
C
ของเราได้เช่นกัน
U
ED Missions :
1. ให้นักเรียนแบ่งกลุ่ม กลุ่มละ 4 คน
G
IN
3. กลุ่มใดท�ำได้เร็วที่สุดและถูกต้องที่สุดเป็นผู้ชนะ
Materials : 1. คอมพิวเตอร์โปรแกรม scratch 2. อุปกรณ์เครื่องเขียน
IN
Ask : การฝึกตรวจหาข้อผิดพลาดของโปรแกรมส�ำคัญอย่างไร
G
A
IM
Primary 4
49
ให้นักเรียนออกแบบโปรแกรมที่มีข้อผิดพลาดเพื่อให้เพื่อนๆหา
N
O
TI
A
C
U
ED
G
IN
R
EE
IN
G
A
IM
การหาสาเหตุของข้อผิดพลาดของโปรแกรมควรทำ�อย่างไร
การแบ่งแยกปัญหาและหารูปแบบจะช่วยให้หาสาเหตุของปัญหาได้อย่างไร่
การหาสาระสำ�คัญของปัญหาจะช่วยให้หาสาเหตุของปัญหาได้อย่างไร