Please enable JavaScript.
Coggle requires JavaScript to display documents.
สรุปเนื้อหาบทที่ 1 แนวคิดเชิงคำนวณ - Coggle Diagram
สรุปเนื้อหาบทที่ 1 แนวคิดเชิงคำนวณ
การแบ่งปัญหาใหญ่เป็นปัญหาย่อย ( Decomposition )
เป็นการแยกส่วนประกอบเป็นวิธีคิดรูปแบบหนึ่งของแนว คิดเชิงคำนวณ เป็นการพิจารณาเพื่อ แบ่งปัญหาหรืองาน ออก เป็นส่วนย่อย ทำให้สามารถ จัดการกับปัญหาหรืองานได้ง่าย ขึ้น การแตกปัญหาที่ซับซ้อนให้เป็นปัญหาย่อยที่มีขนาดเล็ก ลงและซับซ้อนน้อยลง เพื่อช่วยให้การวิเคราะห์และออกแบบ วิธีการแก้ปัญหาทำได้ง่ายขึ้น
การเขียนโปรแกรมคอมพิวเตอร์ เช่น การเขียนโปรแกรมแยก เป็นส่วน ๆ แยกเป็นแพ็กเกจ แยกเป็นโมดูล หรือ มองเป็น layer
การแบ่งปัญหาเมื่อจะแก้ไขอุปกรณ์ เช่น การแยกส่วนประกอบ ของพัดลม แบ่งเป็นใบพัด มอเตอร์ ตะแกรงหน้า ขอบตะแกรง ฝาครอบ ฐานพัดลม เป็นต้น
การแยกส่วนประกอบของรถจักรยาน แบ่งเป็น ล้อหน้า ล้อหลัง หลังอาน โซ่ โซ๊ค แฮนด์ มือเบรก เป็นต้น ถ้ามองในรายละเอียด ของล้อจักรยานจะเห็น ว่า ประกอบด้วย ยางล้อ วงล้อ และซี่ลวด หรือถ้าพิจารณาชุด ขับเคลื่อนก็จะพบว่าประกอบด้วยเฟือง โซ่ และบันได เป็นต้น
การแก้ปัญหาที่มีความซับซ้อนทำได้ยาก การแบ่งปัญหา ใหญ่ให้เป็นปัญหาย่อย ๆ ทำให้มีความซับซ้อนของปัญหาลด ลง ช่วยให้การวิเคราะห์และพิจารณารายละเอียดขอปัญหา ทำได้อย่างถี่ถ้วน ส่งผลให้สามารถออกแบบขั้นตอนการแก้ ปัญหาย่อยแต่ละปัญหาได้ง่ายขึ้น
กรณีตัวอย่างการแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition)
พัดลม นอกจากการเขียนโปรแกรมสิ่งของในชีวิต อย่างไร ก็ให้พิจารณาทีละชิ้น
การพิจารณารูปแบบ
เป็นการหารูปแบบซึ่งเป็นทักษะการหาความสัมพันธ์ที่ เกี่ยวข้อง แนวโน้ม และลักษณะทั่วไปของสิ่งต่าง ๆ โดยทั่วไป แล้วผู้เรียนจะเริ่มพิจารณาปัญหาหรือสิ่งที่สนใจ จากนั้นอาจ ใช้ทักษะการแยกส่วนประกอบทำให้ได้องค์ประกอบภายใน อื่น ๆ แล้วจึงใช้ทักษะการหารูปแบบเพื่อสร้างความเข้าใจ ระหว่างองค์ประกอบเหล่านั้น โดยพิจารณาว่าเคยพบปัญหา ลักษณะนี้มาก่อนหรือไม่ หากมีรูปแบบของปัญหาที่คล้ายกัน สามารถนำวิธีการแก้ปัญหานั้นมาประยุกต์ใช้ และพิจารณารูป แบบปัญหาย่อยซึ่งอยู่ภายในปัญหาเดียวกันว่ามีส่วนใดที่ เหมือนกัน เพื่อใช้วิธีการแก้ปัญหาเดียวกันได้ ทำให้จัดการกับ ปัญหาได้ง่ายขึ้น และการทำงานมีประสิทธิภาพเพิ่มขึ้น
เช่น ในส่วนประกอบของจักรยาน ผู้เรียนจะพบว่าระบบ ขับเคลื่อนประกอบด้วยเฟืองหน้า และเฟืองหลังเชื่อมกันด้วย โซ่ จักรยานมีลักษณะเหมือนระบบรอก ดังนั้น ถ้าผู้เรียน ทราบถึงคุณสมบัติการทดแรงของระบบรอกดังกล่าว ผู้เรียนก็ จะเข้าใจการทดแรง
เป็นการแสดงความสัมพันธ์ของสิ่งต่าง ๆ ที่มีลักษณะสำคัญบาง อย่างร่วมกันอย่างมีเงื่อนไข ซึ่งสามารถอธิบายความสัมพันธ์เหล่า นั้นได้โดยใช้การสังเกต การวิเคราะห์ หาเหตุผลสนับสนุนจนได้บท สรุปอันเป็นที่ยอมรับได้ แบบรูปนับเป็นปัจจัยพื้นฐานอันหนึ่งในการช่วยคิดแก้ปัญหาต่าง ในชีวิตประจำวันโดยที่เราได้เคยพบเห็นและได้ผ่านการใช้ กระบวนการคิดวิเคราะห์ด้วยเหตุด้วยผลกับแบบรูปในลักษณะต่าง ๆ กันมาแล้ว แบบรูปที่จะกล่าวถึงนี้เป็นแบบรูปในลักษณะต่าง ๆ เพื่อให้เห็นรูปแบบของการจัดลำดับ และการกระทำซ้ำอย่างต่อเนื่อง เพื่อจะได้ใช้การสังเกต การวิเคราะห์ การให้เหตุผลในการบอก ความสัมพันธ์ของสิ่งต่าง ๆ ที่พบเห็นได้อย่างถูกต้องจนถึงขั้นสรุป
โดยทั่วไปในคณิตศาสตร์จะพบเห็นการใช้แบบรูปในเรื่อง ของจำนวน รูปภาพ รูปเรขาคณิตจากแบบรูปของจำนวน เราสามารถเขียนแสดงความสัมพันธ์โดยใช้ตัวแปร สมบัติของการเท่ากันสร้างสมการเพื่อใช้แก้ปัญหาได้ เงื่อนไขข้างต้น ของสิ่งต่าง ๆ เหล่านัน และ จาก
ในทางวิทยาการคำนวณ การหารูปแบบจึง เป็นการหารูปแบบที่เหมือนและแตกต่างกันระหว่าง สิ่งของต่าง ๆ ที่สนใจหลายชิ้น การพิจารณารูปแบบ นี้จะช่วยระบุองค์ประกอบสำคัญร่วมกันของสิ่งของ เหล่านั้นได้ ซึ่งจะเป็นพื้นฐานในการสร้างความ ว่ารูปแบบการใช้งานนั้นเหมือนกัน คือสามารถบังคับ ตำแหน่งตัวชีได้โดยการขยับเมาส์และใช้กดหรือ สัมผัสบนปูมเมาส์เพื่อกระทำการสิ่งใดสิ่งหนึ่งตามที่เข้าใจเชิงนามธรรม, เช่น เมาส์ จะเห็นว่าเมาส์นั้นมี รูปลักษณ์ภายนอกที่แตกต่างกันออกไป แต่สังเกตได้
การคิดเชิงนามธรรม
เป็นองค์ประกอบหนึ่งของแนวคิดเชิงคำนวณ ซึ่งใช้ กระบวนการ คัดแยกคุณลักษณะ ที่สำคัญออกจากรายละเอียดปลีกย่อย ใน ปัญหาหรืองาน ที่กำลังพิจารณา เพื่อให้ได้ข้อมูลที่จำเป็นและเพียงพอในการ แก้ปัญหา เป็นการแยกรายละเอียดที่สำคัญและจำเป็นต่อการ แก้ปัญหาออกจากรายละเอียดที่ ไม่จำเป็น ซึ่งรวมไปถึงการแทนกลุ่มของปัญหา ขั้นตอน หรือ กระบวนการที่มีรายละเอียดปลีกย่อยหลายขั้นตอนด้วยขั้น ตอนใหม่เพียงขั้นตอนเดียว โดยจะยกตัวอย่าง ดังนี้
การคิดเชิงนามธรรมที่เกี่ยวข้องกับรูปทรง
จากรูปภาพดังกล่าวที่เกิดจากรูป ทรงกลม ได้แก่ ล้อ ผลส้ม ลูกบาส เก็ตบอล มีลักษณะเป็นรูปทรง กลม ยังมีวัตถุอื่น ๆ อีกมากมายที่มีลักษะเป็นทรงกล เช่น ฝาขวดน้ำดื่ม ฟุตบอล ลูก ปิงปอง เหรียญ เป็นต้น
การคิดเชิงนามธรรมที่เกี่ยวข้องกับตัวอักษร
แต่ละตัวจะมีรูปแบบที่แตกต่างกันขึ้นอยู่กับ ประสบการณ์ที่ผู้เขียนแต่ละคนมี จากตัวอย่างจะเห็นราย ละเอียดที่แตกต่างกัน เช่น สี รูปแบบตัวอักษร อักษร ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก และรายละเอียดอื่น ๆ
การคิดเชิงนามธรรมจากเกมเลขฐานสอง
การแสดงเลขฐานสอง (เพียงแค่ใช้ 0 และ 1) เป็นแนวคิดเชิง นามธรรมที่ซ่อนความซับซ้อนของอุปกรณ์อิเล็กทรอนิกส์และฮา ร์ดแวร์ภายในคอมพิวเตอร์ที่เก็บข้อมูล สิ่งที่เป็นนามธรรมช่วยให้ เราทําให้ง่ายขึ้นเพราะเราสามารถลดทอนต่อรายละเอียดที่เราไม่ จําเป็นต้องรู้ ในกรณีนี้รายละเอียดที่เราสามารถละเว้นได้ ได้แก่ : อุปกรณ์คอมพิวเตอร์ เช่น วงจรอิเล็กทรอนิกส์และแรงดันไฟฟ้าใน วงจร เพื่อจัดเก็บและย้ายข้อมูล และฟิสิกส์เชิงซ้อนและทฤษฎีทาง คณิตศาสตร์ที่เกี่ยวกับคอมพิวเตอร์ เราไม่จำเป็นต้องเข้าใจว่าวง จรเหล่านี้ทำงานอย่างไรเพื่อใช้ข้อมูลและแสดงสิ่งต่าง
4.การคัดแยกรายละเอียดปลีกย่อย
แผนภาพทั้งสองให้ข้อมูลเกี่ยวกับสถานีรถไฟฟ้าและ สถานีเชื่อมต่อ แผนภาพด้านซ้ายมือจะแสดงรายละเอียดของ สถานี ชื่อสถานนี้ และจุดเชื่อมต่อสถานี แผนภาพด้านขวาจะ ลดทอนรายละเอียดของสถานีแสดงเฉพาะข้อมูลเส้นทางและ การเชื่อมต่อของรถไฟฟ้า ในการใช้แผนภาพทั้งสอง หากผู้ ใช้ต้องการทราบตำแหน่งของสถานีรถไฟฟ้าแผนภาพด้าน ซ้ายมือจะเหมาะสมกว่าแผนภาพขวามือ แต่สำหรับผู้ใช้งาน เพื่อการเดินทางในชีวิตประจำวันแผนภาพด้านขวามือจะ เหมาะสมกว่า ดังนั้นแบบจําลองที่ดีต้องมีรายละเอียดที่ เหมาะสมกับความต้องการการใช้งานของผู้ใช้
5.การอธิบายปัญหาโดยใช้รายละเอียด และแบบซ่อนรายละเอียด
ปัญหาประกอบด้วยรายละเอียดที่หลากหลายโดยมีทั้งราย ละเอียดที่จําเป็น และไม่จำเป็นต่อการแก้ปัญหา การคิดเชิง นามธรรมเป็นการคัดแยกรายละเอียดที่ไม่จําเป็นออกจากปัญหาที่ พิจารณาอยู่ ทำให้สามารถเข้าใจ วิเคราะห์ และออกแบบวิธีการ แก้ปัญหาในภาพรวมได้ง่ายขึ้น การคิดเชิงนามธรรมยังรวมถึง การซ่อนรายละเอียดโดยการแทนกลุ่มของปัญหาขั้นตอนและ ตอนเดียว เพื่อให้สามารถอธิบายวิธีแก้ปัญหาได้กระชับขึ้นดัง ตัวอย่างต่อไปนี้ กระบวนการที่มีรายละเอียดปลีกย่อยหลายขั้นตอน ให้เป็นขั้น
การออกแบบอัลกอริทึม
เป็นการพัฒนากระบวนการหาคำตอบให้เป็นขั้นตอนที่ บุคคลหรือคอมพิวเตอร์สามารถนำไปปฏิบัติตามเพื่อแก้ ปัญหาได้ อีกทั้ง เป็นการพัฒนาแนวทางแก้ปัญหาอย่างเป็น ขั้นเป็นตอน เพื่อดำเนินตามทีละขั้นตอนในการแก้ไขปัญหา เช่น เมื่อเราต้องการสั่งคอมพิวเตอร์ให้ทำงานบางอย่าง เรา จะต้องเขียนโปรแกรมคำสั่งเพื่อให้คอมพิวเตอร์ทำงานไป ตามขั้นตอน ตามแนวทางการแก้ปัญหาเพื่อให้คอมพิวเตอร์ ทำงานตอบสนองความต้องการของเรา วิธีคิดนี้ที่เรียกว่าวิธี คิดแบบอัลกอริทึม คอมพิวเตอร์จะทำงานได้ดีเพียงใดนั้น ขึ้น อยู่กับชุดคำสั่งอัลกอริทึมที่เราออกแบบให้มันทำงานนั่นเอง การออกแบบอัลกอริทึมยังเป็นประโยชน์ต่อการคำนวณ
การนำอัลกอริทึมไปใช้แก้ปัญหา ไม่จำกัดเฉพาะการเขียน โปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่น เดียวกัน เพื่อให้เกิดการใช้ทรัพยากรอย่างมีประโยชน์สูงสุด ซึ่ง จําเป็นต้องวางแผนอย่างเป็นระบบ เป็นขั้นตอน จึงจําเป็นต้อง อาศัยอัลกอริทึม ด้วย เพื่อให้ทราบถึงขั้นตอนต่าง ๆ และสามารถ ตัดทอนขั้นตอนที่เกินความจําเป็น อีกทั้งยังสามารถปรับปรุง และ เพิ่มเติมขั้นตอนใหม่ เข้าไปได้ ช่วยลดความสับสนขณะทํางาน ด้วย อีกทั้ง ปัญหาบางปัญหาอาจจะมีอัลกอริทึมในการแก้ปัญหา ได้หลายวิธี นอกจากการเขียนคำสั่งให้คอมพิวเตอร์ทำงานตาม ลำดับขั้นตอนที่เราวางไว้ ในชีวิตประจำวันมนุษย์ก็ล้วนมีแนวคิด ຄາແວວຄນນວັນ ຕວນ จบในการแก้ไขปัญหา
คุณสมบัติของอัลกอริทึม
มีความถูกต้อง (correctness) ความถูกต้องเป็น คุณสมบัติข้อแรกที่สำคัญจะต้องพิจารณา ต้องได้ ผลลัพธ์ที่ถูกต้อง ซึ่งถ้าผลลัพธ์ที่ได้จากอัลกอริทึม ไม่ถูกต้อง จะถือว่าไม่ใช่อัลกอริทึมที่ดี
ใช้เวลาในการปฏิบัติงานน้อยที่สุด (efficiency) อัลกอริทึมที่ดีต้องใช้เวลาในการปฏิบัติงานน้อย มี ขั้นตอนในการปฏิบัติงานที่ถูกต้อง
ต้องมีลำดับขั้นตอนที่ชัดเจน ในการประมวลผลชุด คำสั่งต่าง ๆ ที่ถูกกำหนดด้วยกฎเกณฑ์ในการแก้ปัญหา ของ อัลกอริทึม จะต้องประมวลผลเป็นลำดับตามขั้นตอน เพราะการแก้ปัญหาด้วยคอมพิวเตอร์จะต้อง มีลำดับขั้น ตอนที่แน่นอน ซึ่งแต่ละขั้นตอนของอัลกอริทึมจะต้องทำ หน้าที่อย่างชัดเจนและต่อเนื่องโดยการเริ่มต้นทำงาน แต่ละขั้นตอนมีการรับและส่งข้อมูลต่อเนื่องกันไปจนสิ้นสุด การทํางาน ถ้าลำดับไม่ดีอาจจะทำให้การประมวลผลผิด พลาดได้
ใช้เนื้อที่ในหน่วยความจำน้อยที่สุด เนื้อที่ในหน่วย ความจำจะถูกใช้สำหรับเก็บค่าของตัวแปร
มีความยืดหยุ่นในการใช้งาน
ใช้เวลาในการพัฒนาน้อยที่สุด เมื่อนำ อัลกอริทึมไปแปลงเป็นโปรแกรมภาษา คอมพิวเตอร์แล้วจะต้องใช้เวลาน้อยที่สุด
ง่ายต่อการทำความเข้าใจ (readability)
เครื่องมือช่วยในการเขียนอัลกอริทึม
การออกแบบอัลกอริทึม เป็นแนวทางในการเขียน โปรแกรม ช่วยให้การเขียนโปรแกรมทำได้ง่ายขึ้น ช่วยให้โปรแกรมมีข้อผิดพลาดน้อยลง นอกจากนี้ยัง ช่วยตรวจสอบการทำงานของโปรแกรม ทำให้ทราบ ขั้นตอนการทำงานของโปรแกรมได้อย่างรวดเร็ว โดยไม่ต้องดูจากโปรแกรมจริงในการเขียนอัลกอริ ทึม มีเครื่องมือช่วยในการเขียนที่นิยมใช้ 3 แบบ คือ
บรรยาย (narrative description) เป็นการ อธิบายแบบใช้ภาษาที่เราสื่อสารกันทั่วไป เป็นการ แสดงขั้นตอนการทำงานในลักษณะการบรรยาย เป็นข้อความด้วยภาษาพูดใด ๆ เช่น ภาษาไทย ภาษาอังกฤษ ภาษาญี่ปุ่น หรือ ภาษาจีน เป็นต้น ขึ้น อยู่กับความถนัดของผู้เขียนอัลกอริทึม มักเขียน บรรยายขั้นตอนการทำงานเป็นข้อ ๆ เช่น การต้ม บะหมี่กึ่งสำเร็จรูป
ผังงาน สัญลักษณ์ (flowchart) เป็นการใช้รูปภาพ ช่วยแทนขั้นตอนการเขียนโปรแกรม ลำดับขั้นตอนการทำงานของโปรแกรม และ สามารถนำไปเขียนโปรแกรมได้อย่างถูกต้อง ทำให้ตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิด ข้อผิดพลาดช่วยให้การดัดแปลง แก้ไข ทำได้อย่าง สะดวกและรวดเร็ว ผู้อื่นสามารถศึกษาการทำงาน ของโปรแกรมได้อย่างง่าย และรวดเร็ว มากขึ้น
รหัสเทียม ( pseudo code) อธิบายขั้นตอนการทำงานของโปรแกรม โดย ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการ ใช้ เขียนโปรแกรมแบบโครงสร้าง ซึ่งจะช่วยให้ผู้ เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ ให้ เป็นโปรแกรมได้ง่ายขึ้น ส่วนใหญ่มักใช้คำเฉพาะ (Reserve Word) ที่มีในภาษาการเขียนโปรแกรม และมักเขียนด้วยตัวอักษรตัวใหญ่ รหัสเทียมที่ดี จะต้องมีความชัดเจน สั้น และได้ใจความ ข้อมูล ต่าง ๆ ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร