140 likes | 423 Views
การออกแบบโปรแกรม. ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition) การวิเคราะห์ปัญหา (Problem analysis) การออกแบบอัลกอริธึม (Algorithm design) การพัฒนาโปรแกรม (Program development) การทดสอบโปรแกรม (Program Testing). การนิยามปัญหา . ขั้นตอน What is the problem?
E N D
การออกแบบโปรแกรม • ขั้นตอนการแก้ปัญหา • การนิยามปัญหา (Problem definition) • การวิเคราะห์ปัญหา (Problem analysis) • การออกแบบอัลกอริธึม (Algorithm design) • การพัฒนาโปรแกรม (Program development) • การทดสอบโปรแกรม (Program Testing)
การนิยามปัญหา • ขั้นตอน • What is the problem? • ปัญหาคืออะไร เราต้องเข้าใจปัญหาก่อน หรือเข้าใจโจทย์ก่อน • ผลลัพธ์คืออะไร
Input Output Process Input 2 3 1 การวิเคราะห์ปัญหา • สิ่งที่ต้องพิจารณา • Input ? (พิจารณาจาก Output) • Output? (พิจารณาอันดับแรก) • Process (ยังไม่ต้องสนใจตอนนี้)
แนวความคิดเบื้องต้น การวิเคราะห์ปัญหา • การวิเคราะห์ปัญหา Process เขียนขั้นตอนการแก้ปัญหา วิเคราะห์ผลลัพธ์ วิเคราะห์ Input
แนวความคิดเบื้องต้น การวิเคราะห์ปัญหา • การวิเคราะห์ปัญหา วิเคราะห์ผลลัพธ์ วิเคราะห์ Input Process เขียนขั้นตอนการแก้ปัญหา ต้องการทราบพื้นที่สี่เหลี่ยม Input w,h Area = w * h Display Area ความกว้าง และ ความสูง ของสี่เหลี่ยม
การเขียนอัลกอริธึม (Algorithms) • อัลกอริธึม • หมายถึง คำอธิบายขั้นตอนในการแก้ปัญหา ซึ่งเป็นส่วนหนึ่งของกระบวนการแก้ปัญหา (Process) • ขั้นตอนการพัฒนาอัลกอริธึม • แตกปัญหาออกเป็นงานๆ หรือเป็นชิ้นใหญ่ก่อน • มองความสัมพันธ์ระหว่างงาน ว่างานใด ควรทำก่อน หรืองานใดทำทีหลัง หรือมีเงื่อนไขอย่างไร หรือต้องทำซ้ำ ตลอดจนวิธีติดต่อระหว่างกันของงาน • จากนั้น พัฒนาวิธีแก้ปัญหา แต่ละส่วนลงไปในรายละเอียด
การพัฒนาอัลกอริธึม • การวิเคราะห์งาน example: จงเขียนโปรแกรมคำนวณหาค่า y ของสมการ y = x^2 + 2x +10 วิเคราะห์งานได้ดังนี้: output : แสดงค่า y input : รับค่า x (อาจรับจาก keyboard หรือกำหนดค่าในโปรแกรม) Process: แบ่งงานเป็น 3 งาน คือ 1. งานรับค่า x จากแป้นพิมพ์ 2. งานคำนวณ y = x*x + 2*x + 10 3. งานพิมพ์ค่า y
การพัฒนาอัลกอริธึม • เครื่องมือใช้เขียนอัลกอริธึม • รหัสเทียม (Pseudo code) • ผังงาน (Flow chart) • ข้อดีของรหัสเทียม • แปลงเป็นโปรแกรมได้ง่าย • ข้อดีของผังงาน • อ่านง่าย เข้าใจตรงกันได้
สัญลักษณ์ในผังงาน START STOP จุดเริ่มต้น หรือสิ้นสุด แฟ้มข้อมูล อ่านข้อมูลเข้า หรือแสดงผล จุดเชื่อมต่อในหน้าเดียวกัน ประมวลผล โปรแกรมย่อย ตัดสินใจ พิมพ์ผลทางเครื่องพิมพ์ แสดงผลทางหน้าจอ แสดงทิศทางการประมวลผล
โปรแกรมเขียนผังงาน • โปรแกรมวาดแผนผัง • Visio • Power Point • ฯลฯ • โปรแกรมสร้าง code จาก flowchart • Magic Flowchart • devFlowCharter
การพัฒนาอัลกอริธึม example: จงเขียนโปรแกรมคำนวณหาค่า y ของสมการ y = x^2 + 2x +10
แบบฝึกหัด 3. จงเขียนผังงานแสดงการหาเศษเหลือ สมมุติว่ามีเงิน N บาท ต้องการทราบว่ามีใบละ 100 ใบ 50 ใบ 20 เหรียญ 10 เหรียญ และ เหรียญ 1 บาท อย่างละกี่อัน เช่น N = 256 บาท 100 มี 2 50 มี 1 5 มี 1 1 มี 1