Top
 

DIGITAL KIDS (เทคโนโลยี) ป.2 หน่วย 2 เรื่อง เขียนโปรแกรมอย่างง่ายและตรวจสอบหาข้อผิดพลาดของโปรแกรม

Imagineering Education / บทเรียนวิชาวิทยาการคำนวน  / DIGITAL KIDS  / DIGITAL KIDS (เทคโนโลยี) ป.2 หน่วย 2 เรื่อง เขียนโปรแกรมอย่างง่ายและตรวจสอบหาข้อผิดพลาดของโปรแกรม

DIGITAL KIDS (เทคโนโลยี) ป.2 หน่วย 2 เรื่อง เขียนโปรแกรมอย่างง่ายและตรวจสอบหาข้อผิดพลาดของโปรแกรม

ระดับชั้น : ประถมศึกษาปีที่ 2
หน่วยที่ : 2
เรื่อง : เขียนโปรแกรมอย่างง่ายและตรวจสอบหาข้อผิดพลาดของโปรแกรม
สาระ : สาระที่ 8 เทคโนโลยี
ตัวชี้วัด :
ว 8.2 ป 2/2 เขียนโปรแกรมอย่างง่าย โดยใช้ซอฟต์แวร์หรือสื่อและตรวจหาข้อผิดพลาดของโปรแกรม
บทนำของเรื่อง : วิทยาการคอมพิวเตอร์ (Computer Science) การแก้ปัญหาอย่างเป็นขั้นตอนและเป็นระบบการใช้แนวคิดเชิงคำนวณในการแก้ปัญหาในชีวิตประจำวัน บูรณาการกับวิชาอื่น การเขียนโปรแกรมการคาดการณ์ผลลัพธ์ การตรวจหาข้อผิดพลาด การพัฒนาแอปพลิเคชันหรือพัฒนาโครงงานอย่างสร้างสรรค์เพื่อแก้ปัญหาในชีวิตจริง

โปรแกรม (Program)

โปรแกรม (Program) คือ การแสดงลำดับขั้นตอนคำสั่งเพื่อสั่งให้คอมพิวเตอร์ทำงาน โดยการเขียนโปรแกรมจะถูกเรียกว่า การเขียนโค้ด (code) และภาษาที่ใช้สื่อสารกับคอมพิวเตอร์จะเรียกว่า ภาษาคอมพิวเตอร์ (Computer Language)

สมมติ คุณครูให้วาดรูปสี่เหลี่ยม
1. หยิบดินสอ
2. วาดรูปสี่เหลี่ยม
3. วางดินสอ

แต่สำหรับหุ่นยนต์การที่จะสามารถวาดรูปสี่เหลี่ยม เราจะต้องมีการเขียนลำดับขั้นตอนคำสั่งอย่างละเอียดดังนี้

ต้องแสดงคำสั่งทีละขั้นตอนอย่างละเอียด
1. หยิบดินสอ
2. จดดินสอลงบนกระดาษ
3. ลากเส้นขึ้นด้านบน 5 เซนติเมตร
4. ลากเส้นไปทางขวา 5 เซนติเมตร
5. ลากเส้นลง 5 เซนติเมตร
6. ลากเส้นไปทางซ้าย 5 เซนติเมตร

การแสดงลำดับของคำสั่ง ให้คอมพิวเตอร์ (หุ่นยนต์) ทำงาน

โจทย์ : สมมติว่า เพื่อนคนหนึ่งเป็นหุ่นยนต์ ให้นักเรียนสั่งหุ่นยนต์ (เพื่อน) เคลื่อนที่จากตำแหน่ง 3 ไปตำแหน่ง 2 ซึ่งเป็นตัวแรคคูนต้องใช้คำสั่งใดบ้าง ให้นักเรียนเลือกคำสั่งลูกศรด้านซ้ายมือ เรียงลำดับเพื่อสั่งงานหุ่นยนต์ (เพื่อน)

การตรวจหาข้อผิดพลาด

การตรวจสอบข้อผิดพลาดของโปรแกรม (Debugging)
โปรแกรมคอมพิวเตอร์ที่เขียนบางครั้งจะเกิดปัญหาขึ้น ปัญหาที่เกิดขึ้นจากการเขียนโปรแกรมในแต่ละลำดับขั้นของคำสั่งนั้นเรียกว่า ข้อผิดพลาด (Bug) การหาและแก้ไขปัญหาข้อผิดพลาดจะเรียกว่า การตรวจสอบข้อ ผิดพลาดของโปรแกรม (Debugging)

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

กิจกรรมบูรณาการ

ให้นักเรียนสร้างลำดับคำสั่งให้กระต่ายเคลื่อนที่ไปหาแครอท โดยใช้ชุดคำสั่งลูกศร (ด้านล่าง) เขียนลงไปในช่องจะต้องถูกต้องและใช้คำสั่งน้อยที่สุด

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

วิธีการล้างจานของลิปดา
1. เก็บจานชามมาไว้
2. กวาดขยะลงถัง
3. ล้างน้ำเปล่า 1 ครั้ง
4. เช็ดจานให้แห้ง
5. ใส่น้ำยาล้างจาน
6. ล้างน้ำเปล่า 2 ครั้ง
7. คว่ำจานให้เรียบร้อย
จากการตรวจสอบหาข้อผิดพลาดเพราะเหตุใดผลลัพธ์จึงไม่เป็นไปตามที่ต้องการ
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

โปรแกรม Scratch

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

หน้าตาของโปรแกรม Scratch

การกำหนดทิศทางของตัวละคร
เมื่อต้องการให้ตัวละครเคลื่อนที่ จำเป็นต้องทราบ 2 สิ่งก่อน สิ่งแรกก็คือ
1. เคลื่อนที่ด้วยระยะทางเท่าไร
2. จะเคลื่อนที่ไปทิศทางใด (direction) โดยสามารถสังเกตได้จากข้อมูลของตัวละคร

การเขียนโปรแกรมย้ายตำแหน่ง
เป็นการย้ายตำแหน่งของตัวละคร (Sprite) โดยมีคำสั่งที่เกี่ยวข้อง เช่น

คือ คำสั่งกำหนดจำนวนก้าวเพื่อให้เคลื่อนที่ในแนวแกน X …. ก้าว

คือ คำสั่งในการกำหนดระยะทางเพื่อย้ายตัวละครไปยังตำแหน่ง แกน X และแกน Y เท่าไร

การเขียนโปรแกรมย่อและขยายขนาด
เป็นการเปลี่ยนขนาดของตัวละคร โดยมีคำสั่งที่เกี่ยวข้อง เช่น
 
คือการเปลี่ยนขนาดเพิ่มขึ้นหรือลดลง

คือการกำหนดขนาดเพิ่มขึ้น-ลดลงตามเปอร์เซ็นต์

การเขียนโปรแกรมเปลี่ยนรูปร่าง
การเปลี่ยนรูปร่างนิยมใช้เมื่อ ตัวละครที่เคลื่อนที่หรือพบกับเหตุการณ์แล้วเปลี่ยนลักษณะท่าทางการแสดงของตัวละคร โดยมีตัวอย่างคำสั่ง

การสร้างพื้นหลัง (Background)
ในโปรแกรม Scratch สามารถวาดรูปเพื่อสร้างพื้นหลัง หรือสามารถนำภาพที่มีอยู่ในโปรแกรม หรือนำรูปถ่ายจากภายนอกเข้ามาเป็นฉาก พื้นหลังได้ เพื่อนำมาสร้างเป็นฉากเรื่องราวที่เหมาะสมกับตัวละคร

คำสั่งการสนทนา, ซ่อนและแสดงตัวละคร (hide, Show)
จากชุดคำสั่งรูปร่าง (Look) จะมีคำสั่งอื่นที่น่าสนใจ เช่น
1.การสนทนา (say) 2. การคิด (think) 3. การแสดงตัวละคร 4. การซ่อนตัวละคร

คำสั่งการวาดภาพโดยใช้ชุดคำสั่งปากกา (Pen)
คำสั่งให้ตัวละครวาดรูปตามเส้นทางการเดินทางที่ต้องการ โดยใช้คำสั่ง
1. วางปากกาและยกปากกา
2. กำหนดคุณสมบัติของปากกา

การสร้างภาพเคลื่อนไหว (Animation)
สามารถทำได้โดยการใช้คำสั่งเปลี่ยนแปลงชุดหรือรูปร่าง(Costumes) และคำสั่งหยุดรอ wait สลับไปมาเพื่อให้ตาของเรามองเห็นภาพเป็นลักษณะของภาพเคลื่อนไหว

การตรวจสอบข้อผิดพลาดของโปรแกรม (Debugging)
การตรวจหาข้อผิดพลาด (Bug) ทำได้โดยตรวจสอบคำสั่งที่แจ้งข้อผิดพลาด หรือหากผลลัพธ์ไม่เป็นไปตามที่ต้องการให้ตรวจสอบการทำงานทีละคำสั่ง โดยอาจจะแบ่งแยกปัญหาออกเป็นส่วนๆ หรือโดยการแยกคำสั่งออกเป็น คำสั่งย่อย เพื่อให้ทราบข้อผิดพลาดของปัญหา

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

จากโปรแกรมวาดรูปสี่เหลี่ยมจัตุรัส
คำสั่งชุดที่ 1 โปรแกรมไม่สามารถวาดเป็นรูปสี่เหลี่ยมได้
คำสั่งชุดที่ 2 โปรแกรมสามารถวาดเป็นรูปสี่เหลี่ยมได้

แบ่งแยกปัญหาออกเป็นส่วนๆ : จากปัญหาการใช้คำสั่งชุดที่ 1 การวาดเส้นที่ 3 ยาวไปและเส้นที่ 4 สั้นไป
หาจุดสำคัญของปัญหา : ตรวจสอบการกำหนดระยะทางการเคลื่อนที่ ในคำสั่งที่ 6 และ 8
ตรวจสอบและแก้ไขข้อผิดพลาด
เปรียบเทียบการกำหนดระยะทางการเคลื่อนที่ของคำสั่งที่ 2, 4, 6, 8 จะเห็นว่าการกำหนดค่าระยะทางการเคลื่อนที่ไม่เท่ากันจึงต้องปรับแก้ให้เท่ากัน
ผลการตรวจสอบ ชุดคำสั่งที่ 2 จะถูกต้อง เนื่องจากกำหนดระยะทางเท่ากันหมด

Technology Challenge

ปวดหัวจัง เส้นทางไหนประหยัดเวลาที่สุดนะเนี่ย
ปิดเทอมลิปดากับคุณพ่อไปเที่ยวบ้านคุณย่าที่จันทบุรี คุณอาฝากซื้อทุเรียนทอด คุณน้าฝากซื้อปลาหมึก คุณลุงฝากซื้อขนมหม้อแกง คุณป้าฝากซื้อข้าวหลาม ลิปดา สับสนไม่รู้จะไปซื้อร้านไหนก่อนดี เพื่อประหยัดเวลามากที่สุด คุณพ่อจึงให้แผนที่ลิปดาเขียนลำดับคำสั่งการเดินทางไปซื้อของฝาก

Missions :
1.คุณครูสร้างแผนที่ร้านของฝากต่าง ๆ โดยให้นักเรียนใช้บัตรคำสั่งเพื่อเขียนโปรแกรมอย่างง่าย โดยใช้สื่อให้ลิปดากับคุณพ่อไปซื้อของได้ครบ โดยมีเงื่อนไขให้ใช้บัตรคำน้อยที่สุดจะเป็นผู้ชนะ
2. คุณครูอาจจะกำหนดให้มีโจทย์เพิ่มเติม 1-2 ตัวอย่าง

Materials :
1. บัตรคำสั่ง
2. โจทย์คำสั่ง
3. หุ่นยนต์

Ask : การเขียนโปรแกรมอย่างง่ายโดยสื่อ (บัตรคำ) ทำอย่างไร
Plan & Design วางแผนและออกแบบในการเขียนโปรแกรมอย่างง่ายโดยใช้สื่อ (บัตรคำ)

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

Missions :
1. ให้นักเรียนแบ่งกลุ่ม กลุ่มละ 4 คนใช้โปรแกรม Scratch วาดรูปทรงเรขาคณิตที่มีข้อผิดพลาด
2. แลกเปลี่ยนให้เพื่อนๆ แต่ละกลุ่มหาข้อผิดพลาดและทำการแก้ไขข้อผิดพลาด
3. กลุ่มใดทำได้เร็วที่สุดและถูกต้องที่สุดเป็นผู้ชนะ

Materials :
1. คอมพิวเตอร์โปรแกรม scratch
2. อุปกรณ์เครื่องเขียน

Ask : ขั้นตอนการหาข้อผิดพลาดของโปรแกรมทำอย่างไร
Plan & Design : ให้ร่วมกันวางแผนหาวิธีการหาข้อผิดพลาดของโปรแกรม

Technology workshop

Super Hero

Investigate Idea : ลิปดาดูการ์ตูน ซูปเปอร์แมน ซึ่งเป็น Super Hero ของเด็กๆ ขณะที่ เหล่าร้ายกำลังจะเข้ามาทำร้ายผู้คน Super Hero จะแปลงร่างจากคนธรรมดา มาขัดขวางเหล่าร้าย และช่วยเหลือผู้คน

Missions :
1. ให้เขียนโปรแกรมเล่าเรื่องราว Super Hero แปลงร่างไปช่วยคนที่เดือดร้อนโดยต่อสู้กับเหล่าร้าย
2. นำเสนอเรื่องราวและลำดับคำสั่งโปรแกรมที่สั่งให้ตัวละครทำงาน พร้อมอธิบายวิธีแก้ไขหากเกิดข้อผิดพลาด

Materials :
1. คอมพิวเตอร์และโปรแกรม Scratch
2. อุปกรณ์เครื่องเขียน

ASK : นักเรียนเข้าใจขั้นตอนการเขียนโปรแกรมสั่งให้ตัวละครทำงานตามที่ต้องการหรือไม่ และหากเกิดข้อผิดพลาดจะแก้ไขปัญหาอย่างไร

Plan&Design : วางแผนและออกแบบการเขียนโปรแกรมสั่งให้ตัวละครทำงานตามที่ต้องการและหากเกิดข้อ ผิดพลาดให้หาวิธีการแก้ไข

Building&Testing : ให้นักเรียนลงมือทำตามแผนที่กำหนดไว้

Evaluation&Redesign :
1. นักเรียนสามารถทำภารกิจนี้สำเร็จหรือไม่
2. นักเรียนพบปัญหาจากการทำภารกิจนี้หรือไม่
3. นักเรียนมีวิธีการแก้ไขปัญหาอย่างไร