1บทที่ 1
แนวคิดเชิงคำนวณ (Computational Thinking)
การแยกส่วนประกอบ และการย่อยปัญหา (Decomposition)
แนวคิดเชิงคำนวณ
แนวคิดเชิงคำนวณ (Computational Thinking) เป็นกระบวนการวิเคราะห์ปัญหา เพื่ อให้ได้แนวทาง
หาคำตอบอย่างเป็นขั้นตอนที่สามารถนำไปปฏิบัติได้โดยบุคคลหรือคอมพิ วเตอร์อย่างถูกต้อง การคิดเชิง
คำนวณ เป็นกระบวนการแก้ปัญหาในหลากหลายลักษณะ เช่น การจัดลำดับเชิงตรรกศาสตร์ การวิเคราะห์
ข้อมูล และการสร้างสรรค์วิธีแก้ปัญหาไปทีละขั้น รวมทั้งการย่อยปัญหาที่ช่วยให้รับมือกับปัญหาที่ซับซ้อน
หรือมีลักษณะเป็นคำถามปลายเปิดได้วิธีคิดเชิงคำนวณ จะช่วยทำให้ปัญหาที่ซับซ้อนเข้าใจได้ง่ายขึ้น เป็น
ทักษะที่เป็นประโยชน์อย่างยิ่งต่อทุก ๆ สาขาวิชา และทุกเรื่องในชีวิตประจำวันซึ่งไม่ได้จำกัดอยู่เพี ยงการคิด
ให้เหมือนคอมพิ วเตอร์แต่เป็นกระบวนการคิดแก้ปัญหาของมนุษย์ เพื่ อสั่งให้คอมพิ วเตอร์ทำงานและช่วย
แก้ปัญหาตามที่เราต้องการได้อย่างมีประสิทธิภาพ
แนวคิดเชิงคำนวณมีองค์ประกอบที่สำคัญ 4
ส่วน ได้แก่ การแบ่งปัญหาใหญ่เป็นปัญหาย่อย
(Decomposition) การพิ จารณารูปแบบ
(Pattern Recognition) การคิดเชิงนามธรรม
(Abstraction) การออกแบบอัลกอริทึม
(Algorithm) ในบทเรียนนี้จะกล่าวเพี ยง การ
แบ่งปัญหาใหญ่เป็นปัญหาย่อย
(Decomposition) เท่านั้น โดยมีรายละเอียด
ดังนี้
2
การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition)
เป็นการแยกส่วนประกอบเป็นวิธีคิด ขึ้น ในการเขียนโปรแกรม
รูปแบบหนึ่งของแนวคิดเชิงคำนวณ คอมพิ วเตอร์ เช่น การเขียนโปรแกรม
เป็นการพิ จารณาเพื่ อ แบ่งปัญหา แยกเป็นส่วน ๆ แยกเป็นแพ็ กเกจ
หรืองานออกเป็นส่วนย่อย ทำให้ แยกเป็นโมดูล หรือมองเป็น LAYER
สามารถ จัดการกับปัญหาหรืองาน
ได้ง่ายขึ้น การแตกปัญหาที่ซับซ้อน
ให้เป็นปัญหาย่อยที่มีขนาดเล็กลง
และซับซ้อนน้อยลง เพื่ อช่วยให้การ
วิเคราะห์และออกแบบวิธีการแก้
ปัญหาทำได้ง่ายขึ้น
หรือการแบ่งปัญหาเมื่อจะแก้ไขอุปกรณ์ ถ้ามองในรายละเอียดของล้อจักรยาน
เช่น การแยกส่วนประกอบของพั ดลม จะเห็น ว่าประกอบด้วย ยางล้อ วง
แบ่งเป็นใบพั ด มอเตอร์ ตะแกรงหน้า ล้อ และซี่ลวด หรือถ้าพิ จารณาชุด
ขับเคลื่อนก็จะพบว่าประกอบด้วย
ขอบตะแกรง ฝาครอบ ฐานพั ดลม เฟือง โซ่ และบันได เป็นต้น
เป็นต้น หรือ การแยกส่วนประกอบของ
รถจักรยาน แบ่งเป็น ล้อหน้า ล้อหลัง
หลังอาน โซ่ โช๊ค แฮนด์ มือเบรก
เป็นต้น
3
กรณีตัวอย่างการแบ่งปัญหาใหญ่เป็นปัญหายอ่ ย (Decomposition)
รถของกวิน
กวิน เป็นคุณครูที่เด็ก ๆ รัก และกำลังจะเดินทางไปโรงเรียนในเช้าของวันนี้ แต่ด้วยกวินไม่สามารถ
สตาร์ทรถยนต์คู่ใจที่ใช้ทุกวันให้ติดได้ เนื่องจากเกิดปัญหา 4 ปะการ ได้แก่ เมื่อคืนเปิดไฟในรถทิ้งไว้ทั้งคืน
อาจจะทำให้แบตเตอรี่หมด หรือ ก่อนเข้าบ้านเขาไม่ได้เติมน้ำมันให้เต็มถัง อาจจะเป็นไปได้ว่าน้ำมันในถัง
เชิงเพลิงหมด หรืออาจจะเป็นปัญหาเครื่องยนต์ เมื่อกวินต้องการใช้แนวคิดเชิงคำนวณแก้ปัญหาที่เกิดขึ้น
กวินจะสามารถแก้ปัญหาด้วยการแบ่งปัญหาใหญ่เป็นปัญหาย่อย ได้ดังนี้
1. แบตเตอรี่หมด 2. น้ำมันเชื้อเพลิงหมด
3. เครื่องยนต์มีปัญหา 4. รถยางแบน
บทที่ 2 4
ขั้นตอนการแก้ปัญหา
ด้วย ภาษาไพทอน
1. การวิเคราะห์และกำหนดรายละเอียดของปัญหา เป็นการทำความเข้าใจ
เกี่ยวกับรายละเอียด เงื่อนไข ข้อกำหนด รวมถึงข้อจำกัดต่างๆ ของปัญหา และ
รวมรวมข้อมูลที่จำเป็นต่อการแก้ไขปัญหา
2. การวางแผนการแก้ปัญหา เป็นการคิดค้น 3. การดำเนินการแก้ปัญหา เป็นการนำ
กระบวนการต่างๆ ที่เป็นขั้นตอน ตั้งแต่เริ่มต้น กระบวนการที่วางแผนไว้มาปฎิบัติ หรือพัฒนา
จนกระทั้งได้ผลลัพท์ โดยอาศัยประสบการณ์ โปรแกรมคอมพิวเตอร์มาเพื่อแก้ปัญหา
ทักษะ และความรู้ต่างๆ นำมาประยุกต์ใช้ให้เข้า
กับปัญหา สำหรับการพัฒนาโปรแกรม อาจเลือก
ใช้ รหัสลำลอง หรือ ผังงาน โดยใช้วิธีการแก้
ปัญหาที่เรียกว่า อัลกอริทึม (algorithm)
4. ตรวจสอบและประเมินผล เป็นการตรวจสอบผลลัพท์การทำงาน หากผลลัพท์ไม่ถูกต้องหรือไม่ตรงตามที่คาดหวังไว้
ให้ย้อนกลับไปตรวจสอบขั้นตอนก่อนหน้า ทำซ้ำไปเรื่อยๆ จนกว่าจะแก้ไขปรับปรุงจนกว่าจะได้รับผลลัพท์ที่ต้องการ
5
ขั้นตอนที่1 การวิเคราะห์และ
กำหนดรายละเอียดของปัญหา
เป็นขั้นตอนที่สำคัญที่สุด
จุดประสงค์เพื่อทำความเข้าใจกับปัญหาเพื่อแยกให้ออกว่าข้อมูลที่กำหนดมาในปัญหา
หรือเงื่อนไขของปัญหาคืออะไร และสิ่งที่ต้องการคืออะไร อีกทั้งวิธีการที่ใช้ประมวล
ผล ในการวิเคราะห์ปัญหาใด กล่าวโดยสรุปมีองค์ประกอบในการวิเคราะห์ ดังนี้
1. การระบุข้อมูลเข้า ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา
2. การระบุข้อมูลออก ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
3. การกำหนดวิธีประมวลผล ได้แก่ การพิจารณาขั้นตอนวิธีหาคำตอบหรือข้อมูล
ออก
6
ขั้น ต อ น ท ่ี 2 ก า ร ว า ง แ ผ น แ ก้ ปั ญ ห า
เ ป็ น ก า ร คิ ด ค้ น ก ร ะ บ ว น ก า ร แ ก้ ไ ข ปั ญ ห า ต่ า ง ๆ ที่
เป็นขั้นตอน ตั้งแต่เริ่มต้นจนกระทั้งได้ผลลัพท
ที่ต้องการ เพื่อให้ได้ขั้นตอนวิธีแก้ไขปัญหา
หรือ อัลกอริทึมและถ่ายทอดวิธีการแก้ไข
ปัญหา โดยใช้รหัสลำลอง (Pseudocode)
หรือ ผังงาน (Flowchart)
7
ขั้นตอนที่ 3 การดำเนินการแก้ปัญหา
เป็นการนำกระบวนการที่ได้วางแผนไว้มาปฎิบัติ หรือพัฒนาโปรแกรมเพื่อแก้ไขปัญหา สำหรับ
ระดับชั้น ม.1 เราจะเรียนการแก้ไขปัญหาโดยใช้คอมพิวเตอร์ โดยใช้ภาษา Python หรือ โปรแกรม
Scratch
ขั้นตอนที่ 4 การตรวจสอบและประเมิณ
ผลขั้นตอนนี้จะทำควบคู่กับขั้นตอนการดำเนินการแก้ปัญหา โดยตรวจสอบผลลัพท์ที่ได้ หากผลลัพท์ไม่ถูก
ต้อง ต้องกลับไปตรวจสอบกระบวนการก่อนหน้า เช่นตรวจสอบการดำเนินการแก้ปัญหานั่นถูกต้องตาม
แผนการที่วางไว้หรือไม่ หากดำเนินการถูกต้องตามแผนแล้ว แต่ผลลัพท์ยังไม่ถูกต้อง
8
ผังงาน (FLOWCHAT)
การอธิบายขั้นตอนวิธีการทำงาน ในรูปแบบของ
สัญลักษณ์ เส้นเชื่อมความสัมพันธ์ และข้อความ
อธิบาย
บทที่ 3 9
โปรแกรม สะแครชScratch ()
เป็ นโปรแกรมภาษาคอมพิ วเตอร์ ที่ผู้เรียนสามารถสร้างชิ้น
งานได้อย่างง่าย เช่น นิทานที่สามารถโต้ตอบกับผู้อ่านได้
ภาพเคลื่อนไหว เกม ดนตรี และศิลปะ
1. แถบเมนูเครื่องมือ (Toolbar)
2. เวที (Stage)
3. รายการตัวละคร (Sprite)
4. กลุ่มบล็อก
5. บล็อกคำสั่ง
6. พื้นที่ทำงาน (Script)
10
ชุดคำสั่งสำหรับตัวละครหรือเวที
บทประยุกต์การนำความรู้ไปใช้
บอร์ด arduino uno
การทำซ้ำสามารถแบ่งได้เป็น 2 ลักษณะ คือ
1. ทำในขณะที่
2. ทำจนกระทั่ง
บทที่ 4 11
หลักการทำงานของคอมพิวเตอร์
การทำงานพื้นฐานของคอมพิวเตอร์ มี 4 ขั้นตอน ดังนี้
1.รับข้อมูล (Input) คอมพิวเตอร์จะทำ
หน้าที่รับข้อมูลไปประมวลผล อุปกรณ์ที่
ทำหน้าที่รับข้อมูล
1.ประมวลผลข้อมูล (Process) เมื่อ
คอมพิวเตอร์รับข้อมูลเข้าสู่ระบบแล้วจะ
ทำการประมวลผลตามคำสั่ง
หรือโปรแกรมที่กำหนด
1.แสดงผลข้อมูล (Output) เมื่อ
ทำการประมวลผลแล้ว คอมพิวเตอร์จะ
แสดงผลลัพธ์
1.จัดเก็บข้อมูล คอมพิวเตอร์จะทำการ
จัดเก็บข้อมูลลงในอุปกรณ์ที่เก็บ
ข้อมูล
12
เปรียบเทียบการทำงานระหว่างมนุษย์กับคอมพิวเตอร์
กระบวนการทำงานของคอมพิวเตอร์จะมีหลักเหมือนกับกระบวนการทำงานของมนุษย์
ซึ่งประกอบด้วย 4 หน่วยคือ
หน่วยรับข้อมูล หน่วยความจำ หน่วยประมวลผล และหน่วยแสดงผล
ข้อสอบ
ห ลั ง เ รีย น
linke
.................................................
14
ผู้ จัด ทำ
15
ชื่อ นายวิทวัส สุขใส
วันเดือนปี เกิด 25 กุมภาพันธ์ 2543
ที่อยู่ บ้านเลขที่113 หมู่ 9 ตำบล พรสำราญ อำเภอ คูเมือง จังหวัด บุรีรัมย์ 31190
ตำแหน่งหน้าที่ กำลังศึกษามหาวิทยาลัยราชภัฏบุรีรัมย์
สาขาวิชา เทคโนโลยีและคอมพิวเตอร์เพื่อการศึกษา
ประวัติการศึกษา
มัธยมต้น โรงเรียนมัธยมพรสำราญ
มัธยมปลาย โรงเรียนมัธยมพรสำราญ
16
ชื่อ นายอุดมพล อาสาจิตร
วันเดือนปี เกิด 5 กันยายน 2542
ที่อยู่ บ้านเลขที่161 หมู่ 2 ตำบลศรีณรงค์ อำเภอชุมพลบุรี จังหวัดสุรินทร์ 32190
ตำแหน่งหน้าที่ กำลังศึกษามหาวิทยาลัยราชภัฏบุรีรัมย์
สาขาวิชา เทคโนโลยีและคอมพิวเตอร์เพื่อการศึกษา
ประวัติการศึกษา
มัธยมต้น โรงเรียนชุมพลวิทยาสรรค์
มัธยมปลาย โรงเรียนชุมพลวิทยาสรรค์
16
TTHYHYAOAONUNUKK