Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่ 2 การแก้ปัญหาและขั้นตอนวิธี :warning: - Coggle Diagram
บทที่ 2 การแก้ปัญหาและขั้นตอนวิธี :warning:
การแก้ปัญหาด้วย
คอมพิวเตอร์ มี 7
ขั้นตอน
นิยามปัญหา (Problem Definition)
สิ่งสำคัญที่สุด คือเราต้องทำความเข้าใจให้ได้ว่าปัญหาคืออะไร
การจัดทำเอกสาร (Documentation)
การเขียนหมายเหตุในโปรแกรมถือว่าเป็นสิ่งจำเป็นที่ควรจะทำ เพื่ออธิบายความคิดว่าขณะนั้นได้คิดอะไร เป็นสิ่งที่ช่วยเตือนความทรงจำของตัวผู้เขียนเอง และคนอื่น
การวิเคราะห์ปัญหา (Problem Analysis)
การหาผลลัพธ์ของปัญหา (output) ว่าคืออะไร
3 .การออกแบบอัลกอริทึม (Algorithm Design)
การออกแบบอัลกอริทึม เป็นการคิดหาขั้นตอนการแก้ปัญหาทีละขั้น เราต้องคิดว่าจะทำอย่างไรจึงจะแก้ปัญหาได้ และสามารถนำมาแปลงเป็นคำสั่งของภาษาโปรแกรมได้โดยง่าย
4.การพัฒนาโปรแกรม (Program Development)
การพัฒนาโปรแกรมจะทำได้ง่าย ถ้าอัลกอริธึมถูกต้อง และมีความชัดเจน
7.การบำรุงรักษา (Maintenance)
การดูแลบำรุงรักษาให้ระบบสามารถใช้งานได้นานที่สุด โดยจะต้องดูแลรักษาเครื่องคอมพิวเตอร์ โปรแกรมและอุปกรณ์ต่อพ่วงต่าง ๆ ที่ใช้ในระบบ ให้สามารถใช้งานได้ปกติ และถ้าในอนาคตเทคโนโลยีต่าง ๆ ได้
การทดสอบความถูกต้อง (Program Testing)
การทดสอบ (Testing) เพื่อหาข้อผิดพลาดจากการเขียนคำสั่งผิด
ไวยกรณ์ของภาษา หรือข้อผิดพลาดจากการคำนวณ
การออกแบบ
ขั้นตอนวิธี
การออกแบบขั้นตอนวิธี คือ ขั้นตอนการแก้ปัญหาอย่างเป็นลำดับ โดยประกอบด้วยชุดคำสั่งการทำงานอย่างเป็นลำดับและชัดเจน
เครื่องมือในการออกแบบขั้นตอนวิธี ประกอบด้วย
บรรยาย (Narrative Description)
รหัสเทียม (Pseudo Code)
ผังงาน (FlowChart)
ลักษณะขั้นตอนวิธี
ได้แก้ปัญหาย่างมีประสิทธิภาพ
ให้คำตอบที่ถูกต้อง
ใช้เวลาในการปฏิบัติการน้อย
ชัดเจนและกระทัดรัด
การบรรยาย
(Narrative Description)
การออกแบบขั้นตอนวิธีด้วยการบรรยาย เป็นการเขียนบรรยายวิธีการแก้ปัญหาอย่างเป็นลำดับโดยใช้ภาษาธรรมชาติเช่น วิธีการต้มบะหมี่กึ่งสำเร็จรูป
รหัสเทียม
(Pseudo Code)
เป็นการเขียนโปรแกรมในรูปแบบภาษาอังกฤษที่มีขั้นตอนและรูปแบบแน่นอนกะทัดรัด
ประโยชน์รหัสเทียม
เป็นเครื่องมือในการกำหนดโครงร่างกระบวนการทำงานของการเขียนโปรแกรมและใช้เป็นต้นแบบในการทบทวน ปรับปรุงแก้ไขและพัฒนาโปรแกรมของโปรแกรมเมอร์และนักวิเคราะห์ระบบ
หลักการเขียน
รหัสเทียม
ใช้ภาษาอังกฤษที่เข้าใจง่าย
ในหนึ่งบรรทัด มีเพียงหนึ่งประโยคคำสั่งเท่านั้น
ใช้ย่อหน้าแบ่งการแสดงการทำงานเพื่อให้อ่านง่าย
แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
รูปแบบการเขียน
รหัสเทียม
การอ่านข้อมูล สามารถใช้คำสั่ง READ, INPUT หรือ GET ได้
การแสดงผลข้อมูล สามารถใช้คำสั่ง DISPLAY, PRINT, PROMPT หรือ WRITE ได้
การกำหนดเงื่อนไขหรือการตัดสินใจ (Dicision) ใช้คำสั่ง if...then
การทำงานแบบวนซ้ำ ด้วย REPEAT ... UNTIL
การทำงานแบบวนซ้ำด้วย WHILE ... ENDWHILE
การทำงานแบบวนซ้ำด้วย FOR ... ENDFOR
รูปแบบการเขียน
รหัสเทียม
การประมวลผล ( Process ) คือ
การกระทำใดๆ ที่เป็นการคำนวณ เช่น บวก ลบ คูณ หาร ซึ่งจะใช้คำศัพท์ง่ายๆ เช่น
ADD ใช้บวกเพิ่มค่าให้ตัวแปร
SUBTRACT ใช้ลบค่าออกจากตัวแปร
SET ใช้กำหนดค่าให้ตัวแปร แต่การใช้ จึงนิยมใช้ตัวดำเนินการมากกว่า เช่น + , - , * , / , %
รู้จัก ตัวแปร
ตัวแปร คือ ชื่อที่ใช้แทนข้อมูลการจองพื้นที่ในหน่วยความจำของคอมพิวเตอร์สำหรับเก็บข้อมูลที่ต้องใช้ในการทำงานของโปรแกรม เช่น ตัวแปร x y z
ผังงาน
เป็นการใช้สัญลักษณ์ เพื่ออธิบายขั้นตอนการทำงานของโปรแกรม
รูปแบบผังงาน
แบบลำดับ ( Sequential )
แบบมีเงื่อนไข ( Condition )
แบบวนลูป ( Loop )
การจัดเรียงข้อมูล
การจัดเรียงข้อมูลเป็นสิ่งที่พบอยู่เสมอ เมื่อต้องการประมวลผลข้อมูลจำนวนมาก การเรียงลำดับข้อมูลด้วยเงื่อนไขที่เหมาะสม จะทำให้การค้นหาข้อมูลทำได้อย่างมีประสิทธิภาพ
แบบเลือก
( Selection Sort)
การเลือกข้อมูลที่น้อยที่สุดมาไว้เป็นลำดับแรก
จากนั้นในรายการข้อมูลที่เหลืออยู่จะเลือกข้อมูลที่มีค่าน้อยที่สุดมาเป็นข้อมูลในรายการคำตอบ ลำดับที่ 2 ทำไปเรื่อยๆ จนครบทุกจำนวน
แบบแทรก
( Insertion Sort)
เป็นการนำข้อมูลที่ยังไม่ถูกพิจารณามาแทรกในตำแหน่งที่ถูกต้องโดยค่าของข้อมูลที่กำลังพิจารณาต้องมีค่ามากกว่าหรือเท่ากับ ค่าของข้อมูลตัวหน้า หรือ น้อยกว่าหรือเท่ากับ ค่าของข้อมูลตัวหลัง ในรายการที่เรียงลำดับไว้แล้ว
การค้นหาข้อมูล
ป็นกระบวนการหาตำแหน่งของข้อมูลตามค่าของคีย์ โดยมีอัลกอริทึมการค้นหา เป็นเทคนิคการค้นหาข้อมูลตามค่าของคีย์ที่เป็นค่าที่รับเข้ามาเพื่อค้นหาการค้นหาจะสิ้นสุดลงเมื่อพบข้อมูลที่มีค่าคีย์ตรงกันหรือไม่พบข้อมูล
รูปแบบการค้นหาข้อมูล มี ดังนี้
การค้นหาแบบตามลำดับ ( Sequential Search)
การค้นหาแบบ ทวิภาค ( Binary Search)
การค้นหาแบบ
ตามลำดับ
การหาข้อมูลแบบเป็นลำดับขั้นตอน โดยจะค้นหาตั้งแต่ตัวแรกเรียงลำดับไปทีละตัวจนกว่าจะพบข้อมูลที่ต้องการ หรือเปรียบเทียบไปจนถึงตัวสุดท้าย การค้นหาวิธีนี้เป็นวิธีที่ง่ายที่สุด อัลกอริทึมในการค้นหาไม่ซับซ้อนสามารถใช้กับข้อมูลที่เรียงลำดับแล้วหรือข้อมูลที่ยังไม่ได้เรียงลำดับก็ได้