ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
อัลกอริทึมและผังงาน อาจารย์สมเกียรติ ช่อเหมือน
สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี
2
เนื้อหาที่สนใจ ขั้นตอนวิธีการแก้ปัญหาหรืออัลกอริทึม (algorithm)
การวัดประสิทธิภาพของขั้นตอนวิธี ขั้นตอนวิธีที่ดี การวิเคราะห์ขั้นตอนวิธี การออกแบบขั้นตอนวิธี รูปแบบการเขียนขั้นตอนวิธี การเขียนบรรยาย การเขียน Pseudo Code การเขียนผังงาน การใช้ผังงานในการแสดงขั้นตอนวิธี ขั้นตอนวิธีการที่นิยมนำมาใช้แก้ปัญหา รูปแบบการทำงานในแต่ละขั้นตอนวิธี
3
ขั้นตอนวิธีการแก้ปัญหา
เมื่อพบกับปัญหา แต่ละคนจะมีวิธีจัดการหรือแก้ปัญหาที่แตกต่างกันไป แต่ละวิธีการอาจให้ผลลัพธ์ที่เหมือนหรือแตกต่างกันบ้าง ทั้งนี้ขึ้นอยู่กับความรู้ ความสามารถ และประสบการณ์ของบุคคล การวิเคราะห์และหาวิธีการแก้ปัญหา สามารถสรุปเป็นรูปแบบที่แน่นอนและต้องเรียนรู้เพิ่มเติม เพื่อแก้ปัญหาได้อย่างสมบูรณ์ การตอบสนองความต้องการของมนุษย์ โดยอาศัยความรู้และประสบการณ์ ในการเขียนโปรแกรมให้คอมพิวเตอร์ทำงานตามที่ต้องการ
4
อัลกอริทึม (algorithm)
การทำงานอย่างเดียวกัน อาจเลือกขั้นตอนวิธีที่ต่างกันได้ ผลลัพธ์ที่ได้จะเหมือนหรือต่างกันก็ได้ ความแตกต่างของจำนวนและชุดคำสั่งที่ใช้ต่างกัน ส่งผลให้ เวลา (time) ขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน ความซับซ้อน (complexity) ต่างกัน
5
การวัดประสิทธิภาพของอัลกอริทึม
สิ่งที่ต้องพิจารณา 1) โปรแกรมนั้นใช้เนื้อที่ความจำ (Memory) มากน้อยเพียงใด 2) โปรแกรมนั้นใช้อัลกอริทึม (Algorithm) ที่เร็วเพียงใด ในทางทฤษฎี จะระบุความเร็วการทำงานของอัลกอริทึม โดยพิจารณา หรือประมวลผลจำนวนข้อมูลที่อัลกอริทึมนั้นกระทำก่อนที่จะได้ผลลัพธ์ว่ามีการทำงานกี่ครั้ง จำนวนครั้งแทนด้วย N ความเร็วในการทำงานเรียกว่า ฟังก์ชั่น บิ๊กโ-อ (big-oh) : Order of N หรือ O(N)
6
อัลกอริทึม (algorithm)
ขั้นตอนวิธี ประกอบด้วยขั้นตอนต่างๆ เช่น การทำตามลำดับ การแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) การใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) การแก้ไขปัญหาและการตัดสินใจ ต้องใช้ทักษะในการตัดสินใจที่ดี เพื่อให้เกิดผลลัพธ์ที่คุ้มค่า
7
อัลกอริทึม (algorithm)
การนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้ เช่น การออกแบบวงจรไฟฟ้า การทำงานเครื่องจักรกล ปัญหาในธรรมชาติ เช่น วิธีการคิดเลขของมนุษย์ หรือวิธีการขนอาหารของแมลง
8
การวิเคราะห์ขั้นตอนวิธี
การวิเคราะห์และกำหนดรายละเอียดของปัญหา (State the problem) Input การนำเข้า Process กิจกรรม/วิธีการประมวลผล (การกระทำ) output การแสดงผลลัพธ์ การเลือกเครื่องมือและออกแบบขั้นตอนวิธี (Tools and Algorithm development) การดำเนินการแก้ปัญหา (Implementation) การตรวจสอบและปรับปรุง (Refinement)
9
การออกแบบขั้นตอนวิธี
ก่อนการเขียนโปรแกรม ต้องออกแบบขั้นตอนวิธี ซึ่งเป็นขั้นตอนการทำงานในการแก้ปัญหา เพื่อช่วยให้การเขียนโปรแกรมเป็นไปได้สะดวกและรวดเร็วขึ้น
10
รูปแบบการเขียนขั้นตอนวิธี
1.ลักษณะการบรรยาย (Narrative Description) 2.การเขียนผังงาน (Flowchart) 3.รหัสเทียมที่เรียกว่า การเขียนซูโดโค้ด (Pseudo Code) ผังงาน เห็นภาพที่สุด บรรยาย ต้องใช้ความสามารถสูงในการเขียนบรรยายหรืออธิบาย รหัสเทียม ใกล้เคียงการเขียนโปรแกรม ซูโดโค้ดและการเขียนผั/
11
ขั้นตอนวิธีที่ดีควรมีคุณสมบัติ
1) มีความถูกต้อง 2) ใช้เวลาในการปฏิบัติงานน้อยที่สุด 3) สั้น กระชับ 4) ใช้หน่วยความจำน้อยที่สุด 5) มีความยืดหยุ่นในการใช้งาน 6) ใช้เวลาในการพัฒนาน้อยที่สุด 7) ง่ายต่อการทำความเข้าใจ
12
Algorithm ที่นิยมนำมาใช้แก้ปัญหา
อัลกอริทึมที่นิยมใช้กันมาก ได้แก่ 1) อัลกอริทึมแบบแตกย่อย (Divide-and-conquer) จะนำปัญหาหลักมาทำการแตกย่อยแล้วนำคำตอบที่ได้จากการแตกย่อยมารวมเข้าด้วยกัน 2) อัลกอริทึมแบบเคลื่อนที่ (Dynamic Programming) เป็นการหลีกเลี่ยงการคำนวณเพื่อหาคำตอบซ้ำ ๆ ซาก ๆ ซึ่งหากมีการคำนวณซ้ำอีก ก็นำคำตอบที่เก็บไว้มาใช้ได้ 3) อัลกอริทึมแบบทางเลือก (Greedy Algorithm) จะหาคำตอบโดยเลือกทางเลือกที่ดีที่สุดที่พบได้ในขณะนั้น
13
การเขียนบรรยาย การเขียนอธิบายขั้นตอนการทำงาน
การอธิบายตามลำดับ แสดงขั้นตอนของกิจกรรมและการปฏิบัติหรือการเปลี่ยนแปลง ทำให้ผู้อื่นเข้าใจ เหมาะกับการอธิบาย ขั้นตอนและกรรมวิธีซึ่งเป็นลำดับ การเขียนอธิบายด้วยการให้คำจำกัดความ การเขียนอธิบายด้วยการให้รายละเอียดและการยกตัวอย่างประกอบ การเขียนอธิบายเพื่อเปรียบเทียบความเหมือนหรือแตกต่าง การเขียนอธิบายเพื่อชี้ให้เห็นสาเหตุและผลลัพธ์ที่สัมพันธ์กัน
14
การเขียนรหัสเทียม การกำหนดโครงร่างกระบวนการทำงานของโปรแกรม
คำสั่งที่จำลองความคิดเป็นลำดับขั้นตอน โดยใช้ประโยคคำสั่งหรือสัญลักษณ์แสดงให้เห็นการทำงานของโปรแกรม คล้ายการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ สามารถนำไปพัฒนาเป็นชุดคำสั่งด้วยภาษาคอมพิวเตอร์ได้ง่าย
15
รูปแบบการเขียน Pseudo Code
Algorithm Problem_1 Variables : mLoop, Sum, testScore, average Begin Input mLoop Sum = 0 For I = 1 to mLoop Input testScore Sum = Sum + testScore Next average = Sum / mLoop Print average End Problem_1 1. การกำหนดค่า และการคำนวณ 2. การอ่าน/รับข้อมูล 3. การแสดงผลข้อมูล 4. การกำหนดเงื่อนไข 5. ในกรณีที่มีหลายเงื่อนไข 6. การทำงานเป็นรอบ (Loop)
16
การเขียนผังงาน ผังงาน หรือสัญลักษณ์ที่กำหนดขึ้น เพื่อแสดงขั้นตอนและวิธีการตามมาตรฐาน แสดงให้เห็นโครงสร้างทั้งหมดในการแก้ปัญหาก่อนลงมือเขียนโปรแกรม (Standard Flowchart Symbols)
17
การเขียนผังงาน ควรมีจุดเริ่มต้น-จุดสิ้นสุด เพียงจุดเดียวในแต่ละงาน
การดำเนินการจากบนลงล่าง ด้านหน้าไปด้านหลัง ใช้ลูกศรแสดงทิศทางที่ชัดเจน ใช้สัญลักษณ์ตามแบบมาตรฐาน สัญลักษณ์มีขนาดตามความเหมาะสม มีการเขียนอธิบายให้เข้าใจง่าย สั้นและชัดเจน
18
การใช้ผังงานในการแสดงขั้นตอนวิธี
เมื่อรู้ว่าจะแก้ปัญหาอย่างไร การใช้ผังงานแสดงให้เห็นภาพหรือรายละเอียดในการดำเนินการ เพื่อให้สามารถเขียนโปรแกรมได้ตามที่คิดหรือออกแบบ ง่ายต่อการปรับปรุงแก้ไขขั้นตอนและวิธีการ ตรวจสอบข้อผิดพลาดได้ง่าย ป้องกันความผิดพลาดในการทำงานร่วมกัน
19
รูปแบบการทำงานในขั้นตอนวิธี
ในการแสดงขั้นตอนวิธี ประกอบด้วยรูปแบบได้ดังนี้ แบบกำหนดขอบเขต แบบลำดับขั้นตอน แบบเงื่อนไขและทางเลือกด้วยตรรกะ (logic) และ/หรือ เปรียบเทียบ (comparison) แบบวนทำซ้ำ (iterate) หรือ เวียนเกิด (recursive) แบบแบ่งย่อย (function)
20
สรุป อัลกอริทึม เป็นเครื่องมือในการแสดงขั้นตอนการทำงาน
ช่วยให้การเขียนโปรแกรมเป็นไปได้อย่างรวดเร็วและถูกต้อง เครื่องมือที่ใช้ในการอธิบายอัลกอริทึม ได้แก่ การเขียนหรือพูดอธิบาย การใช้รหัสเทียม การใช้ผังงาน รูปแบบการทำงานของอัลกอริทึม ประกอบด้วยรูปแบบต่างๆ ได้แก่ การกำหนดขอบเขต การทำงานเป็นขั้นตอน การควบคุมและการตัดสินใจด้วยตรรกะ และ/หรือ การเปรียบเทียบ การทำซ้ำ รวมถึงการแบ่งส่วนให้ง่ายในการประมวลผล เป็นต้น
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.