ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม
มีดังนี้
1.ขั้นตอนการพัฒนาโปรแกรม
(Steps in Program Development )
1. 1กำหนดปัญหา(Define the Problem)
ประกอบด้วย - Input
- Outputs
-Processing
1.2 ร่างรายละเอียดแนวทางการแก้ไขปัญหา(Outline the Solution)
- แตกงานให้เป็นช้งานนย่อยๆหรือเป็นขั้นเป็นตอน(หลังจากกำหนดปัญหา)
- การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆประกอบด้วย- ขั้นตอนการประเมณผลส่วนหลักๆ
- ส่วนหลักของงานที่ได้มีการแตกย่อย(Subtask)
- ส่วนความสัมพันธ์กับผู้ใช้งาน
- โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
- ตัวแปรและโครงสร้างของเรคอร์ด
- ตรรกะโปรแกรม (Logic)
1.3 พัฒนาอัลกอลิทึม (Develop and Algorithm)
- ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของอัลกิริทึมที่ออกมา
- ซูโดโค้ดเป็นตัวแทนอัลกอริทึมเพื่อใช้แก้ไขปัญาหาทางคอมพิวเตอร์
1.4 ตรวจสอบความถูกต้องของอัลกอริทึม (Test the Algorithm for Correctness)
- เป็นขั้นตอนที่สำคัญที่สุด1.5. เขียนโปรแกรม (Proramming)
- ตรวจสอบทั้งตรรกะของอัลกอริทึม ตัวแปรหลักและการนำข้อมูลทดสอบเข้าไปประมวลผลในแต่ละขั้นตอน
- นำอัลกอริทึมที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม(ชุดคำสั่ง)
- เลือกใช้ภาษาระดับสูงเพื่อใช้เขียนโปรแกรม เช่น C,PASCAL เป็นต้น
1.6 ทดสอบโปรแกรม (Testing)
- นำข้อมูลป้อนเข้าไปเพื่อทดสอบบนเครื่องกับโปรแกรมที่ได้เขียนขึ้นว่าถูกต้องหรือไม่
- การตรวจสอบ- รูปแบบชุดคำสั่ง (Syntax Errors)
- โปรแกรม (Logic Errors)
- ข้อมูลทดสอบต้องมีความแตกต่างกันไปตามแต่ละสถานการณ์และสภาพแวดล้อม
1.7 จัดทำเอกสารและบำรุงรักษาโปรแกรม (Document and Maintain the Program)
- การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำขึ้นตั้งแต่ขั้นตอน การกำหนดปัญหาจนถึงขั้นตอนสุดท้าย คือการทดสอบผลลัพธ์
- เอกสารประกอบโปรแกรมประกอบด้วย
- เอกสารภายนอก(External document) เช่น ผังโครงสร้าง อัลกอริทึมที่ใช้แก้ปัญหา และผลของการทดสอบข้อมูล
-เอกสารภายใน(Internal document) คือ ชุดคำสั่งในโปรมแกรม
- การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับการดูแลและปรับปรุงโปรแกรม2.วิธีการออกแบบโปรแกรม (Program Design Methodology)
2.1 การออกแบบโปรแกรมแบบ Procedure-Driven
- แนวความคิดและมีกระบวนการ (Processes)หรือ ฟังก์ชัน(Function)
2.2 การออกแบบโปรแกรม Event-Driven
- แนวความคิดและเหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อโปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
2.3 การออกแบบโปรแกรมแบบ Data-Driven
- แนวความคิดและข้อมูลในโปรแกรมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
3.การเขียนโปรแกรมแบบ Procedural และ Object-Oriented
3.1 การเขียนโปรแกรมแบบบนลงล่าง
(Top - Down Development)
3.2 การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
3.3 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
ตัวอย่างที่1
![]()
ตัวอย่างที่ 2
![]()
4.วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program Design Techniques)
4.1 ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้น
ในเงื่อนไขกรณีต่างๆ
4.2 โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
4.3 ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
4.4 ลดเวลาในการพัฒนาโปรแกรม
5.ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่า
งานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
คุณสมบัติของอัลกอริทึมที่ดี
-ไม่กำกวม อ่านแล้วเข้าใจง่าย
-ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
-กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่าย เ
พียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
-ต้องมีจุดสิ้นสุด
ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่นำเสนอ
ในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที
หลักวิธีการเขียนซูโดโค้ด
-ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
-ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
-ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
-แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
-กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
6.การใช้งานคอมพิวเตอร์ขั้นพื้นฐาน 6 ประการของคอมพิวเตอร์ (Six Basic Computer Operations)
6.1 รับข้อมูลได้ (input device)
-อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บข้อมูล
เช่น ดิสก์ หรือเทป
-ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
-read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
-get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
ตัวอย่าง เช่น
read studentName
get systemDate
read number1,number2
get taxCode
6.2 แสดงผลได้ (output device) การแสดงผลลัพธ์จะใช้
-print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
-write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
-put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
ตัวอย่าง เช่น
print “Program Completed”
write customer record to master file
put name,address and postcode
output totalTax
display “End of data”
6.3 คำนวณได้ (Cont.)
-คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสารโต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น
-คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate
สัญลักษณ์ที่ใช้ในการคำนวณ + ใช้แทนการบวก (Add) - ใช้แทนการลบ (subtract) * ใช้แทนการคูณ (multiply) / ใช้แทนการหาร (divide) () ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด |
ตัวอย่าง เช่น
divide totalMarks by studentCount salesTax costPrice*0.10 computeC=(F-32)*5/9 |
6.4 กำหนดค่าตัวแปรได้ (storage) สามารถทำได้ 3 รูปแบบ ดังนี้
- ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
-ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
-ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
ตัวอย่าง เช่น
initialize totalPrice to zero set studentCount to o totalPrice = costPrice+salesTax totalPrice ← costPrice+salesTax store customerId lastCustomerID |
6.5 เปรียบเทียบ หรือเลือกทำงานได้ (compare or decision)
-ใช้คำ if…then…else และจบด้วย end if เสมอ
ตัวอย่าง เช่น
if employeeStatus is partTime then add to partTimeCount else add to fullTimeCount end if |
***if ตามด้วยคำสั่ง เมื่อเงื่อนไขเป็นจริงจะทำหลัง then เป็นเท็จทำหลัง else แล้วจบด้วย end if
6.6 ทำซ้ำได้ (repeation or loop)
ใช้คำ dowhile และ enddo หรือ repeat.until
ตัวอย่าง เช่น :
dowhile file_flag<>”eof” read student record print studentName,address to report add 1 to studentTotal enddo |
***dowhileและenddo ใช้ในกรณีที่ประมวลผลขั้นตอนหรือทำกิจกรรมซ้ำๆจะทำงานซ้ำๆไปเรื่อยๆ เมื่อตรงกับเงื่อนไขหรือเงื่อนไขเป็นจริง
จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากหลูป
-repeat..until จะทำตามคำสั่ง(execute statement)ก่อน หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไข
7. The Three Basic Control Structures
-แบบเรียงลำดับ(Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงไปล่าง
แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
-แบบทำงานซ้ำ(Repetition)
dowhile จะทำงานซ้ำไปเรื่อยๆเมื่อตรงกับเงื่อนไขจนกระทั่งเป็นเท็จ ก็จะออกจากหลูป
dowhile condition p is ture
statement block
enddo
ส่วน repeat….until จะทำตามคำสั่ง(execute statement) ก่อนเช็คเงื่อนไข
ไม่มีความคิดเห็น:
แสดงความคิดเห็น