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

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

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

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

ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม
มีดังนี้
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


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) ก่อนเช็คเงื่อนไข

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

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