Top
 

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

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

วิทยาการคำนวณ ป.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)

 

คอมพิวเตอร์ทำงานอย่างไร          

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

การออกแบบโปรแกรม (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. ให้นักเรียนแต่ละกลุ่มหาข้อผิดพลาดของโปรแกรม
  2. กลุ่มใดทำได้เร็วที่สุดและถูกต้องที่สุดเป็นผู้ชนะ

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

รวบรวมข้อมูล : การฝึกตรวจหาข้อผิดพลาดของโปรแกรมสำคัญอย่างไร

วางแผน ออกแบบ : ให้ออกแบบและวางแผนการเขียนโปรแกรมที่มีข้อผิดพลาด

เกมแยกขยะ

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

ภารกิจ : 1. ให้นักเรียนสร้างเกมเกี่ยวกับการแยกขยะโดยให้มีเรื่องราวเกี่ยวกับปัญหาการแยกขยะในตอนต้นก่อนเริ่มเข้าเกม

  1. ให้ออกแบบโปรแกรมก่อนลงมือเขียนโปรแกรมโดยใช้ผังงาน
  2. นำเสนอผลงานพร้อมจัดการประกวดผลงาน

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

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

ออกแบบและวางแผน

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

ลงมือปฏิบัติ และ ทดสอบชิ้นงาน

ให้นักเรียนลงมือทำแผนที่กำหนดไว้

ประเมินผลและปรับปรุงแก้ไข

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