Show
นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูเพิ่มเติม ติชมได้นะคะ การออกแบบขั้นตอนวิธีการออกแบบขั้นตอนวิธีสอนไพธอน Python 3: การสร้างและเรียกใช้งาน moduleวิธีการสร้าง module ที่เก็บฟังก์ชันรวมถึงคลาสเพื่อให้ไฟล์ .py อื่นเรียกใช้งานได้ การออกแบบขั้นตอนการทำงานและการเขียนโปรแกรมด้วยภาษา pythonนอกจากการดูหัวข้อนี้แล้ว คุณยังสามารถเข้าถึงบทวิจารณ์ดีๆ อื่นๆ อีกมากมายได้ที่นี่: ดูวิธีอื่นๆWiki แนวคิดเชิงคำนวณ (Computational Thinking) การออกแบบอัลกอริทึม (Algorithm)
ภาพที่ 1 การออกแบบอัลกอริทึม การออกแบบอัลกอริทึม (Algorithm) เป็นการพัฒนากระบวนการหาคำตอบให้เป็นขั้นตอนที่บุคคลหรือคอมพิวเตอร์สามารถนำไปปฏิบัติตามเพื่อแก้ปัญหาได้ อีกทั้ง เป็นการพัฒนาแนวทางแก้ปัญหาอย่างเป็นขั้นเป็นตอน เพื่อดำเนินตามทีละขั้นตอนในการแก้ไขปัญหา เช่น เมื่อเราต้องการสั่งคอมพิวเตอร์ให้ทำงานบางอย่าง เราจะต้องเขียนโปรแกรมคำสั่งเพื่อให้คอมพิวเตอร์ทำงานไปตามขั้นตอน ตามแนวทางการแก้ปัญหาเพื่อให้คอมพิวเตอร์ทำงานตอบสนองความต้องการของเรา วิธีคิดนี้ที่เรียกว่าวิธีคิดแบบอัลกอริทึม คอมพิวเตอร์จะทำงานได้ดีเพียงใดนั้น ขึ้นอยู่กับชุดคำสั่งอัลกอริทึมที่เราออกแบบให้มันทำงานนั่นเอง การออกแบบอัลกอริทึมยังเป็นประโยชน์ต่อการคำนวณ การประมวลผลข้อมูลและการวางระบบอัตโนมัติต่าง ๆ การนำอัลกอริทึมไปใช้แก้ปัญหา ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่นเดียวกัน เพื่อให้เกิดการใช้ทรัพยากรอย่างมีประโยชน์สูงสุด ซึ่งจำเป็นต้องวางแผนอย่างเป็นระบบ เป็นขั้นตอน จึงจำเป็นต้องอาศัยอัลกอริทึม ด้วย เพื่อให้ทราบถึงขั้นตอนต่าง ๆ และสามารถตัดทอนขั้นตอนที่เกินความจำเป็น อีกทั้งยังสามารถปรับปรุง และเพิ่มเติมขั้นตอนใหม่ เข้าไปได้ ช่วยลดความสับสนขณะทำงานด้วย อีกทั้ง ปัญหาบางปัญหาอาจจะมีอัลกอริทึมในการแก้ปัญหาได้หลายวิธี นอกจากการเขียนคำสั่งให้คอมพิวเตอร์ทำงานตามลำดับขั้นตอนที่เราวางไว้ ในชีวิตประจำวันมนุษย์ก็ล้วนมีแนวคิดการออกแบบขั้นตอนในการแก้ไขปัญหา ทำให้ทราบว่าจะต้องทำอะไรก่อนอะไรหลัง เช่น การแต่งตัวมาโรงเรียน การทำอาหาร การทำงานในชีวิตประจำวัน การเดินทาง เป็นต้น ภาพที่ 2 การลำดับแต่งตัวมาโรงเรียน คุณสมบัติของอัลกอริทึม 1. มีความถูกต้อง (correctness) ความถูกต้องเป็นคุณสมบัติข้อแรกที่สำคัญจะต้องพิจารณา ต้องได้ผลลัพธ์ที่ถูกต้อง ซึ่งถ้าผลลัพธ์ที่ได้จากอัลกอริทึมไม่ถูกต้อง จะถือว่าไม่ใช่อัลกอริทึมที่ดี 2. ใช้เวลาในการปฏิบัติงานน้อยที่สุด (efficiency) อัลกอริทึมที่ดีต้องใช้เวลาในการปฏิบัติงานน้อย มีขั้นตอนในการปฏิบัติงานที่ถูกต้อง 3. ต้องมีลำดับขั้นตอนที่ชัดเจน ในการประมวลผลชุดคำสั่งต่าง ๆ ที่ถูกกำหนดด้วยกฎเกณฑ์ในการแก้ปัญหาของ อัลกอริทึม จะต้องประมวลผลเป็นลำดับตามขั้นตอน เพราะการแก้ปัญหาด้วยคอมพิวเตอร์จะต้อง มีลำดับขั้นตอนที่แน่นอน ซึ่งแต่ละขั้นตอนของอัลกอริทึมจะต้องทำหน้าที่อย่างชัดเจนและต่อเนื่องโดยการเริ่มต้นทำงานแต่ละขั้นตอนมีการรับและส่งข้อมูลต่อเนื่องกันไปจนสิ้นสุดการทำงาน ถ้าลำดับไม่ดีอาจจะทำให้การประมวลผลผิดพลาดได้ 4. ใช้เนื้อที่ในหน่วยความจำน้อยที่สุด เนื้อที่ในหน่วยความจำจะถูกใช้สำหรับเก็บค่าของตัวแปร และเก็บคำสั่งที่ใช้ในการทำงาน ดังนั้น ถ้าอัลกอริทึมยาวเกินความจำเป็น จะทำให้ใช้เนื้อที่มาก และ ถ้ามีตัวแปรมากเกินความจำเป็น ก็จะทำให้เสียเนื้อที่ในหน่วยความจำไปด้วย 5. มีความยืดหยุ่นในการใช้งาน 6. ใช้เวลาในการพัฒนาน้อยที่สุด เมื่อนำอัลกอริทึมไปแปลงเป็นโปรแกรมภาษาคอมพิวเตอร์แล้วจะต้องใช้เวลาน้อยที่สุด 7. ง่ายต่อการทำความเข้าใจ (readability) อ่านง่ายเข้าใจลำดับขั้นตอนได้ง่าย มีความชัดเจนของขั้นตอน เครื่องมือช่วยในการเขียนอัลกอริทึม การออกแบบอัลกอริทึม เป็นแนวทางในการเขียนโปรแกรม ช่วยให้การเขียนโปรแกรมทำได้ง่ายขึ้น ช่วยให้โปรแกรมมีข้อผิดพลาดน้อยลง นอกจากนี้ยังช่วยตรวจสอบการทำงานของโปรแกรม ทำให้ทราบขั้นตอนการทำงานของโปรแกรมได้อย่างรวดเร็ว โดยไม่ต้องดูจากโปรแกรมจริงในการเขียนอัลกอริทึม มีเครื่องมือช่วยในการเขียนที่นิยมใช้ 3 แบบ คือ 1. บรรยาย (narrative description) เป็นการอธิบายแบบใช้ภาษาที่เราสื่อสารกันทั่วไป เป็นการแสดงขั้นตอนการทำงานในลักษณะการบรรยายเป็นข้อความด้วยภาษาพูดใด ๆ เช่น ภาษาไทย ภาษาอังกฤษ ภาษาญี่ปุ่น หรือ ภาษาจีน เป็นต้น ขึ้นอยู่กับความถนัดของผู้เขียนอัลกอริทึม มักเขียนบรรยายขั้นตอนการทำงานเป็นข้อ ๆ เช่น การต้มบะหมี่กึ่งสำเร็จรูป 1. เทน้ำสะอาดใส่หม้อ และต้มน้ำจนเดือด 2. ฉีกซองและนำบะหมี่กึ่งสำเร็จรูปใส่ลงในหม้อ 3. เทเครื่องปรุงลงในหม้อ 4. ปิดฝา 5. รอประมาณ 3 นาที 6. เทใส่ชามรับประทานได้ 2. ผังงาน (flowchart) เป็นการใช้รูปภาพสัญลักษณ์ แทนขั้นตอนการเขียนโปรแกรมช่วยลำดับขั้นตอนการทำงานของโปรแกรม และสามารถนำไปเขียนโปรแกรมได้อย่างถูกต้อง ทำให้ตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาดช่วยให้การดัดแปลง แก้ไข ทำได้อย่างสะดวกและรวดเร็ว ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็ว มากขึ้น 3. รหัสเทียม (pseudo code) เป็นการเขียนคำอธิบายขั้นตอนการทำงานของโปรแกรม โดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้าง ซึ่งจะช่วยให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ ให้เป็นโปรแกรมได้ง่ายขึ้น ส่วนใหญ่มักใช้คำเฉพาะ (Reserve Word) ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่ รหัสเทียมที่ดี จะต้องมีความชัดเจน สั้น และได้ใจความ ข้อมูลต่าง ๆ ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร ภาพที่ 3 ตัวอย่างรหัสเทียม การออกแบบอัลกอริทึม ในแนวคิดเชิงคำนวณจึงเป็นการพัฒนากระบวนการหาคำตอบให้เป็นขั้นตอนที่บุคคลหรือคอมพิวเตอร์สามารถนำไปปฏิบัติตามเพื่อแก้ปัญหาได้ อัลกอริทึมที่ดี จะต้องมีความถูกต้อง ต้องมีลำดับขั้นตอนที่ชัดเจน มีความยืดหยุ่นในการใช้งาน ใช้เวลาในการพัฒนาน้อย และง่ายต่อการทำความเข้าใจ เครื่องมือที่จะช่วยให้การเขียนอัลกอริทึมของโปรแกรมทำได้ง่ายขึ้น ช่วยให้โปรแกรมมีข้อผิดพลาดน้อยลง เช่น การเขียนบรรยาย การเขียนผังงาน หรือรหัสเทียม จะช่วยให้อัลกอริทึมมีความถูกต้องแม่นยำ และมีข้อผิดพลาดน้อยลง แหล่งเรียนรู้เพิ่มเติม คลิปวิดีโอ อัลกอริทึม Algoritms(Computational thinking) ตอน อัลกอริทึมคืออะไร Kids CodingYouTube Videoที่มา:https://www.youtube.com/watch?v=7ITAF0CkPwg&list=PLTQ_mPQTqStvyLzepkFNtq-2lJ2pEEQ81&index=8 การแสดงลำดับขั้นตอน อัลกอริทึม Algorithms(Computational thinking)หลงทางในสวนสัตว์YouTube Videoที่มา:https://www.youtube.com/watch?v=xKhkdHhO3ck&list=PLTQ_mPQTqStvyLzepkFNtq-2lJ2pEEQ81&index=5 แสดงลำดับขั้นตอนด้วยสัญลักษณ์ Algoritms(Computational thinking) รองเท้าของลิปดาYouTube Videoที่มา:https://www.youtube.com/watch?v=1fw3AEuZzF8&list=PLTQ_mPQTqStvyLzepkFNtq-2lJ2pEEQ81&index=6 การแสดงลำดับขั้นตอนด้วยข้อความ Algoritms(Computational thinking) ตอนเครื่องบินจ๋าYouTube Videoที่มา:https://www.youtube.com/watch?v=5Zp7w9LUesY&list=PLTQ_mPQTqStvyLzepkFNtq-2lJ2pEEQ81&index=7 แสดงลำดับขั้นตอนด้วยภาพหรือข้อความ Algoritms(Computational thinking) ลิปดาหมวกแดงYouTube Videoที่มา:https://www.youtube.com/watch?v=HDS8sc0E8U0&list=PLTQ_mPQTqStvyLzepkFNtq-2lJ2pEEQ81&index=9 แหล่งที่มา https://www.scimath.org/lesson-technology/item/10560-2019-08-28-02-43-20. สืบค้นเมื่อ 12 มกราคม 2564 กิจกรรมที่ 4.3 การคิดเชิงนามธรรม (Abstraction) ส่งคำตอบภายในวันพฤหัสบดี ที่ 21 มกราคม 2564 เวลา 24.00 น. หน่วยที่ 4 แนวคิดเชิงคำนวณ กิจกรรมที่ 4.4การออกแบบขั้นตอนมีอะไรบ้างกระบวนการของการคิดเชิงออกแบบ (Design Thinking Process) 1. Empathize – เข้าใจปัญหา 2. Define – กำหนดปัญหาให้ชัดเจน 3. Ideate – ระดมความคิด. ขั้นตอนที่ 1 : ค้นพบ – Discover.. ขั้นตอนที่ 2 : บ่งชี้ / กำหนด – Define.. ขั้นตอนที่ 3 : พัฒนา – Develop.. ขั้นตอนที่ 4 : นำไปปฎิบัติจริง – Deliver.. การพิจารณารูปแบบ (Pattern Recognition) หมายถึงอะไรPattern Recognition (การจดจำรูปแบบ) เมื่อเราย่อยปัญหาออกเป็นส่วนเล็กๆ ขั้นตอนต่อไปคือการหารูปแบบหรือลักษณะที่เหมือนกันของปัญหาเล็กๆ ที่ถูกย่อยออกมา เช่น หากต้องวาดซีรี่ส์รูปแมว แมวทั้งหลายย่อมมีลักษณะบางอย่างที่เหมือนกัน พวกมันมีตา หาง ขน และชอบกินปลา และร้องเหมียวๆ ลักษณะที่มีร่วมกันนี้ เราเรียกว่ารูปแบบ เมื่อเรา ...
ข้อใดคือความหมายของการออกแบบขั้นตอนวิธี *2.1 ความหมายของขั้นตอนวิธี
ขั้นตอนวิธี หรือ algorithm คือ เป็นการออกแบบขั้นตอนการทํางานของโปรแกรม คอมพิวเตอร์ ซึ่งผ่านการวิเคราะห์และแยกแยะเพื่อการแก้ปัญหาต่าง ๆตามลําดับขั้น
ขั้นตอนการคิดเชิงคำนวณมีกี่ขั้นตอนอะไรบ้าง1. Introduction. 2. การออกแบบอัลกอริทึม 3. การคิดเชิงนามธรรม 4. การพิจารณารูปแบบ
|