วิทยาการคำนวณ ป.5 หน่วย 2 เรื่อง การออกแบบและเขียนโปรแกรมที่มีการใช้เหตุผลเชิงตรรกะอย่างง่าย
ระดับชั้น : ประถมศึกษาปีที่ 5
หน่วยที่
: 2
เรื่อง : การออกแบบและเขียนโปรแกรมที่มีการใช้เหตุผลเชิงตรรกะอย่างง่าย
สาระ : สาระที่ 4 เทคโนโลยี
ตัวชี้วัด :
ว 4.2 ป.5/2 ออกแบบและเขียนโปรแกรมที่มีการใช้เหตุผลเชิงตรรกะอย่างง่ายตรวจหาข้อผิดพลาดและแก้ไข
วิทยาการคอมพิวเตอร์ (Computer Science) การแก้ปัญหาอย่างเป็นขั้นตอนและเป็นระบบ การใช้แนวคิดเชิงคำนวณในการแก้ปัญหาในชีวิตประจำวัน บูรณาการกับวิชาอื่น การเขียนโปรแกรมการคาดการณ์ผลลัพธ์ การตรวจหาข้อผิดพลาด การพัฒนาแอปพลิเคชันหรือพัฒนาโครงงานอย่างสร้างสรรค์เพื่อแก้ปัญหาในชีวิตจริง
*เนื้อหาและรูปภาพการ์ตูนลิปดาโพล่านี้คือตัวอย่างหนังสือวิทยาการคำนวณ เป็นลิขสิทธิ์ของบริษัทอิมเมจิเนียริ่ง เอ็ดดูเคชั่น จำกัด ไม่อนุญาตให้นำภาพประกอบไปใช้ในเชิงธุรกิจหรือแสวงหาผลกำไรต่าง ๆ หากต้องการนำเนื้อหาและรูปภาพไปใช้รบกวนติดต่อทีมงานก่อนทุกครั้ง เพื่อส่งเรื่องให้ทางผู้บริหารพิจารณาอนุมัติ
1.Computer เป็นเครื่องจักรชนิดหนึ่ง ซึ่งไม่สามารถคิดเองได้เหมือนกับมนุษย์แต่สามารถ เก็บข้อมูลประมวลผลข้อมูล และแสดงผลข้อมูล ดังนั้นเมื่อต้องการสั่งให้คอมพิวเตอร์ทำงาน ต้องออกแบบและเขียนโปรแกรมตามกระบวนการทำงานของคอมพิวเตอร์
2.Program การออกแบบโปรแกรมเป็นการเขียนขั้นตอนหรือลำดับการทำงาน อัลกอริทึม (Algorithm) เพื่อให้คอมพิวเตอร์เข้าใจโดยการออกแบบโปรแกรมโดยการใช้อัลกอริทึมนั้นต้องเรียงลำดับขั้นตอน (Order) อย่างละเอียดเป็นขั้นตอนไม่สลับกันโดยสามารถออกแบบโปรแกรมได้หลายแบบ เช่น การเขียนข้อความ สตอรี่บอร์ด (Storyboard) หรือ ผังงาน(Flowchart)
3.Computer Languages เมื่อออกแบบโปรแกรมเสร็จแล้ว ขั้นตอนต่อไปคือการ เลือกภาษาที่เหมาะสมกับงาน โดยคอมพิวเตอร์สามารถเข้าใจได้หลายภาษา เช่น ภาษา HTML Java ใช้สำหรับการเขียนเว็บเพจ ทำเกม หรือ ภาษา Scratch และ Python เป็นภาษาสำหรับใช้งานเบื้องต้น
4.Debugging คือการหาข้อผิดพลาดของโปรแกรมซึ่งหากมีข้อผิดพลาดให้ตรวจสอบการทำงานทีละคำสั่งเมื่อพบจุดที่ทำให้ผลลัพธ์ไม่ถูกต้อง ให้ทำการแก้ไขจนกว่าจะได้ผลลัพธ์ที่ถูกต้อง
5.If then เป็นการกำหนดเงื่อนไขเป็นการสร้างรูปแบบเหตุผลหรือตรรกะในการให้โปรแกรมตัดสินใจตามเงื่อนไขในการดำเนินการกับเหตุการณ์นั้นๆ โดยถ้าเกิดเหตุการณ์หรือตามเงื่อนไขที่กำหนด แล้วโปรแกรมจะดำเนินการตามเงื่อนไขและได้ผลลัพธ์ตามที่ถูกกำหนด
6.Variable การเขียนโปรแกรมคอมพิวเตอร์ จะต้องมีการจัดเก็บข้อมูลที่จำเป็นไว้ โดยจะจัดเก็บไว้ในตัวแปร (Variable) ซึ่งก็คือ การระบุค่า หรือ การตั้งค่าข้อมูลเข้า (Input) เพื่อนำมาประมวลผล(Process) ตามเงื่อนไขที่กำหนดมาในปัญหา เพื่อให้ได้ข้อมูลออกหรือผลลัพธ์ของปัญหา(Output)
- การออกแบบโปรแกรม
- การกำหนดค่าตัวแปร
- การตรวจสอบข้อผิดพลาดของโปรแกรม (Debugging)
- กิจกรรมท้าให้ลอง
- เทคโนโลยีงานสร้างสรรค์
คอมพิวเตอร์ทำงานอย่างไร
ก่อนจะออกแบบโปรแกรม ผู้เรียนต้องเข้าใจก่อนว่า คอมพิวเตอร์ทำงานอย่างไร คอมพิวเตอร์ เป็นเพียงเครื่องจักร ที่รับข้อมูล ทำการประมวลผลข้อมูลตามเงื่อนไขที่กำหนด และจะแสดงผลลัพธ์ออกมา ดังนั้นหากต้องการให้คอมพิวเตอร์ทำงานได้ถูกต้องจะต้องออกแบบโปรแกรมให้ละเอียด เป็นขั้นตอน ไม่สลับขั้นตอน กำหนดเงื่อนไขให้ชัดเจน เพื่อจะได้ผลลัพธ์ที่ต้องการ
การออกแบบโปรแกรม (Program)
เป็นการออกแบบขั้นตอนการทำงานของคอมพิวเตอร์ หรือขั้นตอนการแก้ปัญหา ซึ่งจะต้องแสดงลำดับของการทำงานอย่างละเอียด ชัดเจน เป็นขั้นตอน และเป็นลำดับโดยการเรียงลำดับไม่ควรสลับตำแหน่งการทำงานเพราะอาจจะได้ผลลัพธ์ของการทำงานที่ผิดพลาดได้ โดย การออกแบบโปรแกรมสามารถทำได้โดยเขียนเป็นข้อความหรือผังงาน
การออกแบบโปรแกรมด้วยการเขียนข้อความ
การออกแบบโปรแกรมด้วยการเขียนเป็นข้อความ เป็นการแสดงลำดับขั้นตอนการทำงานด้วยการเขียนข้อความบอกเล่า โดยจำเป็นต้องเขียนให้ ละเอียด ชัดเจน เป็นขั้นตอนเข้าใจง่าย ได้ผลลัพธ์ให้เปรียบเทียบการเขียนขั้นตอนการต่อหุ่นยนต์ 2 แบบด้านล่าง
การออกแบบโปรแกรมด้วยการเขียนผังงาน (Flowchart)
คือ การออกแบบขั้นตอนการทำงานของโปรแกรมโดยใช้สัญลักษณ์ซึ่งสัญลักษณ์จะแสดงลักษณะของการทำงาน สัญลักษณ์จะถูกเชื่อมการแสดงลำดับขั้นโดยใช้ลูกศรเพื่อแสดงลำดับขั้นการทำงานของโปรแกรม ตั้งแต่เริ่มต้นจนจบการทำงาน ซึ่งสัญลักษณ์ที่ใช้ในการเขียน ผังงาน มีรายละเอียดความหมายของ ลักษณะการทำงานดังต่อไปนี้
ตัวอย่าง การออกแบบโปรแกรมด้วยผังงาน
แผนผังแสดงขั้นตอนของโปรแกรมการสร้างหุ่นยนต์ จะทำให้มองเห็นขั้นตอนการทำงานของโปรแกรมได้ง่ายกว่าการอธิบายข้อความ หากเกิดข้อผิดพลาดก็สามารถแก้ไขโปรแกรมได้ง่ายขึ้น
การกำหนดค่าตัวแปร (Variable) คือ การระบุค่า หรือ การตั้งค่าข้อมูลเข้า เพื่อนำมาประมวลผลตามเงื่อนไขที่กำหนดมาในปัญหา เพื่อให้ได้ข้อมูลออกหรือผลลัพธ์ของปัญหา
การกำหนดชื่อและค่าของตัวแปร
ชื่อของตัวแปร สามารถกำหนดเป็น ข้อมูลตัวอักษร
ค่าของตัวแปร สามารถกำหนดเป็น ตัวอักษรหรือตัวเลข ก็ได้
เปรียบเทียบได้กับ ชื่อของกล่องเก็บข้อมูล คือ ชื่อของตัวแปร
ของที่อยู่ในกล่อง คือ ค่าของตัวเแปร
1.คลิกคำสั่ง Data ซึ่งเป็นชุดคำสั่งกำหนดค่าตัวแปร
2.คลิกเลือกคำสั่ง Make a Variable จะมีหน้าต่าง New Variable (ตัวแปร)
3.การกำหนดชื่อของตัวแปร(Variable name) ซึ่งสามารถพิมพ์ได้ทั้งตัวอักษรและตัวเลข
4.เป็นการกำหนดให้ค่าตัวแปรนี้มีความสัมพันธ์กับตัวละครใด ซึ่งจะมีทั้งแบบตัวละครทั้งหมด (For all sprites) และสำหรับตัวละครนี้เท่านั้น (For this sprite only)
5.Set คือกำหนดค่าเริ่มต้นของตัวแปร จากตัวอย่างเป็นการกำหนดค่าเริ่มต้นของตัวแปร เวลา เริ่มต้นที่ 0
6.Change คือ กำหนดค่าที่จะเปลี่ยนแปลงของตัวแปรนั้น โดยจากตัวอย่างเป็นการกำหนดให้เปลี่ยนแปลงครั้งละ 1
7.Show variable แสดงตัวแปรคือ การแสดงตัวแปรที่จะแสดงบนพื้นที่ทำงาน
8.Hide variable ซ่อนตัวแปรคือ การซ่อนค่าตัวแปรที่จะแสดงบนพื้นที่ทำงาน
การออกแบบโปรแกรมที่มีการตรวจสอบเงื่อนไขในโปรแกรม Scratch
การกำหนดเงื่อนไขเป็นการสร้างรูปแบบหรือตรรกะวิธีการตัดสินใจในการดำเนินการใดๆ กับเหตุการณ์นั้น โดยถ้าเกิดเหตุการณ์หรือเงื่อนไขที่กำหนดไว้เป็นจริง ตัวละครหรือฉากจะดำเนินการตามที่ถูกกำหนด (If…then….) และ หากไม่เป็นจริง ตัวละครหรือฉากจะดำเนินการตามที่ถูกกำหนดไว้ (If…then….else….)
ตัวอย่างการใช้เหตุผลเชิงตรรกะมาใช้พิจารณาในการแก้ปัญหา
ตัวอย่าง โปรแกรมสร้างรูปเรขาคณิตตามค่าข้อมูลเข้า
ตัวอย่างการใช้เหตุผลเชิงตรรกะมาใช้พิจารณาในการแก้ปัญหา
ตัวอย่างการออกแบบโปรแกรมตรวจสอบเลขคู่ เลขคี่
โปรแกรมรับข้อมูลน้ำหนักส่วนสูงแสดงผลความสมส่วนของร่างกายจากค่า BMI
โปรแกรมคอมพิวเตอร์ที่เขียนบางครั้งจะเกิดปัญหาขึ้น ปัญหาที่เกิดขึ้นจากการเขียนโปรแกรมในแต่ลำดับขั้นของคำสั่งนั้นเรียกว่า ข้อผิดพลาด (Bug) การหาและแก้ไขปัญหาข้อผิดพลาดจะเรียกว่า การตรวจสอบข้อผิดพลาดของโปรแกรม (Debugging) โดย หากมีข้อผิดพลาดให้ตรวจสอบการทำงานทีละคำสั่ง เมื่อพบจุดที่ทำให้ผลลััพธ์ไม่ถูกต้อง ให้ทำการแก้ไขจนกว่าจะได้ผลลัพธ์ที่ถูกต้อง
การตรวจสอบข้อผิดพลาดโดยการตรวจสอบการทำงานทีและคำสั่งและทำการแก้ไข
1.ตัวละครแมวเดินไปชนขอบแล้วไม่เด้ง ตรวจสอบไม่พบคำสั่งให้ชนแล้วเด้งกลับ
2.ตัวละครไม่กลับทิศทาง ตรวจสอบยังไม่ได้กลับทิศทางของตัวละครเมื่อชน
3.ตรวจสอบคำสั่งเมื่อชนสีส้มแล้วแสดงข้อความสีส้มค้าง ไม่มีการกำหนดเวลาแสดงไว้
4.ทำการเพิ่มคำสั่งลงไปก่อนมีการตรวจสอบเงื่อนไข
5.เปลี่ยนคำสั่งให้ตัวละครแมว เมื่อชนแล้วทำการกลับทิศทาง
6.เปลี่ยนคำสั่งแสดงข้อความให้มีแบบกำหนดเวลาในการแสดงข้อความ 2 วินาที
ตัวอย่างโปรแกรมสั่งให้ตัวละครทำตามเงื่อนไขที่กำหนด
ผิดพลาดไปถึงไหนเนี่ยทำไมโปรแกรมทำงานไม่ได้นะ
ลิปดากำลังเขียนโปรแกรมแต่มีข้อผิดพลาด คุณพ่อ เข้ามาแล้วถามว่าโปรแกรมที่ต้องการคืออะไร แล้วจึงช่วยลิปดาแก้ไขข้อผิดพลาดของโปรแกรม ลิปดาจึงขอบคุณ คุณพ่อ อธิบายว่า ลิปดาควรจะออกแบบโปรแกรมด้วยการเขียนอัลกอริทึมก่อนแล้วจึงลงมือเขียนโปรแกรมและควรฝึกแยกย่อยปัญหา หารูปแบบปัญหาเพื่อจะหาสาเหตุของข้อผิดพลาดได้ดียิ่งขึ้น จนกลายเป็นทักษะนะครับ
ภารกิจ : 1. ให้คุณครูออกแบบโปรแกรม Scratch ที่มีข้อผิดพลาด
- ให้นักเรียนแต่ละกลุ่มหาข้อผิดพลาดของโปรแกรม
- กลุ่มใดทำได้เร็วที่สุดและถูกต้องที่สุดเป็นผู้ชนะ
วัสดุอุปกรณ์ : 1. คอมพิวเตอร์โปรแกรม Scratch 2. อุปกรณ์เครื่องเขียน
รวบรวมข้อมูล : การฝึกตรวจหาข้อผิดพลาดของโปรแกรมสำคัญอย่างไร
วางแผน ออกแบบ : ให้ออกแบบและวางแผนการเขียนโปรแกรมที่มีข้อผิดพลาด
เกมแยกขยะ
ระบุปัญหา : ทุกๆ ปีจะมีวันสิ่งแวดล้อม คือวันที่ 5 มิถุนายน ปีนี้ลิปดาและเพื่อนๆ จึงคิดจะช่วยกันสร้างเกมแยกประเภทขยะเพื่อให้ทุกคนได้ตระหนักถึงการแยกขยะ โพล่าจึงแนะนำว่าเราควรสร้างเรื่องราวเพื่อให้ตระหนักถึงปัญหาด้วย
ภารกิจ : 1. ให้นักเรียนสร้างเกมเกี่ยวกับการแยกขยะโดยให้มีเรื่องราวเกี่ยวกับปัญหาการแยกขยะในตอนต้นก่อนเริ่มเข้าเกม
- ให้ออกแบบโปรแกรมก่อนลงมือเขียนโปรแกรมโดยใช้ผังงาน
- นำเสนอผลงานพร้อมจัดการประกวดผลงาน
วัสดุอุปกรณ์ : 1. คอมพิวเตอร์และโปรแกรม Scratch 2. อุปกรณ์เครื่องเขียน
รวบรวมข้อมูล : นักเรียนเข้าใจการออกแบบและเขียนโปรแกรมรับค่าข้อมูลเข้า และสั่งให้ตัวละครทำตามเงื่อนไขที่กำหนด
ออกแบบและวางแผน
ร่วมกันวางแผนและออกแบบโปรแกรมโดยใช้โปรแกรม Scratch
ลงมือปฏิบัติ และ ทดสอบชิ้นงาน
ให้นักเรียนลงมือทำแผนที่กำหนดไว้
ประเมินผลและปรับปรุงแก้ไข
- นักเรียนสามารถทำภารกิจนี้สำเร็จหรือไม่
- นักเรียนพบปัญหาจากการทำภารกิจนี้หรือไม่
- นักเรียนมีวิธีการแก้ไขปัญหาอย่างไร