Top
 

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

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

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

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

World of Programming

1. Computer คอมพิวเตอร์ เป็นเครื่องจักรชนิดหนึ่ง ซึ่งไม่สามารถคิดเองได้เหมือนกับมนุษย์แต่สามารถเก็บข้อมูลประมวลผลข้อมูล และแสดงผลข้อมูล

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

2. Program การออกแบบโปรแกรมเป็นการเขียนขั้นตอนหรือลำดับการทำงาน (อัลกอริทึม) Algorithm เพื่อให้คอมพิวเตอร์เข้าใจโดยการออกแบบโปรแกรมโดยการใช้อัลกอริทึมนั้นต้องเรียงลำดับขั้นตอน (Order) อย่างละเอียดเป็นขั้นตอนไม่สลับกันโดยสามารถออกแบบโปรแกรมได้หลายแบบ เช่น การเขียนข้อความ สตอรี่บอร์ด หรือ ผังงาน

3. Computer Languages เมื่อออกแบบโปรแกรมเสร็จแล้ว ขั้นตอนต่อไปคือการ เลือกภาษาที่เหมาะสมกับงาน โดยคอมพิวเตอร์สามารถเข้าใจได้หลายภาษา เช่น ภาษา HTML Java ใช้สำหรับการเขียนเว็บเพจ ทำเกม หรือ Apps ภาษา Scrath และ Phython เป็นภาษาสำหรับใช้งานเบื้องต้น

4. Variable การเขียนโปรแกรมคอมพิวเตอร์ จะต้องมีการจัดเก็บข้อมูลที่จำเป็นไว้ โดยจะจัดเก็บไว้ในตัวแปร (Variable) ซึ่งก็คือ การระบุค่า หรือ การตั้งค่าข้อมูลเข้า (Input) เพื่อนำมาประมวลผล (Process) ตามเงื่อนไขที่กำหนดมาในปัญหา เพื่อให้ได้ข้อมูลออกหรือผลลัพธ์ของปัญหา (Output)

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

6. Debugging คือการหาข้อผิดพลาดของโปรแกรมซึ่งหากมีข้อผิดพลาดให้ตรวจสอบการทำงานทีละคำสั่งเมื่อพบจุดที่ทำให้ผลลัพธ์ไม่ถูกต้อง ให้ทำการแก้ไขจนกว่าจะได้ผลลัพธ์ที่ถูกต้อง

การออกแบบโปรแกรม

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

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

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

แบบที่ 1 แบบที่ 2
1. นำชิ้นส่วนลำตัวมา 1. นำชิ้นส่วนลำตัวมา
2. นำชิ้นส่วนคอมาต่อกลางของลำตัว 2. นำชิ้นส่วนคอมาต่อด้านบนตรงกลางของลำตัว
3. นำชิ้นส่วนหัวมาต่อ 3. นำชิ้นส่วนหัวมาต่อจากส่วนของคอโดยให้อยู่ในแนวตรงกัน
4. นำชิ้นส่วนแขนซ้ายมาต่อ 4. นำชิ้นส่วนแขนซ้ายมาต่อบริเวณลำตัวด้านซ้ายบน
5. นำชิ้นส่วนแขนขวามาต่อ 5. นำชิ้นส่วนแขนขวามาต่อบริเวณลำตัวด้านขวาบน
6. นำชิ้นส่วนขาซ้ายมาต่อ 6. นำชิ้นส่วนขาซ้ายมาต่อกับชิ้นส่วนลำตัวด้านล่างซ้าย
7. นำชิ้นส่วนขาขวามาต่อ 7. นำชิ้นส่วนขาขวามาต่อกับชิ้นส่วนลำตัวด้านล่างขวา

การออกแบบโปรแกรมด้วยการเขียนผังงาน (Flow Chart)
คือ การออกแบบขั้นตอนการทำงานของโปรแกรมโดยใช้สัญลักษณ์ซึ่งสัญลักษณ์จะแสดงลักษณะของการทำงาน สัญลักษณ์จะถูกเชื่อมการแสดงลำดับขั้นโดยใช้ลูกศรเพื่อแสดงลำดับขั้นการทำงานของโปรแกรม ตั้งแต่เริ่มต้นจนจบการทำงาน ซึ่งสัญลักษณ์ที่ใช้ในการเขียนผังงาน มีรายละเอียดความหมายของ ลักษณะการทำงานดังต่อไปนี้

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

การกำหนดค่าตัวแปรในโปรแกรม Scratch

การกำหนดค่าตัวแปร (Variable) ในโปรแกรม Scratch
การกำหนดค่าตัวแปร คือ การระบุค่า หรือ การตั้งค่าข้อมูลเข้า เพื่อนำมาประมวลผลตามเงื่อนไขที่กำหนดมาในปัญหา เพื่อให้ได้ข้อมูลออกหรือผลลัพธ์ของปัญหา

การออกแบบโปรแกรมที่มีการตรวจสอบเงื่อนไขในโปรแกรม Scratch
การกำหนดเงื่อนไขเป็นการสร้างรูปแบบหรือตรรกะวิธีการตัดสินใจในการดำเนินการใด ๆ กับเหตุการณ์นั้น โดยถ้าเกิดเหตุการณ์หรือเงื่อนไขที่กำหนดไว้เป็นจริง ตัวละครหรือฉากจะดำเนินการตามที่ถูกกำหนด (IF…else….) และ หากไม่เป็นจริง ตัวละครหรือฉากจะดำเนินการตามที่ถูกกำหนดไว้ (IF…else….then….)

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

1. หาความสำคัญของปัญหา การวิเคราะห์ปัญหาเพื่อกำหนดค่าตัวแปร ในการตรวจสอบเลขให้แสดงผลเลขคู่หรือเลขคี่ โดยใช้ฟังก์ชันเพื่อหาเศษ

2. แบ่งแยกปัญหา
1. รู้จักฟังก์ชันการ คำนวณเพื่อหาเศษ
2. กำหนดเงื่อนไขค่าเศษที่ได้มาแสดงผลลัพธ์

3. รูปแบบและเงื่อนไข
1. ถ้าค่าเศษออกมาเป็นเลข 0 ให้แสดง “เป็นเลขคู่”
2. ถ้าค่าเศษจากการคำนวณไม่เป็น 0 ให้แสดง “เป็นเลขคี่”

การออกแบบโดยการเขียนผังงาน ข้อความ และการเขียนโปรแกรมโดยใช้ Scratch

โปรแกรมรับข้อมูลน้ำหนักส่วนสูงแสดงผลความสมส่วนของร่างกายจากค่า BMI

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

1. หาความสำคัญของปัญหา
การวิเคราะห์ปัญหาเพื่อกำหนดค่าตัวแปร ในการตรวจสอบเลขให้แสดงผลเลขคู่หรือ
เลขคี่ โดยใช้ฟังก์ชัน เพื่อหาเศษ

2. แบ่งแยกปัญหา
1. คำนวนน้ำหนักและส่วนสูงหาความสมส่วนของร่างกาย

2. การกำหนดการแสดงผลลัพธ์ตามเงื่อนไข

3.รูปแบบและเงื่อนไข
1. ถ้าค่า BMI 0.00 – 18.5 ให้แสดงผลลัพธ์ “น้ำหนักต่ำกว่าเกณฑ์”
2. ถ้าค่า BMI 18.5 – 22.9 ให้แสดงผลลัพธ์ “สมส่วน”
3. ถ้าค่า BMI 23.0 – 24.9 ให้แสดงผลลัพธ์ “น้ำหนักเกิน”
4. ถ้าค่า BMI 25.0 – 29.9 ให้แสดงผลลัพธ์ “โรคอ้วน”
5. ถ้าค่า BMI มากกว่า 30 ให้แสดงผลลัพธ์ “โรคอ้วนอันตราย”

การออกแบบโดยการเขียนผังงานและการเขียนโปรแกรมโดยใช้ Scratch

การตรวจสอบข้อผิดพลาดของโปรแกรม

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

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

1.ความสำคัญของปัญหา หาการเรียงลำดับของดาวเคราะห์ในระบบสุริยะจักรวาล

2. แบ่งแยกปัญหา
1. กำหนดจุดเริ่มต้นและจุดสิ้นสุดการเดินทาง
2. สำรวจเส้นทางการเดินทางที่ได้คะแนนมากที่สุด
3. นับเส้นทางการเดินให้ไม่เกิน 12 ช่อง

3. รูปแบบและเงื่อนไข
1. เรียงลำดับตามดาวเคราะห์ในระบบสุริยะจักรวาล
2. คะแนนรวมในการเดินทางที่ได้มากที่สุดใน 12 ช่องการเดิน

Technology Challenge

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

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

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

1. หาความสำคัญของปัญหา
การวิเคราะห์ปัญหาเพื่อกำหนดค่าตัวแปรโดยตัวแปรที่ 1 คือ คะแนน ตัวแปรที่ 2 คือ เวลา 30 วินาที

2. แบ่งแยกปัญหา
1. สร้างฉาก และ ออกแบบโปรแกรม
2. กำหนดตัวแปรคะแนนและเวลา สร้างเงื่อนไขเวลา
3. สร้างและกำหนดตัวละครปลาฉลามเคลื่อนที่ตามการกดแป้นพิมพ์ลูกศรโดยกำหนดให้เมื่อกดคียบอร์ด 1 ครั้งจะเคลื่อนไป 10 หน่วยตามทิศทาง
4. สร้างและกำหนดตัวละครปลาและปูให้เคลื่อนที่เป็นอิสระ

3.รูปแบบและเงื่อนไข
1. กำหนดเงื่อนไขให้ปลาฉลามเมื่อชนกับปลาจะได้ 1 คะแนน
2. กำหนดเงื่อนไขให้ปลาฉลามชนกับปูจะ -1 คะแนน
3. กำหนดเงื่อนไขเวลาในการเล่น 30 วินาที

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

ออกแบบโปรแกรมสั่งให้ตัวละครทำตามเงื่อนไขที่กำหนด

2. การกำหนดตัวแปรคะแนน (Score) และกำหนดตัวแปรเวลา (Time)
การกำหนดค่าตัวแปรจะใช้คำสั่งที่อยู่ในชุดคำสั่ง Data&Blocks โดย Data คือการกำหนดค่าตัวแปร(Variable) และสำหรับ Blocks คือการเชื่อมต่อกับอุ ปกรณ์อื่นๆ เช่น หุ่นยนต์หรือ Lego Wedo เป็นต้น

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

4. การสร้างกำหนดการเคลื่อนที่แบบอิสระและการกำหนดเงื่อนไขการได้คะแนนของปลา
การกำหนดการเคลื่อนไหวจะใช้คำสั่ง glide ซึ่งสามารถกำหนดช่วงเวลาได้ ถ้าย้ายตำแหน่งจะใช้คำสั่ง goto และสำหรับการกำหนดเงื่อนไข เมื่อสัมผัสจะใช้คำสั่งเมื่อสัมผัส touching ซึ่งต้องใช้ร่วมกับกับคำสั่งรอจนกระทั้ง

5. การสร้างกำหนดการเคลื่อนที่แบบอิสระและการกำหนดเงื่อนไขการหักคะแนนของปู
การกำหนดการเคลื่อนไหวจะใช้คำสั่ง glide ซึ่งสามารถกำหนดช่วงเวลาได้
ถ้าย้ายตำแหน่งจะใช้คำสั่ง goto และสำหรับการกำหนดเงื่อนไข เมื่อสัมผัสจะใช้คำสั่งเมื่อสัมผัส touching ซึ่งต้องใช้ร่วมกับคำสั่งรอจนกระทั้ง

Technology workshop

ปัญหาสิ่งแวดล้อมสามารถแก้ไขได้ด้วย………

Investigate Idea : ทุก ๆปีจะมีวันสิ่งแวดล้อม คือวันที่ 5 มิถุนายน ปีนี้ลิปดาและเพื่อนๆ จึงคิดจะช่วยกันสร้างเรื่องราวที่เกี่ยวกับปัญหาสิ่งแวดล้อม โดยคำนึงปริมาณการใช้และปริมาณการทิ้งของเสียที่เพิ่มมากขึ้นสร้างปัญหาให้กับสิ่งแวดล้อมอย่างไรบ้าง
Missions :
1. ให้นักเรียนสร้างเรื่องราวเกี่ยวกับปัญหาของสิ่งแวดล้อม เช่นการใช้น้ำ ปริมาณทิ้งขยะ
ที่เพิ่มขึ้นจะมีผลอย่างไร โดยให้โปรแกรมมีการรับค่าข้อมูล และสั่งให้ตัวละครทำตามเงื่อนไข
2. ให้ออกแบบโปรแกรมก่อนลงมือเขียนโปรแกรมโดยใช้ผังงาน
3. นำเสนอผลงานพร้อมจัดการประกวดผลงาน
Materials :
1. คอมพิวเตอร์และโปรแกรม Scratch
2. อุปกรณ์เครื่องเขียน
ASK : นักเรียนเข้าใจการออกแบบและเขียนโปรแกรมรับค่าข้อมูลเข้า และสั่งให้ตัวละครทำตามเงื่อนไขที่กำหนด
Plan&Design : ร่วมกันวางแผนและออกแบบโปรแกรมโดยใช้โปรแกรม Scratch ข้อผิดพลาดหรือไม่
Building&Testing : ให้นักเรียนลงมือทำแผนที่กำหนดไว้
Evaluation&Redesign :
1. นักเรียนสามารถทำภารกิจนี้สำเร็จหรือไม่
2. นักเรียนพบปัญหาจากการทำภารกิจนี้หรือไม่
3. นักเรียนมีวิธีการแก้ไขปัญหาอย่างไร