งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

อัลกอริทึมและผังงาน อาจารย์สมเกียรติ ช่อเหมือน

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "อัลกอริทึมและผังงาน อาจารย์สมเกียรติ ช่อเหมือน"— ใบสำเนางานนำเสนอ:

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 สรุป อัลกอริทึม เป็นเครื่องมือในการแสดงขั้นตอนการทำงาน
ช่วยให้การเขียนโปรแกรมเป็นไปได้อย่างรวดเร็วและถูกต้อง เครื่องมือที่ใช้ในการอธิบายอัลกอริทึม ได้แก่ การเขียนหรือพูดอธิบาย การใช้รหัสเทียม การใช้ผังงาน รูปแบบการทำงานของอัลกอริทึม ประกอบด้วยรูปแบบต่างๆ ได้แก่ การกำหนดขอบเขต การทำงานเป็นขั้นตอน การควบคุมและการตัดสินใจด้วยตรรกะ และ/หรือ การเปรียบเทียบ การทำซ้ำ รวมถึงการแบ่งส่วนให้ง่ายในการประมวลผล เป็นต้น


ดาวน์โหลด ppt อัลกอริทึมและผังงาน อาจารย์สมเกียรติ ช่อเหมือน

งานนำเสนอที่คล้ายกัน


Ads by Google