Objective (จุดประสงค์)
1. บอกขั้นตอนการพัฒนาโปรแกรมได้2. เข้าใจหลักการพื้นฐานด้านกรรมวิธีการออกแบบโปรแกรมในรูปแบบต่างๆ
3. บอกความแตกต่างระหว่างการเขียนโปรแกรมแบบ Procedural
(วิธีการดำเนินการ) และ Object-Oriented (มุ่งเน้น วัตถุ) ได้
4. ทราบวัตถุประสงค์ของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง
5. บอกความหมายของอัลกอลิทึ่ม และซูโดโค้ดได้
6. เข้าใจหลักปฏิบัติการพื้นฐาน 6 ประการของคอมพิวเตอร์ เพื่อนำไปสู่
การเขียนซูโดโค้ด
ได้อย่างถูกหลักวิธี
Contents (เนื้อหา)
- Steps in Program Development (ขั้นตอนการพัฒนาโปรแกรม)- Program Design Methodology (วิธีการออกแบบโปรแกรม)
- การเขียนโปรแกรมแบบ Procedural (โมดูล) และ Object-Oriented (มุ่งเน้นวัตถุ)
- Objective of Structured Program Design Techniques (วัตถุประสงค์
ของการใช้เทคนิค
การออกแบบโปรแกรมโครงสร้าง)
- Introduction to Algorithm and Pseudo Code (ความรู้เบื้องต้นเกี่ยวกับ
อัลกอริทึมและซูโดโค้ด)
- Six Basic Computer Operations (การใช้งานคอมพิวเตอร์ขั้นพื้นฐาน 6 ประการ)
- The Three Basic Control Structures (การควบคุมโครงสร้างพื้นฐาน 3 วิธี)
-Steps in Progarm Development (ขั้นตอนการพัฒนาโปรแกรม)
1. Define the Problem (การกำหนดปัญหา) ประกอบด้วย- Inputs (การนำเข้า)
- Outputs (การแสดงผล)
- Processing (การประมวลผล)
2. Outline the Solution (การร่างรายละเอียดแนวทางการแก้ไขปัญหา)
- แตกงานให้เป็นชิ้นงานย่อยๆ หรือเป็นขั้นตอน (หลังจากกำหนดปัญหา)
- การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆ ประกอบด้วย
* ขั้นตอนการประมวลผลส่วนหลักๆ
* ส่วนหลักของงานที่มีการแตกย่อย (Subtask)
* ส่วนความสัมพันธ์กับผู้ใช้งาน
* โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
* ตัวแปรและโครงสร้างของเรคอร์ด
* ตรรกะโปรแกรม (Logic)
3. Develop and Algorithm (การพัฒนาอัลกอริทึม)
- ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของ
อัลกอริทึมที่ออกมา
- ซูโดโค้ด (Pseudo Code) เป็นตัวแทนอัลกอริทึมเพื่อใช้แก้ไขปัญหา
ทางคอมพิวเตอร์
4. Test the Algorithm for Correctness (การตรวจสอบความถูกต้อง
ของอัลกอริทึม)
- เป็นขั้นตอนที่สำคัญที่สุด
- ตรวจสอบทั้งตรรกะของอัลกอริทึม ตัวแปรหลัก และการนำข้อมูลทดสอบ
เข้าไปประมวลผลในแต่ละขั้นตอน
5. Programming (การเขียนโปรแกรม)
- นำอัลกอริทึมที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม
(ชุดคำสั่ง)
- เลือกใช้ภาษาระดับสูง (High Language) เพื่อเขียนโปรแกรม เช่น C, PASCAL
เป็นต้น
6. Testing (การทดสอบโปรแกรม)
- นำข้อมูลป้อนเข้าไปเพื่อทดสอบบนเครื่องกับโปรแกรมที่ได้เขียนขึ้น
ว่าถูกต้องหรือไม่
- การตรวจสอบ
* รูปแบบชุดคำสั่ง (Syntax Errors)
* โปรแกรม (Logic Errors)
- ข้อมูลทดสอบต้องมีความแตกต่างกันออกไปตามแต่ละสถานการณ์
และสภาพแวดล้อม
7. Document and Maintain the Program (การจัดทำเอกสารและ
บำรุงรักษาโปรแกรม)
- การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำตั้งแต่ขั้นต้นการกำหนดปัญหา
จนถึงขั้นตอนสุดท้าย คือ การทดสอบผลลัพธ์
- เอกสารประกอบโปรแกรมจะประกอบด้วย
* External Document(เอกสารภายนอก) เช่น ผังโครงสร้าง อัลกอริทึมที่ใช้
แก้ไขปัญหา และผลของการทดสอบข้อมูล
* เอกสารภายใน (Internal DocumentX) คือ ชุดคำสั่งในโปรแกรม
- การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับงานดูแลและปรับปรุงโปรแกรม
-Program Design Methodology (วิธีการออกแบบโปรแกรม)
- การออกแบบโปรแกรมแบบ Procedure-Driven* แนวความคิด - มีกระบวนการ (Processes) หรือฟังก์ชัน (Function)
- การออกแบบโปรแกรมแบบ Event-Driven
* แนวความคิด - เหตุการณ์หรือการโต้ตอบจากภายนอกเป็นสำคัญ ที่ส่งผล
ต่อโปรมแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
- การออกแบบโปรแกรมแบบ Data-Driven
* แนวความคิด - ข้อมูลในโปรมแกรมมากกว่ากระบวนการ โดยเริ่มต้นจาก
การวิเคราะห์ข้อมูลและความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้าง
ข้อมูลเบื้องต้น และเมื่อโครงสร้างข้อมูลได้ถูกกำหนดขึ้น ความต้องการ
ในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่ามีกระบวนการใด
ที่จะทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาท์พุตที่ต้องการ
-การเขียนโปรแกรมแบบ Procedural (โมดูล) และ
Object-Oriented (มุ่งเน้นวัตถุ)
- การเขียนโปรแกรมแบบ Procedural และ Object-Oriented แบ่งออกเป็น 1. Top-Down Development (การเขียนโปรแกรมแบบบนลงล่าง)
2. Modular Design (การออกแบบโปรแกรมในลักษณะโมดูล
3. Object-Oriented Programming (การออกแบบโปรแกรมเชิงวัตถุ)คือ
หนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ
ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลก
เปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆ
ที่เกี่ยวข้องเพื่อให้ทำงานต่อไป
ความแตกต่างของการเขียนโปรแกรมเชิงโครงสร้าง และโปรแกรมเชิงวัตถุ
- Objective of Structured Program Design Techniques
(วัตถุประสงค์ของการใช้เทคนิคการออกแบบโปรแกรมโครงสร้าง)
1. ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้นในเงื่อนไขกรณีต่างๆ
2. โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงให้ง่ายในอนาคต
3. ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวก
และง่ายขึ้น
4. ลดเวลาในการพัฒนาโปรแกรม
- Introduction to Algorithm and Pseudo Code
(ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด)
- คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ปัญหาได้
- คือ ขั้นตอนวิธี ซึ่งจะใช้อธิบายว่างานๆ นั้นทำอย่างไร โดยจะประกอบด้วยชุดลำดับ
เป็นขั้นตอนที่ชัดเจน และรับประกันว่าเมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบ ก็จะได้
ผลลัพธ์ที่ถูกต้องตามต้องการ
* ตัวอย่าง
อัลกอริทึ่มการต้มบะหมี่กึ่งสำเร็จรูป
1. จัดเตรียมบะหมี่กึ่งสำเร็จรูป
2. ต้มน้ำสะอาดให้เดือด
3. นำบะหมี่กึ่งสำเร็จรูปใส่ลงในชาม
4. ฉีกซองเทเครื่องปรุงลงในชาม
5. นำน้ำที่ต้มเดือดเทลงในชาม
6. ปิดฝา
7. รอประมาณ 3 นาที
- คุณสมบัติของ Algorithm ที่ดีในการแก้ปัญหาทางคอมพิวเตอร์
1. ต้องไม่กำกวม อ่านแล้วเข้าใจได้ง่าย
2. ต้องมีความถูกต้องในผลลัพธ์ที่แก้ไขปัญหาในกรณีต่างๆ
3. กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่าย เพียงพอต่อ
การดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
4. ต้องมีจุดสิ้นสุด
Pseudo Code (ซูโดโค้ด) สามารถ…?
- นำมาใช้แทนอัลกอริทึม- โปรแกรมเมอร์สามารถนำอัลกอริทึมที่นำเสนอในรูปแบบซูโดโค้ด
ไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที
หลักวิธีการเขียนซูโดโค้ด
1. ถ้อยคำหรือประโยคคำสั่ง (Statement) ให้เขียนอยู่ในรูปของภาษาอังกฤษอย่างง่าย
2. ในหนึ่งบรรทัด ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
3. ควรใช้ย่อหน้าให้เป็นประโยชน์เพื่อแยกคำเฉพาะ (Keywords) ได้ชัดเจน
รวมถึงจัดโครงสร้าง การควบคุมเป็นสัดส่วน ซึ่งการกระทำดังกล่าวทำให้
อ่านง่าย
4. แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่าง โดยมีทางเข้าและ
ทางออกทางเดียวเท่านั้น
5. กลุ่มของประโยคคำสั่งต่างๆ อาจรวมกลุ่มเข้าด้วยกันในรูปของโมดูล
แต่ต้องกำหนดชื่อโมดูลด้วย เพื่อสามารถเรียกใช้งานโมดูลนั้นได้
- Six Basic Computer Operations (การใช้งานคอมพิวเตอร์
ขั้นพื้นฐาน 6 ประการ)
ได้แก่…1. คอมพิวเตอร์สามารถรับข้อมูลได้
- อุปกรณ์รับข้อมูล (อินพุต) เช่น เทอร์มินัล คีย์บอร์ด หรือการอ่านไฟล์ข้อมูล
บนสื่อจัดเก็บข้อมูลได้ เช่น การอ่านข้อมูลจากดิสก์ เป็นต้น
- การอ่านจะใช้คำกริยา “read” และ “get” เพื่อใช้เขียนซูโดโค้ด
* read ใช้เมื่อมีการับหรืออ่านเรคอร์ดจากไฟล์ข้อมูล
* get ใช้สำหรับข้อมูลจากแป้นคีย์บอร์ด
2. คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้
- การแสดงผลลัพธ์จะใช้ “print, write, put, output หรือ display
* print ส่งผลลัพธ์ออกทางเครื่องพิมพ์
* write ส่งเอาท์พุตเพื่อเก้บบันทึกลงในไฟล์
* put, output หรือ display ส่งเอาท์พุตออกไปแสดงผลทางจอภาพ
- คำสั่ง prompt ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,
เพื่อสามารถสื่อสารกับยูสเซอร์ได้สมบูรณ์มากขึ้น
3. คอมพิวเตอร์สามารถคำนวณได้
- สัญลักษณ์ที่ใช้ในการคำนวณ
+ ใช้แทนการบวก (add)
- ใช้แทนการลบ (subtract)
* ใช้แทนการคูณ (multiply)
/ ใช้แทนการหาร (divide)
() ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
- คำกริยาที่ใช้ในการคำนวณจะใช้คำว่า compute และ calculate
4. คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้
- ใช้ initialze หรือคำว่า set เพื่อกำหนดค่าเริ่มต้นให้กับตัวแปร
- ใช้ = เพื่อกำหนดค่าตัวแปร
- ใช้ store จัดเก็บข้อมูลให้ตัวแปร
5. คอมพิวเตอร์สามารถเปรียบเทียบและเลือกการทำงานได้
- ใช้คำว่า if…then…glse และจบด้วย end if เสมอ
6. คอมพิวเตอร์สามารถทำงานซ้ำๆ ได้
- ใช้คำว่า dowhile…enddo หรือ repeat…until
- The Three Basic Control Structures
(การควบคุมโครงสร้างพื้นฐาน 3 วิธี)
- Sequence (ลำดับและอนุกรม) มีรูปแบบดังนี้…statement a
statement b
statement c
:
:
if condition p is true then
statement(s) in true case
else
statement(s) in false case
end if
- Repetition (การทำซ้ำ) มีรูปแบบดังนี้…
dowhile
dowhile condition p is ture
statement block
enddo
--------------------จบบทที่ 1--------------------
ไม่มีความคิดเห็น:
แสดงความคิดเห็น