1 / 31

Fundamental of Program Design

Fundamental of Program Design. บทที่ 1 พื้นฐาน การออกแบบโปรแกรม. วัตถุประสงค์เพื่อ. บอกขั้นตอนการพัฒนาโปรแกรมได้ เข้าใจหลักการพื้นฐานด้านกรรมวิธีการออกแบบโปรแกรมในรูปแบบต่างๆ บอกความแตกต่างระหว่างการเขียนโปรแกรมแบบ Procedural และ Object- O riented ได้

kay
Download Presentation

Fundamental of Program Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fundamental of Program Design บทที่ 1 พื้นฐานการออกแบบโปรแกรม

  2. วัตถุประสงค์เพื่อ • บอกขั้นตอนการพัฒนาโปรแกรมได้ • เข้าใจหลักการพื้นฐานด้านกรรมวิธีการออกแบบโปรแกรมในรูปแบบต่างๆ • บอกความแตกต่างระหว่างการเขียนโปรแกรมแบบ Procedural และ Object-Oriented ได้ • ทราบวัตถุประสงค์ของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง • บอกความหมายของอัลกอริทึมและซูโดโค้ดได้ • เข้าใจหลักปฏิบัติการพื้นฐาน 6 ประการของคอมพิวเตอร์ เพื่อนำไปสู่การเขียนซูโดโค้ดได้อย่างถูกหลักวิธี

  3. หัวข้อที่บรรยาย • ขั้นตอนการพัฒนาโปรแกรม • กรรมวิธีการออกแบบโปรแกรม • การเขียนโปรแกรมแบบ Procedural และ Object-Oriented • วัตถุประสงค์ของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง • ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด • ปฏิบัติการพื้นฐาน 6 ประการของคอมพิวเตอร์ • โครงสร้างการควบคุมพื้นฐาน 3 รูปแบบ

  4. ขั้นตอนการพัฒนาโปรแกรมขั้นตอนการพัฒนาโปรแกรม • กำหนดปัญหา • ร่างรายละเอียดแนวทางการแก้ไขปัญหา • พัฒนาอัลกอริทึม • ตรวจสอบความถูกต้องของอัลกอริทึม • เขียนโปรแกรม • ทดสอบโปรแกรม • จัดทำเอกสารและบำรุงรักษาโปรแกรม

  5. กรรมวิธีการออกแบบโปรแกรมกรรมวิธีการออกแบบโปรแกรม • การออกแบบโปรแกรมแบบ Procedure-Driven • การออกแบบโปรแกรมแบบ Event-Driven • การออกแบบโปรแกรมแบบ Data-Driven

  6. การออกแบบโปรแกรมแบบ Procedure-Driven • เป็นการออกแบบโปรแกรมที่ตั้งอยู่บนแนวความคิดของคุณสมบัติโปรแกรม • มีกระบวนการ (Process) หรือฟังก์ชั่น (Functions) อะไรบ้าง • มีข้อมูลเข้า-ออก อย่างไร • แตกฟังก์ชั่นการทำงานออกเป็ยส่วนย่อยๆ

  7. การออกแบบโปรแกรมแบบ Event-Driven • เป็นการออกแบบโปรแกรมที่ตั้งอยู่บนแนวความคิดของแต่ละเหตุการณ์หรือการโต้ตอบจากภายนอก • พิจารณาจากสถานะของโปรแกรมที่จะเปลี่ยนแปลงไป • ยกตัวอย่าง การคลิ้กเมาส์ของผู้ใช้ การกดแป้นพิมพ์ การสั่งงานด้วยเสียง การทำสัญญาณมือ เป็นต้น

  8. การออกแบบโปรแกรมแบบ Data-Driven • เป็นการออกแบบโปรแกรมที่ตั้งอยู่บนแนวความคิดของข้อมูลในโปรแกรมมากกว่ากระบวนการ • เริ่มจากกการวิเคราะห์ข้อมูลและความสัมพันธ์ของข้อมูล • การกำหนดโครงสร้างข้อมูล • ความต้องการผลลัพธ์ของข้อมูล โดยพิจารณากระบวนการใดที่จะทำการเปลี่ยนแปลงข้อมูลนำเข้าเพื่อนำไปสู่ผลลัพธ์ที่ต้องการ

  9. การเขียนโปรแกรมแบบ Procedural และ Object-Oriented • การเขียนโปรแกรมแบบบนลงล่าง “Functional Decomposition” • การออกแบบโปรแกรมในลักษณะโมดูล • การโปรแกรมเชิงวัตถุ

  10. รูปแบบการโปรแกรมแบบบนลงล่างหรือแบบโมดูลรูปแบบการโปรแกรมแบบบนลงล่างหรือแบบโมดูล

  11. ตังอย่างคลาสไดอะแกรมที่ออกแบบขึ้นเพื่อการโปรแกรมเชิงวัตถุตังอย่างคลาสไดอะแกรมที่ออกแบบขึ้นเพื่อการโปรแกรมเชิงวัตถุ

  12. วัตถุประสงค์ของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้างวัตถุประสงค์ของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง • ต้องการให้โปรแกรมมีคุณภาพ • แก้ไขปรับปรุงได้ง่ายในอนาคต • ทำให้ขั้นตอนการเขียนโปรแกรมเป็นระบบ • ลดเวลาในการพัฒนาโปรแกรม

  13. ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ดความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด ความหมายของอัลกอริทึม อัลกอริทึม คือ “กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ปัญหาได้” อัลกอริทึม คือ “ขั้นตอนวิธีซึ่งจะใช้อธิบายว่างานงานนั้นทำอย่างไรโดยจะประกอบได้ด้วยชุดลำดับเป็นขั้นเป็นตอนที่ชัดเจน และรับประกันว่า เมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบ ก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ”

  14. คุณสมบัติพื้นฐานของอัลกอริทึมที่ดีคุณสมบัติพื้นฐานของอัลกอริทึมที่ดี • อัลกอริทึมต้องไม่กำกวม อ่านแล้วควรเข้าใจง่าย • อัลกอริทึมต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ • กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่าย เพียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้ • อัลกอริทึมต้องมีจุดสิ้นสุด

  15. ตัวอย่าง : อัลกอริทึมในการใช้เครื่องคิดเลขรวมตัวเลข turn on calculator clear calculator repeat the following instructions key in baht amount key in decimal point(.) key in satang amount press addition(+) key until all prices have been entered write down total price Turn off calculator

  16. ปัญหาเชิงอัลกอริทึมและการแก้ไขปัญหาปัญหาเชิงอัลกอริทึมและการแก้ไขปัญหา

  17. ความหมายของซูโดโค้ด (Pseudo Code) “รหัสจำลองที่ใช้เป็นตัวแทนของอัลกอริทึมโดยมีถ้อยคำหรือประโยคคำสั่งที่เขียนอยู่ในรูปแบบของภาษาอังกฤษที่ไม่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง”

  18. หลักวิธีการเขียนซูโดโค้ดหลักวิธีการเขียนซูโดโค้ด • ถ้อยคำหรือประโยคคำสั่ง (Statement) ให้เขียนอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย • ในหนึ่งบรรทัด ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว • ควรใช้ย่อหน้าให้เป็นประโยชน์เพื่อแยกคำเฉพาะ (Keywords) ได้อย่างชัดเจน รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งการกระทำดังกล่าวจะทำให้อ่านง่าย • แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่าง โดยมีเพียงทางเข้าทางเดียวและมีทางออกทางเดียวเท่านั้น • กลุ่มของประโยคคำสั่งต่างๆ อาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูล แต่ต้องกำหนดชื่อโมดูลเหล่านั้นด้วย เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้

  19. ปฏิบัติการพื้นฐาน 6 ประการของคอมพิวเตอร์ • คอมพิวเตอร์สามารถรับข้อมูลได้ • คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้ • คอมพิวเตอร์สามารถคำนวณได้ • คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้ • คอมพิวเตอร์สามารถเปรียบเทียบและเลือกการทำงานได้ • คอมพิวเตอร์สามารถทำงานซ้ำๆ ได้

  20. คอมพิวเตอร์สามารถรับข้อมูลได้คอมพิวเตอร์สามารถรับข้อมูลได้ read studentName get systemDate read number1,number2 get taxCode

  21. คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้ print “Program Completed” write customer record to master file put name, address and postcode output totalTax display “End of data”

  22. คอมพิวเตอร์สามารถคำนวณได้คอมพิวเตอร์สามารถคำนวณได้ divide totalMarks by studentCount salesTax = costPrice * 0.10 compute C = (F - 32) * 5 / 9

  23. คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้ initialize totalPrice to zero set studentCount to 0 totalPrice = costPrice + salesTax totalPricecostPrice + salesTax store customerId in lastCustomerId

  24. คอมพิวเตอร์สามารถเปรียบเทียบและเลือกการทำงานได้คอมพิวเตอร์สามารถเปรียบเทียบและเลือกการทำงานได้ if employeeStatus is partTime THEN add 1 to partTimeCount else add 1 to fullTimeCount end if

  25. คอมพิวเตอร์สามารถทำงานซ้ำๆ ได้ dowhilefile_flag <> “eof” read student record print studentName, address to report add 1 to studentTotal enddo

  26. โครงสร้างการควบคุมพื้นฐาน 3 รูปแบบ • แบบเรียงลำดับ (Sequence) • แบบเลือกการทำงาน (Selection) • แบบทำงานซ้ำ (Repetition)

  27. แบบเรียงลำดับ (Sequence) Statement a Statement b Statement c : :

  28. แบบเลือกการทำงาน (Selection) if condition p is true then statement(s) in true case else statement(s) in false case end if

  29. แบบทำงานซ้ำ (Repetition) dowhile condition p is true statement block enddo repeat statement statement : : until condition is true

  30. สรุปท้ายบทที่ 1 • ขั้นตอนการพัฒนาโปรแกรม ประกอบด้วย 7 ขั้นตอนพื้นฐาน • กรรมวิธีการออกแบบโปรแกรมมี 3 รูปแบบ • อัลกอริทึม • ซูโดโค้ด • ปฏิบัติการพื้นฐาน 6 ประการของคอมพิวเตอร์ • โครงสร้างการควบคุมพื้นฐาน 3 รูปแบบ

  31. Any Question ?

More Related