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

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

ขั้นตอนการพัฒนาโปรแกรม
1. กำหนดปัญหา
  • Input
  • Outputs
  • Processing
2. ร่างรายละเอียดแนวทางแก้ไขปัญหา
  • แตกงานให้เป็นช้นย่อยๆหรือเป็นขั้นเป็นตอน(หลังจากกำหนดปัญหา)
  • การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆประกอบด้วย
  • ขั้นตอนการประเมณผลส่วนหลักๆ
  • ส่วนหลักของงานที่ได้มีการแตกย่อย(Subtask)
  • ส่วนความสัมพันธ์กับผู้ใช้งาน
  • โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
  • ตัวแปรและโครงสร้างของเรคอร์ด
  • ตรรกะโปรแกรม(Logic) 
3. พัฒนาอัลกอลิทึม
  • ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของอัลกิริทึมที่ออกมา
  • ซูโดโค้ดเป็นตัวแทนอัลกอริทึมเพื่อใช้แก้ไขปัญาหาทางคอมพิวเตอร์
4. ตรวจสอบความถูกต้องอัลกอลิทึม
  • เป็นขั้นตอนที่สำคัญที่สุด
  • ตรวจสอบทั้งตรรกะของอัลกอริทึมตัวแปรหลักและการนำข้อมูลทดสอบเข้าไปประมวลผลในแต่ละขั้นตอน
5. เขียนโปรแกรม
  • นำอัลกอริทึมที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม(ชุดคำสั่ง)
  • เลือกใช้ภาษาระดับสูงเพื่อใช้เขียนโปรแกรม เช่น c,PASCAL เป็นต้น
6. ทดสอบโปรแกรม
  • นำข้อมูลป้อนเข้าไปเพื่อทดสอบบนเครื่องกับโปรแกรมที่ได้เขียนขึ้นว่าถูกต้องหรือไม่
  • การตรวจสอบ
  • รูปแบบชุดคำสั่ง(Syntax Errors)
  • โปรแกรม(Logic Errors)
  • ข้อมูลทดสอบต้องมีความแตกต่างกันออกไปตามแต่ละสภาพแวดล้อม
7. จัดทำเอกสารและบำรุงโปรแกรม
  • การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำขึ้นตั้งแต่ขั้นตอน การกำหนดปัญหาจนถึงขั้นตอน
    สุดท้าย คือการทดสอบผลลัพธ์
  • เอกสารประกอบโปรแกรมประกอบด้วย
  • เอกสารภายนอก(External document) เช่น ผังโครงสร้างอัลกอริทึมที่ใช้แก้ปัญหาและผลของการทดสอบข้อมูล
  • เอกสารภายใน(Internal document) คือ ชุดคำสั่งในโปรมแกรม
  • การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับการดูแลและปรับปรุงโปรแกรม
วิธีการออกแบบโปรแกรม
  • การออกแบบโปรแกรมแบบ Procedure-Driven
    แนวความคิด>>มีกระบวนการ(Processes)หรือฟังก์ชัน(Function)
  • การออกแบบโปรแกรมแบบ Event-Driven
    แนวความคิด>>เหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อ
    โปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
  • การออกแบบโปรแกรมแบบ Data-Driven
    แนวความคิด>>ข้อมูลในโปรแกรมมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
    และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
    ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
    มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
การเขียนโปรแกรมแบบ Procedural และ Object-Oriented
  • การเขียนโปรแกรมแบบบนลงล่าง(Top-Down Development)
  • การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
  • การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program  Design Techniques)
  • ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้นในเงื่อนไขกรณีต่างๆ
  • โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
  • ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
  • ลดเวลาในการพัฒนาโปรแกรม
ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่างานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
คุณสมบัติของอัลกอริทึมที่ดีในการแก้ปัญหาทางคอมพิวเตอร์
  • ไม่กำกวม อ่านแล้วเข้าใจง่าย
  • ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
  • กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่ายเพียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
  • อัลกอลิทึมต้องมีจุดสิ้นสุด
หลักวิธีการเขียนซูโดโค้ด
  • ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
  • ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
  • ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
  • แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
  • กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
Six Basic Computer Operations
รับข้อมูลได้ (input device)
  • อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บ ข้อมูล  เช่น ดิสก์ หรือเทป
  • ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
    -read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
    -get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้
การแสดงผลลัพธ์จะใช้คำกิริยา
  •      -print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
  •      -write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
  •     -put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
คอมพิวเตอร์สามารถคำนวณได้
สัญลักษณ์ที่ใช้ในการคำนวณ
          +   ใช้แทนการบวก (Add)
          -    ใช้แทนการลบ (subtract)
          *     ใช้แทนการคูณ (multiply)
          /     ใช้แทนการหาร (divide)
         ()     ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้
สามารถทำได้ 3 รูปแบบ ดังนี้
  • ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
  • ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
  • ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
คอมพิวเตอร์สามารถเปรียบเทียบ และ เลือกการทำงานได้
  • ใช้คำ if…then…else และจบด้วย end if เสมอ
คอมพิวเตอร์สามารถทำงานซ้ำๆได้
  • ใช้คำ dowhile…enddo หรือ repeat..until
The Three Basic Control Structures
  • The Three Basic Control Structures
    แบบเรียงลำดับ (Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงล่าง
  • แบบเลือกการทำงาน (Selection)
    เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
    if…
    then….
    else ….
    end if
  • แบบทำงานซ้ำ (Repetition)
    dowhile จะทำงานซ้ำไปเรื่อยๆ เมื่อตรงกับเงื่อนไข
    จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะหลุดออกจากลูป
    dowhile condition p is true
    statement block
    enddo
    ส่วน repeat …. until จะทำการ execute statement
    ก่อนเช็คเงื่อนไข
    repeat
    statement
    statement
    until condition is true

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

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