วันพฤหัสบดีที่ 23 มิถุนายน พ.ศ. 2554

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

บทที่1 ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม
มีขั้นตอนดังนี้
(1)ขั้นตอนการพัฒนาโปรแกรม (Steps in Program Development)
1. กำหนดปัญหา(Define the Program)
  -Input
  -Output
  -Processing
2. ร่างรายละเอียดแนวทางการแก้ไขปัญหา(Outline the Solution) 
-แตกงานให้เป็นชิ้นงานย่อยๆ หรือเป็นขั้นเป็นตอน(หลังจากการกำหนดปัญหา)
-การร่างรายละเอียดแนวทางการการแก้ไขปัญหาต่างๆ ประกอบด้วย
  • ขั้นตอนการประมวลผลส่วนหลัก
  • ส่วนหลักของงานที่ได้มีการแตกย่อย
  • ส่วนความสัมพันธ์กับผู้ใช้งาน
  • โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
  • ตัวแปรและโครงสร้างของเรคอร์ด
  • ตรรกะโปรแกรม (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)
    -การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำตั้งแต่ขั้นตอนการกำหนดปัญหาจนถึงขั้นตอนสุดท้าย คือ การทดสอบผลลัพธ์
    -เอกสารประกอบโปรแกรมจะประกอบด้วย
  • เอกสารภายนอก เช่นแผงโครงสร้าง อัลกอริทึมที่ใช้แก้ไขปัญหาและผลของการทดสอบข้อมูล
  • เอกสารภายใน คือชุดคำสั่งในโปรแกรม
    -การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับงานดูแลและปรับปรุงโปรแกรม

(2.)วิธีการออกแบบโปรแกรม (Program Design Methodology)
     

  • วิธีการออกแบบโปรแกรม (Program Design Methodology)



  •     - แนวความคิดและมีกระบวนการ (Processes)หรือ ฟังก์ชัน(Function)

  • เอกสารภายใน คือชุดคำสั่งในโปรแกรม



  •     - แนวความคิดและเหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อโปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ

  • การออกแบบโปรแกรมแบบ Data-Driven
        - แนวความคิดและข้อมูลในโปรแกรมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
    และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
    ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
    มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ



  • 3.การเขียนโปรแกรมแบบ Procedural และ Object-Oriented

    • การเขียนโปรแกรมแบบบนลงล่าง(Top - Down Development)
    • การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
    • การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
    4.วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม(Objective of Structured Program Design Techniques)
    • ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้น ในเงื่อนไขกรณีต่างๆ
    • โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
    • ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
    • ลดเวลาในการพัฒนาโปรแกรม 
    5.ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
        -อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้

        -หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่า งานนั้นทำงานอย่างไร โดยจะประกอบเป็นชุดลำดับเป็นขั้นเป็นตอนที่ชัดเจน

    คุณสมบัติของอัลกอริทึมที่ดีในการแก้ปัญหาทางคอมพิวเตอร์
        -ไม่กำกวม อ่านแล้วเข้าใจง่าย
        -ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
        -กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่าย เพียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
        -ต้องมีจุดสิ้นสุด 


    ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่นำเสนอ ในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที

    หลักวิธีการเขียนซูโดโค้ด
        -ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
        -ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
        -ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
        -แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
        -กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล


    6.การใช้งานคอมพิวเตอร์ขั้นพื้นฐาน 6 ประการของคอมพิวเตอร์ (Six Basic Computer Operations) 1.รับข้อมูลได้ (input device) 


  • อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บข้อมูล

    เช่น ดิสก์ หรือเทป




  • ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด




  •  read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล




  •  get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
    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”

    3 สามารถแสดงผลลัพธ์ได้ (Cont.)


    • คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสารโต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น
    • คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate

      สัญลักษณ์ที่ใช้ในการคำนวณ
      + ใช้แทนการบวก (Add)
      - ใช้แทนการลบ (subtract)
      * ใช้แทนการคูณ (multiply)
      / ใช้แทนการหาร (divide)
      () ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด

      divide totalMarks by studentCount
      salesTax costPrice*0.10
      computeC=(F-32)*5/9


      4 กำหนดค่าตัวแปรได้ (storage) สามารถทำได้ 3 รูปแบบ ดังนี้ 
    • ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
    • ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
    • ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร

      5 เปรียบเทียบ หรือเลือกทำงานได้ (compare or decision)
    ใช้คำ if…then…else และจบด้วย end if เสมอ

         if employeeStatus is partTime then
         add to partTimeCount
    else
         add to fullTimeCount
    end if

    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
    7. The Three Basic Control Structures
       
    -แบบเรียงลำดับ(Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงไปล่าง
    -แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
    -แบบทำงานซ้ำ(Repetition)
    dowhile จะทำงานซ้ำไปเรื่อยๆ เมื่อตรงกับเงื่อนไข
    จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะหลุดออกจากลูป
    dowhile condition p is true
    statement block
    enddo
    ส่วน repeat …. until จะทำการ execute statement
    ก่อนเช็คเงื่อนไข
    repeat
    statement
    statement
    until condition is true









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

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