วิทยาการคานวณ ม.1
บทท่ี 4 การโปรแกรมด้วย Scratch
คลกิ เพ่ือเข้าส่บู ทเรยี น
กรุ ณากรอกชือ่
เข้าส่ ูระบบ
ยินดตี ้อนรบั
ยสย
เข้าส่บู ทเรยี น!
เมนหู ลัก รูจ้ ักกบั โปรแกรม Scratch
การทางานแบบวนซา้
คาช้แี จง ตัวแปร
แบบทดสอบ
การทางานแบบมที างเลอื ก
ผู้จัดทา คาส่ังวนซา้แบบมเี งอ่ื นไข
คาช้ีแจง
1. ให้นักเรยี นศึ กษาบทเรยี น
2. ให้นั กเรียนทาแบบทดสอบหลังเรียน
ทงั้ หมด 10 ข้อ 10 คะแนน
1
รูจ้ ักกับโปรแกรม Scratch
2
จดุ ประสงค์ของบทเรยี น
1. นั กเรยี นสามารถออกแบบและเขียนโปรแกรมทท่ี างานแบบวนซา้ได้
2. นั กเรยี นสามารถออกแบบและเขียนโปรแกรมทมี่ กี ารใช้งานตวั แปรได้
3. นั กเรียนสามารถออกแบบและเขียนโปรแกรมที่ทางานแบบมีทางเลือก
ได้
4. นั กเรียนสามารถเขียนโปรแกรมเพ่ือแก้ปัญหาทางคณิ ตศาสตร์หรือ
วทิ ยาศาสตรไ์ ด้
3 ทบทวนความรูก้ อ่ นเรยี น
การวิเคราะห์ และกาหนด
รายละเอียดของปัญหาต้อง
ดาเนิ นการก่อนวางแผนการ
แกป้ ัญหา ถูกต้องหรอื ไม่ ?
4 ทบทวนความรูก้ อ่ นเรยี น
การออกแบบวิธีการแก้ปัญหา
โดยใช้รหัสลาลองหรือผังงาน
ท า ใ ห้ น า ไ ป ป ฏิ บั ติ ไ ด้ ง่ า ย
ถูกตอ้ งหรอื ไม่ ?
5 ทบทวนความรูก้ อ่ นเรยี น
การดาเนิ นการแก้ปัญหา เป็น
ก า ร น า วิ ธี ก า ร แ ก้ ปั ญ ห า ที่ ไ ด้
อ อ ก แ บ บ ไ ว้ ม า ด า เ นิ น ก า ร
แก้ปัญหาหรือพัฒนาโปรแกรม
เพ่ือแกป้ ัญหา ถูกต้องหรอื ไม่ ?
6
รูจ้ กั กบั โปรแกรม Scratch
โปรแกรม Scratch เป็นโปรแกรมโอเพนซอร์ส (open source
software) พัฒนาโดยนั กวิจัยท่ีห้องปฏิบัติการสื่อ (MIT Media Lab) สถาบัน
เทคโนโลยีแมสซาซูเซตส์ ประเทศสหรฐั อเมรกิ า
Scratch ออกแบบมาให้ใช้กับเด็กอายุ 8-16 ปี และเป็นทางเลือกท่ีดี
ในการเขียนโปรแกรมสาหรับผู้เร่ิมต้น ปัจจุบัน Scratch พัฒนาถึงเวอร์ชัน
3.27.0 ผู้ใช้สามารถเขียนโปรแกรมออนไลน์ หรอื ดาวน์ โปลดโปรแกรมมาใช้ท่ี
เครื่องคอมพิวเตอร์แบบออฟไลน์ นอกจากน้ี ภายในเว็บไซต์ยังมีข้อมูลความรู้
เก่ียวกับคาส่ังและตัวอย่างของโปรแกรม อีกท้ังยังมีแหล่งชุมชนออนไลน์ ให้ได้
ศึ กษาและเรียนรู้การทางานร่วมกัน โดยสามารถเผยแพร่ผลงานของตน และ
สามารถนาโปรแกรมของผู้อ่นื ท่อี ัปโหลดไว้มาปรบั แก้ไดอ้ กี ดว้ ย
7 ชวนคิด
นั กเรียนจะเขี ยนโปรแกรมโดยใช้ Scratch เพื่อ
สร้างผ ลงานอะไรได้บ้าง โดยศึ กษารา ยละเอียดและ
ท ด ส อ บ ก า ร ใ ช้ ง า น จ า ก ตั ว อ ย่ า ง โ ป ร แ ก ร ม ไ ด้ ท่ี
http://scratch.mit.edu/
8
รูจ้ กั กบั โปรแกรม Scratch
เนื่ องจากโปรแกรม Scratch เป็นโปรแกรมภาษา
เชิงกราฟิกจึงทาให้ใช้งานง่าย สามารถสร้างสคริปต์ หรือ
โปรแกรมท่ีประกอบด้วยบล็อกคาสั่ งต่างๆมาวางต่อกันเป็น
ล า ดั บ โ ด ย ไ ม่ ต้ อ ง กั ง ว ล กั บ ก า ร พิ ม พ์ ค า สั่ ง ผิ ด พ ล า ด
หน้ าตา่ งโปรแกรม Scratch ดงั รูป
9 หน้าต่าง
โปรแกรม Scratch
10
การเข้าใชง้ าน Scratch มี 2 วิธี
1.การเข้าใชง้ านแบบ 2. การเข้าใชง้ านแบบ
ออนไลน์ (Online) ออฟไลน์ (Offline)
11 เร่มิ ต้นกบั
โปรแกรม Scratch
ในบทน้ี จะแนะนาการใช้งานโปรแกรม Scratch แบบ
ออฟไลน์ ท่ีต้องติดตั้งไว้ท่ีเครื่องคอมพิวเตอร์หากนั กเรียนยัง
ไ ม่ มี โ ป ร แ ก ร ม ส า ม า ร ถ ท า ไ ด้ โ ด ย เ ข้ า ไ ป ท่ี เ ว็ บ ไ ซ ต์
http://scratch.mit.edu/
12
การเข้าใชง้ านแบบออนไลน์ (Online)
12
เข้า Google นั กเรยี นป้อน https://scratch.mit.edu/
Chrome ทชี่ ่องทอ่ี ยเู่ ว็บ กดแป้น Enter
3 จะพบหน้า
โปรแกรม
Scratch ออนไลน์
13 2
การสมัครใชง้ านแบบ
ออนไลน์ (Online)
1
ต้งั ชื่อผู้ใช้
คลิก Join (Scratch Username) เป็น
Scratch ภาษาองั กฤษ
ป้อนรหัสผ่าน (Password) ไมน่ ้ อยปก้อวน่าร6หัสตผวัา่ นอกั (Pษasรswหoรrdอื ) ไม่
ตัวเลข น้อยกว่า 6 ตวั อกั ษร หรอื ตวั เลข
3 ป้อนรหัสผา่ นอกี ครง้ั
ในชอ่ ง Confirm
เลอื กประเทศไทย
Password และคลกิ
ถดั ไป (Next)
เลอื กเสรจ็ แลว้
กด Next
14 การสมคั รใชง้ านแบบออนไลน์ (Online) (ตอ่ ) 6
4 5เลอื กเพศแลว้ กด Next ป้อนอเี มลของนักเรยี นครู
หรอื ผู้ปกครอง และยนื ยนั อเี มล
เลอื ก ป้อนรหัสผ่าน (Password) ไม่ ป้อนรหัสผ่าน (Password)
เดอื น น้ อยกว่า 6 ตัวอกั ษร หรอื ตัวเลข ไมน่ ้อยกว่า 6 ตัวอักษร หรอื
เกิด
เลือกปีเกดิ ตวั เลข
เลอื กเสรจ็ แลว้ กด Next
15 การสมัครใชง้ านแบบออนไลน์ (Online) (ต่อ)
78
ป้อนรหัสผ่าน (Password) ไมน่ ้อยกว่า 6 ตัวอกั ษร หรอื ตวั เลข
เมอื่ สมัครสมาชกิ เสรจ็ แลว้ จะปรากฏหน้าต่างน้ี
แลว้ ทาการตรวจสอบชอ่ื ผูใ้ ชท้ มี่ มุ บนขวา
จะพบหน้าต่างยนิ ดตี ้อนรบั
ให้คลกิ ป่มุ Get Started
16 การเข้าใชง้ านแบบออฟไลน์ (Offline)
1 2
เข้า Google นั กเรยี นป้อน https://scratch.mit.edu/
Chrome ทชี่ ่องทอี่ ยเู่ ว็บ กดแป้น Enter
3 จะพบหน้า
โปรแกรม
Scratch ออนไลน์
17 การเข้าใชง้ านแบบออฟไลน์ (Offline) (ตอ่ )
4
เลือ่ นลงมาจะพบเมนดู าวน์โหลดโปรแกรม คลิก Download
18
การเข้าใชง้ านแบบออฟไลน์ (Offline) (ตอ่ )
5 6 เมอ่ื เสรจ็ ส้ินการดาวน์โหลด
เลอื กตามระบบปฏิบัตกิ าร ให้ดับเบิลคลกิ ไฟลท์ ่อี ย่ดู ้านล่าง
ท่ีใชแ้ ลว้ คลกิ เลอื ก เพื่อติดตง้ั โปรแกรม Scratch
Direct Download
19 การเข้าใชง้ านแบบออฟไลน์ (Offline) (ต่อ)
7 8
คลิกปุ่ม Install เพ่ือ ติดตงั้ โปรแกรม Scratch
ติดตง้ั โปรแกรม เมอื่ เสรจ็ ส้ิน กด Finish
20 หน้ าต่างการทางานของ
โปรแกรม Scratch
1
23 67 1 ทใี่ ชเ้ ปลย่ี นภาษาของโปรแกรม
5
Scratch และเมนตู ่างๆ
4
2 กล่มุ แถบเครอ่ื งมอื สครปิ ต์
3 พื้นท่ีแสดงรายการตัวละครและเวที
4 เครอ่ื งมือท่ใี ชใ้ นการ
ประทับตราตวั ละคร
5 แสดงข้อมูลของตวั ละครท่ีเลือก
6 เร่มิ และหยดุ การทางาน
7 การแสดงผล
21
หน้าตา่ งเครอื่ งมอื การทางาน
กลมุ่ แถบเครอื่ งมอื
CODE
22
หน้าตา่ งเครอื่ งมอื การทางาน
กลมุ่ แถบเครอ่ื งมอื
Costumes
23
หน้าตา่ งเครอื่ งมอื การทางาน
กลมุ่ แถบ
เครอ่ื งมอื
sound
24
ตัวละครแมวเคลอื่ นไหว
1. เปิดโปรแกรม
Scratch จะปรากฎ
ตวั ละคร sprite1
รูปแมว
25
2. คลิกแถบ Costumes
จะปรากฎตวั ละคร 2 ชุด
คือ Costume1
Costume2
ให้นักเรยี นสังเกต
ดูวา่ แตล่ ะชุดมกี ารกา้ วขา
ของแมวท่ีแตกตา่ งกัน
26
3. คลิกแท็บ script แล้ว
เ ขี ย น โ ป ร แ ก ร ม โ ด ย ล า ก
บล็อกคาสั่ งวางที่พ้ื นท่ี
เขียนโปรแกรม ดังนี้
27
4. ลองรันโปรแกรมด้วยการ
คลกิ ปุ่มธงเขียวดูนะคะ
นั กเรียนได้คาตอบยังไงบ้าง
เอ่ย??? บอกคุณครูดว้ ยนะคะ
28
นั กเรียนจะเห็นว่า เราต้องคลิก
ปุ่มธงเขียวหลายๆคร้งั ตัวละคร
แมวถึงจะเคล่ือนท่ี ใชไ่ หมคะ
เ ร า ล อ ง ม า ป รั บ ส ค ริ ป ต์
เ พ่ิ ม บ ล็ อ ก ค า ส่ั ง ใ ห้ ตั ว
ละคร ดงั น้ีกันค่ะ
29
ตวั ละครเคล่อื นท่ีไปมา ตามท่ีเราต้องการแล้ว เย้!!!
1
การทางานแบบวนซา้
2 การทางานแบบวนซา้
ในการเขี ยนโปรแกรมมีหลายกรณี ท่ีต้องมีการ
ทางานซา้ๆกัน ซ่ึงทาให้ต้องเขียนคาสั่ งชุดเดียวกันซา้กัน
หลายครั้ง เพื่อให้การทางานมีประสิ ทธิภาพ Scratch มี
คาสั่ งท่ีใช้ในการทางานแบบวนซา้ ซ่ึงอยู่ในกลุ่มบล็อก
Control ดังน้ี
3 การทางานแบบวนซา้
บล็อกคาสั่ง Forever เป็นคาสั่งทก่ี าหนดการทางาน
แบบวนซาไ้ มร่ ูจ้ บ ตวั อยา่ งเช่น
จรงิ
เคลอ่ื นที่ไปข้างหน้า 100 หน่วย
หมุนตามเข็มนาฬิกา 90 องศา
เคลอื่ นท่ีไปข้างหน้ า 100 หน่ วย แล้วหมนุ ตามเข็มนาฬิกา
90 องศา โดยทาซา้ 2 คาส่ังแบบไม่รูจ้ บ
4 การทางานแบบวนซา้
บล็อกคาสั่ ง repeat เป็นคาส่ั งท่ีกาหนดการทางานแบบวน
ซาต้ ามจานวนรอบท่กี าหนด ตัวอย่างเช่น
จรงิ
วนซา้ครบ
10 รอบ
หรอื ยงั
เทจ็
เคลอ่ื นทไ่ี ปข้างหน้า 100 หน่วย
หมุนตามเข็มนาฬิกา 90 องศา
เคลื่อนท่ไี ปข้างหน้ า 100 หน่ วย แลว้ หมุน
ตามเข็มนาฬิกา 90 องศาจนครบ 10 รอบ
5 ตัวอยา่ งท่ี 4.2
วาดรูปสี่เหลยี่ ม
แนวคิดในการวาดรู ปส่ี เหล่ียม คือ ต้องวาดเส้ นตรงแล้วต้อง
เปล่ียนทิศทางการวาดเป็นมุม 90 องศา ซ่ึงถ้าสั งเกตจะเห็นว่า ส่ วนน้ี มีการ
ทาซา้ 4 รอบ แต่ก่อนการส่ั งวาดรูปจะต้องมีการล้างหน้ าจอภาพให้ว่างก่อน
แล้วจึงวางปากกา และกาหนดจุดเร่ิมต้นของการวาด จากแนวคิดเขียนรหัส
ลาลองไดด้ ังน้ี
1. ล้างจอภาพ
2. วางปากกา
3. กาหนดตาแหน่ งเร่มิ วาดท่ีพิกัด (0,0)
4. ทางานต่อไปน้ี 4 รอบ
4.1 ลากเส้นตรง 100 หน่ วย
4.2 หมุนตามเข็มนาฬิกา 90 องศา
6 ตวั อยา่ งท่ี 4.2
วาดรูปส่ีเหลยี่ ม จากตัวอยา่ ง 4.2 อธบิ ายได้วา่
1. บรรทัดท่ี 1 กาหนดจุดเร่มิ ต้น
บล็อกคาสั่ ง ผลลพั ธ์ 2. บรรทัดที่ 2 ลา้ งหน้าจอภาพ
3. บรรทัดท่ี 3 วางปากกา
4. บรรทัดที่ 4 กาหนดตาแหน่ งเร่ิมต้นให้
ตั ว ล ะ ค ร อ ยู่ ท่ี ก ล า ง จ อ ภ า พ ซ่ึ ง คื อ
ตาแหน่ง (0,0)
5. ก า ห น ด ใ ห้ ค า ส่ั ง ภ า ย ใ น บ ล็ อ ก ค า ส่ั ง
repeat ซา้จานวน 4 รอบ คือคาส่ั งใน
บรรทัดท่ี 6 เคล่ือนที่ไปตามทิศทางของ
ตัวละคร เป็นจานวน 100 หน่ วย และ
บรรทัดท่ี 7 หมุนตามเข็ มนาฬิ กา 90
องศาซ่งึ จะทาให้ได้รูปส่ีเหลยี่ ม 1 รูป
7 ตัวอยา่ งท่ี 4.3
ส่ีเหลยี่ ม 2 รูป
ตวั อยา่ งน้ี จะวาดรูปส่ีเหล่ียม 2 รูป โดยใช้ Repeat ซอ้ น 2 ชนั้ โดย
แนวคิดในการวาดจะปรบั จากแนวคิดในตวั อยา่ งท่ี 4.2 ท่ีวาดรูปส่ีเหล่ยี ม 1
รูป โดยนามาวาดซาอ้ กี 1 รูป แต่จะตอ้ งมีการเปล่ยี นมุมก่อนเร่มิ ต้นวาดรูปท่ี
2 เพื่อให้เห็นเป็นส่ีเหล่ยี ม 2 รูปเหล่อื มกัน ไม่เช่นนั้นส่ีเหล่ียมสองรูปจะทับ
กัน ทาให้เห็นเป็นรูปส่ีเหล่ยี มเพียงรูปเดียว
ทางานตอ่ ไปน้ี 2 รอบ
ทางานต่อไปน้ี จานวน 4 รอบ
ลากเส้นตรง 100 หน่ วย
หมนุ ตามเข็มนาฬิกา 90 องศา
หมนุ ตามเข็มนาฬิกา 15 องศา
8 ตัวอยา่ งท่ี 4.3
ส่ีเหลยี่ ม 2 รูป
จากตัวอย่าง 4.3 อธบิ ายได้ว่า
1. บรรทัดท่ี 5 กาหนดให้มีการทางานใน
บรรทดั ท่ี 6-9 ซาจ้ านวน 2 รอบ
2. บรรทัดท่ี 6 กาหนดให้การทางานใน
บรรทัดท่ี 7 และ 8 ซา้จานวน 4 รอบ
ซ่งึ จะได้รูปส่ีเหล่ียม 1รูป
3. บรรทัดท่ี 9 สั่ งให้ตัวละครหมุนตาม
เข็มนาฬิกา 15 องศา แล้วจะวนกลับไป
ทางานในบรรทัดท่ี 6-9 อกี 1 รอบ
4. เมือ่ จบการทางานจึงได้ส่ีเหล่ยี ม 2 รูป
บล็อกคาสั่ ง ผลลัพธ์
9
ตัวอยา่ งวาดรูปดาวกระจาย
บลอ็ กคาสั่ง
ผลลพั ธ์
10
ตวั อยา่ งบลอ็ กคาสั่ง
แบบวนซาเ้ ป็นรูปต่างๆ
บล็อกคาสั่ ง
ผลลพั ธ์
11
ตวั อยา่ งบลอ็ กคาสั่ง
แบบวนซาเ้ ป็นรูปต่างๆ
บล็อกคาสั่ ง
ผลลพั ธ์
12
ตวั อยา่ งบลอ็ กคาสั่ง
แบบวนซาเ้ ป็นรูปต่างๆ
บล็อกคาสั่ ง
ผลลพั ธ์
1
ตวั แปร
2 ตัวแปร
ตัวแปร (variable) เป็นช่ือท่ีกาหนดข้ึนเพ่ือใช้เก็บข้อมูลและเรียกใช้ในการ
ทางานต่างๆ ใน Scratch สามารถกาหนดการใช้งานตัวแปรได้เช่นเดียวกับภาษา
โปรแกรมอน่ื
โดยการสร้างตัวแปรทาได้โดยคลิกบล็อกคาส่ั ง ท่ีอยู่ในกลุ่ม
บล็อก variable
การต้ังช่ือตัวแปรควรใชช้ อ่ื ท่มี คี วามหมายสอดคลอ้ งกับข้อมูล เช่น name ใช้
สาหรบั เก็บชื่อ score ใชส้ าหรบั เก็บคะแนน และ price ใช้สาหรับเก็บราคา และการ
กาหนดขอบเขตการใช้งานตัวแปร สามารถกาหนดได้ 2 แบบ ดงั น้ี
- For all sprites กาหนดให้ทกุ ตวั ละครสามารถใช้งานตัวแปรน้ี ได้
- For this sprite only กาหนดให้ใช้งานตัวแปรน้ีไดเ้ ฉพาะกับตัวละครท่ีสรา้ ง
ตวั แปรน้ีเท่านั้น
3 ตัวแปร
หน้ าตา่ ง New Variable
4 ตวั แปร
ถ้าสรา้ งตัวแปรเสรจ็ แล้ว จะมบี ลอ็ กคาส่ังปรากฏข้ึนมาอีก 5 บล็อก ในท่ีน้ี
จะยกตัวอยา่ งเมื่อมีการสรา้ งตวั แปร count ดงั ตาราง
บลอ็ กคาสั่งท่เี ก่ียวกับตัวแปร
บล็อก คาอธบิ าย
แสดงค่า ไมแ่ สดงค่า
ตวั แปรบนเวที
ตัวแปรบนเวที
กาหนดค่าเร่มิ ตน้ ให้กบั ตวั แปร count เป็น -5
กาหนดค่าเร่มิ ตน้ ให้กบั ตวั แปร count เป็น 8