Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore เเนวคิเชิงคำนวณ

เเนวคิเชิงคำนวณ

Published by piyamonsongsree, 2021-01-29 06:43:55

Description: เเนวคิเชิงคำนวณ
ด.ญ.ปิยะมน ทรงศรี เลขที่17 ชั้น ม.2

Search

Read the Text Version

รายงาน เร่ือง แนวคดิ เชงิ คานวณ จัดทาโดย ด.ญ. ปิ ยะมน ทรงศรี เลขท่1ี 7 ชัน้ ม.2

แนวคดิ เชิงคำนวณ แนวคิดเชิงคำนวณ (Computational Thinking) เป็นกระบวนกำรวเิ ครำะห์ปัญหำ เพื่อใหไ้ ดแ้ นวทำงหำคำตอบอยำ่ งเป็นข้นั ตอนท่ีสำมำรถนำไปปฏิบตั ิไดโ้ ดยบุคคลหรือคอมพิวเตอร์อยำ่ ง ถูกตอ้ ง กำรคิดเชิงคำนวณ เป็ นกระบวนกำรแกป้ ัญหำในหลำกหลำยลกั ษณะ เช่น กำรจดั ลำดบั เชิง ตรรกศำสตร์ กำรวเิ ครำะห์ขอ้ มลู และกำรสร้ำงสรรคว์ ธิ ีแกป้ ัญหำไปทีละข้นั รวมท้งั กำรยอ่ ยปัญหำท่ีช่วย ใหร้ ับมือกบั ปัญหำท่ีซบั ซอ้ นหรือมีลกั ษณะเป็นคำถำมปลำยเปิ ดไดว้ ธิ ีคิดเชิงคำนวณ จะช่วยทำใหป้ ัญหำท่ี ซบั ซอ้ นเขำ้ ใจไดง้ ่ำยข้ึน เป็นทกั ษะท่ีเป็นประโยชน์อยำ่ งยงิ่ ตอ่ ทุก ๆ สำขำวชิ ำ และทุกเร่ืองในชีวติ ประจำวนั ซ่ึงไม่ไดจ้ ำกดั อยเู่ พยี งกำรคิดใหเ้ หมือนคอมพิวเตอร์แตเ่ ป็ นกระบวนกำรคิดแกป้ ัญหำของมนุษย์ เพอื่ สงั่ ให้ คอมพวิ เตอร์ทำงำนและช่วยแกป้ ัญหำตำมที่เรำตอ้ งกำรไดอ้ ยำ่ งมีประสิทธิภำพ แนวคิดเชิงคำนวณมีองคป์ ระกอบที่สำคญั 4 ส่วน ไดแ้ ก่ กำรแบง่ ปัญหำใหญ่เป็นปัญหำยอ่ ย (Decomposition) กำรพจิ ำรณำรูปแบบ (Pattern Recognition) กำรคิดเชิงนำมธรรม (Abstraction) กำรออกแบบอลั กอริทึม (Algorithm) ในบทเรียนน้ีจะกล่ำวเพยี ง กำรแบง่ ปัญหำ ใหญเ่ ป็นปัญหำยอ่ ย (Decomposition) เทำ่ น้นั โดยมีรำยละเอียดดงั น้ี

กำรแบ่งปัญหำใหญ่เป็นปัญหำยอ่ ย (Decomposition) เป็นกำรแยกส่วนประกอบเป็นวธิ ีคิดรูปแบบหน่ึงของแนวคิดเชิงคำนวณ เป็นกำร พิจำรณำเพอื่ แบ่งปัญหำหรืองำนออกเป็นส่วนยอ่ ย ทำใหส้ ำมำรถ จดั กำรกบั ปัญหำหรืองำนได้ ง่ำยข้ึน กำรแตกปัญหำที่ซบั ซอ้ นใหเ้ ป็นปัญหำยอ่ ยที่มีขนำดเลก็ ลงและซบั ซอ้ นนอ้ ยลง เพ่อื ช่วย ใหก้ ำรวเิ ครำะห์และออกแบบวธิ ีกำรแกป้ ัญหำทำไดง้ ่ำยข้ึน ในกำรเขียนโปรแกรมคอมพิวเตอร์ เช่น กำรเขียนโปรแกรมแยกเป็นส่วน ๆ แยกเป็นแพก็ เกจ แยกเป็นโมดูล หรือมองเป็น layer หรือกำรแบ่งปัญหำเม่ือจะแกไ้ ขอุปกรณ์ เช่น กำรแยกส่วนประกอบของพดั ลม แบ่งเป็นใบพดั มอเตอร์ ตะแกรงหนำ้ ขอบตะแกรง ฝำครอบ ฐำนพดั ลม เป็นตน้ หรือ กำรแยกส่วนประกอบ ของรถจกั รยำน แบ่งเป็น ลอ้ หนำ้ ลอ้ หลงั หลงั อำน โซ่ โช๊ค แฮนด์ มือเบรก เป็นตน้ ถำ้ มองใน รำยละเอียดของลอ้ จกั รยำนจะเห็น วำ่ ประกอบดว้ ย ยำงลอ้ วงลอ้ และซ่ีลวด หรือถำ้ พิจำรณำชุด ขบั เคล่ือนกจ็ ะพบวำ่ ประกอบดว้ ยเฟื อง โซ่ และบนั ได เป็นตน้ สรุปคำจำกดั ควำมของกำรคิดเชิงคำนวณ  ไม่ไดจ้ ำกดั อยเู่ พียงกำรคิดใหเ้ หมือนคอมพิวเตอร์  ไม่ไดจ้ ำกดั อยเู่ พียงกำรคิดในศำสตร์ของนกั วทิ ยำศำสตร์คอมพวิ เตอร์  แต่เป็นกระบวนกำรคิดแกป้ ัญหำของมนุษย์ เพอ่ื สั่งใหค้ อมพวิ เตอร์ ทำงำนและช่วยแกป้ ัญหำตำมท่ีเรำตอ้ งกำรไดอ้ ยำ่ งมีประสิทธิภำพ  วธิ ีคิดเชิงคำนวณ ช่วยทำใหป้ ัญหำที่ซบั ซอ้ นเขำ้ ใจไดง้ ่ำยข้ึน เป็น ทกั ษะที่เป็นประโยชนอ์ ยำ่ งยงิ่ ต่อทุกๆ สำขำวิชำ และทุกเรื่องใน ชีวติ ประจำวนั

แนวคดิ เชิงคำนวณมีองค์ประกอบที่สำคญั 4 สว่ น ได้แก่ 1. กำรแบง่ ปัญหำใหญ่เป็นปัญหำย่อย (decomposition) เป็นกำรแตกปัญหำท่ีขบั ซ้อนให้เป็นปัญหำยอ่ ยท่ีมีขนำดเล็กลงและซบั ซ้อนน้อยลง เพอ่ื ชว่ ยให้กำรวิเครำะห์และ ออกแบบวธิ ีกำรแก้ปัญหำทำได้งำ่ ยขนึ ้ 2. กำรพจิ ำรณำรูปแบบ (pattern recognition) เป็นกำรวเิ ครำะห์หำควำมเหมือน หรือคล้ำยคลงึ กนั ระหว่ำงปัญหำย่อยที่แตกออกมำ หรือควำมคล้ำยคลงึ กบั ปัญหำอื่น ๆ ที่มี ผ้อู อกแบบวธิ ีกำรแก้ไขไว้ก่อนแล้ว 3. กำรคิดเชงิ นำมธรรม (abstraction) เป็นกำรแยกรำยละเอียดท่ีสำคญั และจำเป็ น ต่อกำรแก้ปัญหำออกจำกรำยละเอียดท่ีไม่จำเป็น ซงึ่ รวมไปถงึ กำรแทนกล่มุ ของปัญหำ ขนั้ ตอน หรือกระบวนกำรท่ีมีรำยละเอียด ปลีกยอ่ ยหลำยขนั้ ตอนด้วยขนั้ ตอนใหมเ่ พยี งขนั้ ตอนเดียว 4. กำรออกแบบอลั กอริทีม (algorithm) เป็นกำรพฒั นำกระบวนกำรหำคำตอบให้เป็น ขนั้ ตอนท่ีบคุ คล 1.1 การแบ่งปัญหาใหญ่เป็ นปัญหาย่อย กำรแก้ปัญหำที่มีควำมซบั ซ้อนทำได้ยำก กำรแบง่ ปัญหำใหญ่ให้เป็ นปัญหำย่อย ๆ ทำให้ควำมซบั ซ้อน ของปัญหำลดลง ชว่ ยให้กำรวเิ ครำะห์และพิจำรณำรำยละเอียดของปัญหำทำได้อยำ่ งถี่ถ้วน สง่ ผลให้ สำมำรถออกแบบขนั้ ตอนกำรแก้ปัญหำยอ่ ยแตล่ ะปัญหำได้ง่ำยยิง่ ขนึ ้ ลองพจิ ำรณำปัญหำวำดภำพตำมคำบอก โดยให้เพ่ือนของนกั เรียนวำดภำพตำมที่นกั เรียนบอก และไม่ แสดงภำพให้เพื่อนของนกั เรียนเหน็ ดงั ตวั อยำ่ งตอ่ ไปนี ้

ปัญหำจำกตวั อยำ่ งท่ี 1.1 นนั้ คอ่ นข้ำงง่ำยและชดั เจนเนื่องจำกมีข้อกำหนดและผลลพั ธ์ที่แนน่ อน ปัญหำในชีวิตประจำวนั มีหลำกหลำย เชน่ ในตอนนีน้ กั เรียนสำมำรถบวกเลขสองหลกั 2 จำนวนเข้ำ ด้วยกนั ได้ง่ำยด้วยตนเอง แตน่ ้อง ๆ ระดบั อนบุ ำลอำจบวกเลขได้เพียงหนงึ่ หลกั นกั เรียนจะมีวิธีกำรสอน น้องอย่ำงไรให้สำมำรถบวกเลขสองหลกั ได้ 1.2 กำรพจิ ำรณำรูปแบบ ปัญหำบำงประเภทสำมำรถแบ่งออกเป็ นปัญหำยอ่ ยที่อำจจะมีรูปแบบเดียวกนั หรือคลำ้ ยกนั นกั เรียนสำมรถนำรูปแบบกระบวนกำรแกป้ ัญหำยอ่ ยปัญหำหน่ึงไปประยกุ ตใ์ ชก้ บั กำรแกป้ ัญหำยอ่ ยอื่น ๆ ได้ ทำใหล้ ดข้นั ตอนในกำรออกแบบวธิ ีกำรแกป้ ัญหำได้ จำกปัญหำภำพวำดในตวั อย่ำงท่ี 1.1 นกั เรียนอำจจะอธิบำยคำตอบของปัญหำยอ่ ยไดด้ งั น้ี ปัญหำยอ่ ยท่ี 1 ในภำพมีบำ้ นกี่หลงั คำตอบ ในภำพมีบำ้ น 3 หลงั ปัญหำยอ่ ยที่ 2 ช้นั ตอนในกำรวำดบำ้ นหลงั แรกเป็ นอยำ่ งไร และอยทู่ ี่ตำแหน่งใด คำตอบ บำ้ นหลงั แรกวำดตวั บำ้ นดว้ ยส่ีเหลี่ยมจตั ุรัสสีเหลืองขนำดดำ้ นละ 100 หน่วย ต้งั อยตู่ ำแหน่งมุม ลงซำ้ ยที่พกิ ดั (0, 0) ดำ้ นบนส่ีเหลี่ยมวำดหลงั คำดว้ ยรูปสำมเหล่ียมดำ้ นเทำ่ สีม่วงขนำดดำ้ นละ 100 หน่วย ปัญหำยอ่ ยท่ี 3 ข้นั ตอนในกำรวำดบำ้ นหลงั ที่สองเป็นอยำ่ งไร และอยทู่ ่ีตำแหน่งใด คำตอบ บำ้ นหลงั ท่ีสองวำดตวั บำ้ นดว้ ยส่ีเหลี่ยมจตั ุรัสสีแดงขนำดดำ้ นละ 50 หน่วย ต้งั อยตู่ ำแหน่งมุม ล่ำงซำ้ ยที่พกิ ดั (120, 90) ดำ้ นบนส่ีเหล่ียมวำดหลงั คำเป็ นรูปสำมเหลี่ยมดำ้ นเทำ่ สีเทำขนำดดำ้ นละ 50 หน่วย ปัญหำยอ่ ยท่ี 4 ข้นั ตอนในกำรวำดบำ้ นหลงั ที่สำมเป็นอยำ่ งไร และอยทู่ ี่ตำแหน่งใด คำตอบ บำ้ นหลงั ที่สำมวำดตวั บำ้ นดว้ ยส่ีเหลี่ยมจตั ุรัสสีเขียวขนำดดำ้ นละ 80 หน่วย ต้งั อยตู่ ำแหน่งมุม ล่ำงซำ้ ยท่ีพิกดั (200, 10) ดำ้ นบนส่ีเหล่ียมวำดหลงั คำเป็ นรูปสำมเหล่ียมดำ้ นเทำ่ สีฟ้ ำขนำดดำ้ นละ 80 หน่วย

1.3 กำรคดิ เชิงนำมธรรม ปัญหำประกอบไปดว้ ยรำยละเอียดท่ีหลำกหลำยโดยมีท้งั รำยละเอียดท่ีจำเป็นและไม่ จำเป็นต่อกำรแกป้ ัญหำ กำรคิดเชิงนำมธรรมเป็นกำรคดั แยกรำยละเอียดที่ไม่จำเป็นออกจำก ปัญหำท่ีพิจำรณำอยู่ ทำใหส้ ำมำรถเขำ้ ใจ วเิ ครำะห์ และออกแบบวธิ ีกำรแกป้ ัญหำใน ภำพรวมได้ ง่ำยข้ึนกำรคิดเชิงนำมธรรมยงั รวมถึงกำรซ่อนรำยละเอียดโดยกำรแทนกลุ่มของปัญหำ ข้นั ตอน และกระบวนกำรท่ีมีรำยละเอียดปลีกยอ่ ยหลำยข้นั ตอนใหเ้ ป็นข้นั ตอนเดียว เพอ่ื ใหส้ ำมำรถ อธิบำยวธิ ีกำรแกป้ ัญหำไดก้ ระชบั ข้ึนดงั ตวั อยำ่ งต่อไปน้ี 1.4 กำรออกแบบอลั กอริทีม อลั กอริทมึ หมำยถึง รำยกำรคำส่งั ที่อธิบำยข้นั ตอนในกำรแกป้ ัญหำ โดยแต่ละคำสั่งน้นั ตอ้ งเป็น คำส่ังที่ใหผ้ อู้ ื่นนำไปปฏิบตั ิตำมไดโ้ ดยไม่มีควำมกำกวม ซ่ึงมกั อยใู่ นรูปของรหสั ลำลอง(pseudo code) หรือผงั งำน (flowchart) ในกรณีท่ีใชค้ อมพิวเตอร์เป็นเคร่ืองมือในกำรแกป้ ัญหำ อลั กอริทึม จะตอ้ งถูกแปลงใหอ้ ยใู่ นรูปของภำษำโปรแกรมก่อนเพื่อใหค้ อมพวิ เตอร์สำมำรถปฏิบตั ิตำมได้ ดงั น้นั กำร ออกแบบรำยละเอียดในอลั กอริทึมจึงข้ึนอยกู่ บั คนหรือคอมพิวเตอร์ท่ีจะนำอลั กอริทีมไปปฏิบตั ิ 1.5 กรณีศึกษำ ตวั อยำ่ งต่อไปน้ีจะใชแ้ นวคิดเชิงคำนวณในกำรแกป้ ัญหำบำงปัญหำอำจไม่ไดใ้ ชค้ รบทุกองคป์ ระกอบ ข้ึนอยกู่ บั ลกั ษณะของปัญหำ แตท่ ุกปัญหำจะตอ้ งไดอ้ ลั กอริทึมในกำรแกป้ ัญหำที่ถูกตอ้ ง รวดเร็ว และมี ประสิทธิภำพ ตวั อยำ่ งท่ี 1.6 สอนนอ้ งจดั หนงั สือ สมมติวำ่ นกั เรียนตอ้ งกำรสอนนอ้ งใหร้ ู้จกั รีกำรจดั เรียงหนงั สือตำมลำดบั ควำมสูงใหเ้ ป็นระเบียบ เพอ่ื ใหม้ ีควำมสวยงำมและง่ำยต่อกำรคน้ หำ นกั เรียนตอ้ งคิดกระบวนกำรเป็นข้นั ตอนออกมำ เพื่อให้นอ้ ง สำมำรถปฏิบตั ิตำมไดง้ ่ำย ไมว่ ำ่ จะมีหนงั สือกี่เล่มและมีลำดบั เริ่มตนั แบบใดก็ได้ นกั เรียนจะมีช้นั ตอนใน กำรจดั เรียงอยำ่ งไร

กำรแบ่งปัญหำใหญ่เป็ นปัญหำย่อย กำรพยำยำมจดั หนงั สือกองใหญ่ท้งั กองน้นั อำจเกิดควำมยงุ่ ยำก กำรแบ่งปัญหำใหญ่เป็น ปัญหำยอ่ ยช่วยทำใหก้ ำรออกแบบข้นั ตอนกำรแกป้ ัญหำทำไดเ้ ป็นระบบมำกข้ึน โดยอำจจะ แบ่งเป็นปัญหำยอ่ ยไดด้ งั ต่อไปน้ี  หนงั สือเล่มใดควรจดั ไวเ้ ป็นลำดบั แรก  ในกองหนงั สือที่เหลือ หนงั สือเล่มใดควรเลือกออกมำเป็นหนงั สือท่ีวำงอยใู่ นลำดบั ท่ี สอง  ในกองหนงั สือท่ีเหลือ หนงั สือเล่มใดควรเลือกออกมำเป็นหนงั สือที่วำงอยใู่ นลำดบั ที่ สำม : จะเห็นไดว้ ำ่ ปัญหำในกำรจดั หนงั สือท้งั กองสำมำรถแบ่งเป็นปัญหำยอ่ ยไดโ้ ดยคดั เลือก หนงั สือเล่มท่ีสูงที่สุดออกจำกกองใหญ่ (สมมติวำ่ กองใหญ่มี n เล่ม) ทำใหข้ นำดของกอง หนงั สือลดลงเหลือ n-1 เล่ม ปัญหำยอ่ ยในท่ีน้ีคือกำรจดั เรียงหนงั สือในกองท่ีมี ก-1 เล่ม ซ่ึงเป็น ปัญหำในรูปแบบเดิมที่มีควำมซบั ซอ้ นนอ้ ยลง กำรแตกปัญหำในตวั อยำ่ ง “สอนนอ้ งจดั หนงั สือ” ไดผ้ ลลพั ธเ์ ป็นปัญหำยอ่ ยดงั น้ี ปัญหำยอ่ ยที่ 1 หนงั สือเล่มใดควรจดั ไวเ้ ป็นลำดบั แรก ปัญหำยอ่ ยที่ 2 ในกองหนงั สือท่ีเหลือ หนงั สือเล่มใดควรเลือกออกมำเป็นหนงั สือที่วำงอยู่ ในลำดบั ท่ีสอง ปัญหำยอ่ ยท่ี 3ในกองหนงั สือท่ีเหลือ หนงั สือเล่มใดควรเลือกออกมำเป็นหนงั สือที่วำงอยใู่ น ลำดบั ท่ีสำม

อลั กอริทึมสำหรับกำรจดั เรียงลำดบั (sorting algorithm) อลั กอริทึมสำหรับสอนนอ้ งจดั หนงั สือเป็นอลั กอริทึมสำหรับกำรเรียงลำดบั มีชื่อวำ่ \"กำร เรียงลำดบั แบบเลือก (selection sort)\" ซ่ึงมีวธิ ีกำรที่เขำ้ ใจง่ำยแต่ค่อนขำ้ งชำ้ เมื่อมีสิ่งท่ี ตอ้ งเรียงลำดบั เป็นจำนวนมำก นอกเหนือจำกกำรเรียงลำดบั แบบเลือกยงั มีอลั กอริทึมสำหรับกำร เรียงลำดบั อีกหลำยวธิ ีดูตวั อยำ่ งและกำรทำงำนของอลั กอริทีมเหล่ำน้ีไดจ้ ำก ลิงค์ https://www.toptal.com/developers/sorting-algorithms สรุปทำ้ ยบท แนวคิดเชิงคำนวณเป็นวธิ ีกำรวเิ ครำะห์ปัญหำอยำ่ งหน่ึงเพอื่ ใหไ้ ดแ้ นวทำงกำรหำคำตอบ ออกมำเป็นข้นั ตอน หรือเรียกวำ่ อลั กอริทึม ซ่ึงสำมำรถนำไปถ่ำยทอดใหบ้ ุคคลอ่ืนหรือ คอมพิวเตอร์ปฏิบตั ิตำมไดอ้ ยำ่ งถูกตอ้ งและแม่นยำ แนวคิดเชิงคำนวณมี 4 องคป์ ระกอบ คือ กำรแบ่งปัญหำใหญ่เป็นปัญหำยอ่ ย กำรพิจำรณำรูปแบบ กำรคิดเชิงนำมธรรมและกำร ออกแบบอลั กอริทึม ในกำรแกป้ ัญหำโดยใชอ้ งคป์ ระกอบท้งั 4 น้นั อำจไม่ไดน้ ำมำใชต้ ำมลำดบั หรือใชค้ รบทุกองคป์ ระกอบ บำงปัญหำอำจมีกำรพิจำรณำหลำยองคป์ ระกอบไปพร้อมกนั ได้