ชีวิตไม่มีคำว่าท้อ ถ้ายังไม่ได้ลองทำมัน เอ๊า สู้ๆๆๆๆๆๆๆๆ

จะท้อไม่ได้ เราต้องทำได้

วันอังคารที่ 21 มิถุนายน พ.ศ. 2554

ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม

มีดังนี้

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
1
ตัวอย่างที่ 2
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
eof และ End of File
***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) ก่อนเช็คเงื่อนไข

ไม่มีความคิดเห็น:

แสดงความคิดเห็น