วันพฤหัสบดีที่ 31 กรกฎาคม พ.ศ. 2557

หน้าปก





สาระการเรียนรู้วิชา การออกแบบโปรแกรมคอมพิวเตอร์

สาขาวิชา คอมพิวเตอร์ธุรกิจ

คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฎเพชรบุรี



จัดทำโดย




นายกฤษฎา  ด่วนดี


รหัสนักศึกษา 564435128





หน่วยการเรียนรู้นี้เป็นส่วนหนึ่งของวิชา

การออกแบบโปรแกรมคอมพิวเตอร์

(อาจารย์ตวงสิทธิ์  สนขำ)

วันพุธที่ 30 กรกฎาคม พ.ศ. 2557

ซูโดโค้ด ( psudocodes )

      เป็นการอธิบายขั้นตอนการทำงานโปรแกรม โดยใช้คำผสมระหว่างภาษาอังกฤษ และ การเขียนโปรแกรมโครงสร้าง อาจจะใช้ภาษาไทยแต่ทางที่ดีควรเขียนภาษาอังกฤษ โดยให้เขียนโปรแกรมพัฒนาขั้นตอนต่างๆ ให้เป็นโปรแกรมได้ง่ายขึ้น

การเขียนรหัสเทียม

     การเขียนรหัสเทียม (pseudo code) อ่านว่า ซูโดโค้ด คือการอธิบายลำดับขั้นตอนการทำงานอย่างละเอียด การนำขั้นตอนประมวลผลมาเขียนผังงานหรือรหัสเทียมและอาจเขียนทั้งสองแบบ เพื่อนำผังงานหรือรหัสเทียมไปใช้ในการประกอบการเขียนโปรแกรมต่อไป โดยขั้นอยู่กับว่าต้องการนำโปรแกรม หรือภาษาคอมพิวเตอร์ภาษาใดมาใช้ในการเขียนโปรแกรมหรือใช้ในการแก้ปัญหา

ลักษณะของรหัสเทียม

   - กำหนดจุดเริ่มต้น " begin " และ จุดสิ้นสุด " end "
   - ใช้คำที่สามารถเข้าใจได้ง่าย
   - การเขียนรหัสเทียมแต่ละคำสั่งควรเขียนบรรทัดๆ
   - การเขียนรหัสเทียมต้องไม่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง
   - ควรมีการจัดย่อหน้าของชุดคำสั่งเป็นกลุ่มเดียวกัน เพื่อง่ายต่อการอ่าน
   - การเขียนรหัสเทียมจะเขียนบนล่าง และมีทางเข้าหนึ่งทางออกหนึ่งทาง
   - การเขียนรหัสเทียมจะไม่เขียนหมายเลขกำกับแต่ละขั้นตอน

รูปการแสดงลักษณะของรหัสเทียม


 การเขียนรหัสเทียมจากลำดับขั้นตอนของวิธีการประมวลผล
         การเขียนรหัสเทียมจากลำดับขั้นตอนการประมวลผลหรือจากผังงาน เป็นขั้นตอนวิธีการทำงานในแบบข้อความ ขั้นตอนต่อไป การเปลี่ยนจากการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความเป็นคำสั่งเทียม

จากลำดับขั้นตอนการทำงานของข้อความ เพื่อหาค่าผลรวมดังตารางต่อไปนี้

     การเขียนรหัสเทียมจากขั้นตอนการทำงานแบบต่างๆ
          การเขียนรหัสเทียมจากขั้นตอนการทำงานแบบต่างๆ เริ่มการทำงานแบบลำดับทำงานแบบข้อต่อข้อ ส่วนที่ลักษณะการทำงานแบบเลือกทำ จะเป็นรหัสเทียมว่า if,then,else
       
      " if " ใช้แทนคำว่า ถ้า
      " then " ใช้แทนคำว่า แล้วทำ
      " else " ใช้แทนคำว่า มิฉะนั้นแล้ว

     ส่วนลักษณะการทำงานแบบวนซ้ำจะใช้คำสั่ง For,While,Do..while
        
        While ใช้แทนคำว่า ทำในขณะที่
         Do   ใช้แทนคำว่า    ทำ

    ตัวอย่างการเขียน ซูโดโค้ดในการหาผลบวกของเลข 3 จำนวน ที่รับเข้ามาทางแป้นพิมพ์


     ตัวอย่าง การเขียนซูโดโค้ด ในการคำนวณหาพื้นที่สามเหลี่ยม



      ตัวอย่าง การอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความ และ รหัสผ่าน


       จากผังงานด้านบน มีการทำงานทั้งหมด 5 การทำงาน สามารถเขียนการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความแบบนี้
            
           1.เริ่มการทำงาน
           2.รับค่า Base และ ค่า high
           3.คำนวณค่าของ Answer เท่ากับ 0.5 *Base*High
           4.แสดงค่าของ Answer
           5.จบการทำงาน





วันอังคารที่ 29 กรกฎาคม พ.ศ. 2557

ผังงาน ( flowchart )

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

ประเภทผังงาน
ผังงานที่เราพบเห็นทั่วไปมี 2 ระบบดังนี้
   1. ผังงานระบบ  เป็นผังงานที่ใช้แสดงขั้นตอนการทำงานในระบบงาน ในลักษณะของภาพรวมโดยแสดงทิศทางการทำงานในระบบ
   2. ผังงานโปรแกรม  เป็นผังงานที่แสดงอัลกอริทึมของโปรแกรมในผังงาน การเขียนผังงานชนิดนี้อาจเขียนมาจากผังงานระบบ เพื่อที่จะให้ได้มาซึ่งผลลัพธ์ที่ต้องการ แต่โปรแกรมอาจใช้วิธีการอื่นในการเขียนอัลกอริทึมได้
สัญลักษณ์ของผังงานโปรแกรม ( program flowchart )
       สัญลักษณ์มาตรฐานต่างๆ  ที่เรียกว่า  สัญลักษณ์  ANSI   American  National   Stanard  Institute ) ในการสร้างผังงาน สัญลักษณ์ ดังนี้


รายละเอียดของสัญลักษณ์ผังงาน

1. จุดเริ่มต้นและจุดสิ้นสุดของผังงาน
2. การกำหนดค่าและการคำนวณ และการประมวลผล
3. การรับข้อมูลเข้าและการนำข้อมูลออก
4. การรับข้อมูลเข้าทางแป้นพิมพ์
5. การแสดงผลข้อมูลออกทางจอภาพ
6. การแสดงผลข้อมูลออกทางเครื่องพิมพ์
7. การตัดสินใจ



    1) จุดเริ่มต้นกับจุดสิ้นสุดของผังงาน
     
         สัญลักษณ์ที่ใช้สำหรับจุดเริ่มต้นกับจุดสิ้นสุด จะใช้สัญลักษณ์เป็นรูปสี่เหลี่ยมปลายโค้งมน เขียนภาษาอังกฤษเป็นจุดเริ่มต้น และ จุดสิ้นสุด เช่น start / end


    2) การกำหนดค่าและการคำนวณ และการประมวลผล
          สัญลักษณืที่ใช้สำหรับการคำนวณค่า การคำนวณ และ การประมวลผลของผังงาน จะใช้สัญลักษณ์สี่เหลี่ยมพื้นผ้า


    3) การรับข้อมูลเข้าและการนำข้อมูลออก
             การรับข้อมูลเข้าและการนำข้อมูลออก สัญลักษณ์ที่ใช้คือรูปสี่เหลี่ยมด้านขนาน ใช้คำอธิบาย "read" , "input" , "scanf" หรือ "รับค่า" ใช้สำหรับการแสดงผล ใช้คำอธิบาย "write" "output","printf หรือ "แสดงค่า"

   4) การรับข้อมูลเข้าทางแป้นพิมพ์
            สัญลักษณืของผังงานที่ใช้สำหรับป้อนข้อมูลเข้าทางแป้นพิมพ์ ใช้สัญลักษณืเป็น
สี่เหลี่ยมคางหมูแบบหงายขึ้น



    5) การแสดงผลข้อมูลออกทางจอภาพ
        สัญลักษณ์สำหรับแสดงผลออกทางจอภาพของผังงาน ใช้สัญลักษณ์ตามรูปด้านล่างนี้


     6) การแสดงผลข้อมูลออกทางเครื่องพิมพ์
           สัญลักษณ์แสดงผลลัพธ์ออกทางเครื่องพิมพ์ เพื่อแสดงข้อมูลออกทางเครื่องพิมพ์เข้าและออก อย่างละ 1 ทิศทาง

ึ    7) การตัดสินใจ
       สัญลักษณ์ที่ใช้สำหรับตรวจสอบเงื่อนไข เพื่อตัดสินใจเลือกการกระทำ สัญลักษณ์ที่ใช้ในการกำหนดด้านในคือ true , false , <.>


กำหนดเงื่อนไข แบบ 2 ทางเลือก

กำหนดเงื่อนไข แบบหลายทางเลือก


คำสั่งควบคุมวนซ้ำแบบ for
      คำสั่งวนซ้ำการควบคุมการทำงานวนซ้ำ ลักษณะแจ้งจำนวนรอบการทำงาน อาจป้อนจำนวนผ่านทางแป้นพิมพ์ เพื่อจัดเก็บตัวแปร ดังนั้นในส่วนของคำสั่งต้องการค่า 3 ค่า คือ ค่าเริ่มต้นนับรอบ ค่าสิ้นสุด และอัตราเพิ่มแต่ละรอบ


คำสั่งควบคุมวนซ้ำแบบ while
    ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีการตรวจสอบเงื่อนไข การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขให้ระบบตรวจสอบเงื่อนไขในหน่วยความจำเป็น 1 (ค่าจริง) หรือได้ค่าเป็น 0 (ค่าเท็จ) กรณีค่านิพจน์ตรรกะเป็นจริง จึงวนซ้ำกลุ่มคำสั่งภายในลักษณ์ {} ต่อจาก while เมื่อนิพจน์ตรรกะได้ค่าเป็นเท็จจะดำเนินงานคำสั่งหลังเครื่องหมายปีกกาผิด {} ของคำสั่ง while


คำสั่งควบคุมการวนซ้ำแบบ do-while
    ประสิทธิภาพคำสั่ง ควบคุมการวนซ้ำ ควบคุมการวนซ้า ลักษณะทำงาน 1 รอบก่อน แล้วจึงตรวจสอบนิพจน์ตรรกะ ทั้งนี้หากค่านิพจน์ตรรกะ เป็นจริง จะวนซ้ำ แต่หากค่าเป็นเท็จจะไม่วนซ้ำ


การเขียนผังงานแบบมีทางเลือก

    ตัวอย่าง เขียนผังงานแสดงค่าของตัวเลขที่เป็ขคู่ หรือ เลขคี่ แล้วรับค่าข้อมูลตัวเลขทางแป้นพิมพ์ จากปัญหาดังกล่าว สามารถเขียนเป็นขั่นตอน ดังนี้
   - รับตัวเลข เก็บไว้ในตัวแปร A
   - ถ้า A MOD 2 = 1 จริง ให้แสดงข้อความว่า เลขคี่
   - ถ้า A MOD 2 = 1 เท็จ ให้แสดงข้อความว่า เลขคี่
          ทั้งนี้ MOD (%) คือ การหารเอาเฉพาะเศษ


แบบวนรอบ ( loop structure)
      การทำงานแบบวนรอบหรือทำซ้ำมีการทำงานที่มีการตัดสินใจตามเงื่อนไขการทำซ้ำ เงื่อนไขจะมีผลกระบวนการหนึ่งลักษณะทำงานจะคล้ายกับโครงสร้างการทำงานแบบเลือก แต่การเลือกนี้เป็นการตัดสินใจว่าจะทำงานในกระบวนการทำงานที่ผ่านมาซ้ำหรือไม่ แผนผังที่เขียนตามโครงสร้างการทำงานลักษณะนี้

 ตัวอย่าง จงเขียนผังงานแสดงการคำนวณหาผลบวกของตัวเลย 1 ถึง 10



หลักการออกแบบและพัฒนาโปรแกรม

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

โดยทั่วไปนิยมนิยมแบ่งวิธีการวิเคราะห์งานเป็น 5 หัวข้อ ได้แก่

1.  สิ่งที่ต้องการ          เป็นการบอกให้ทราบว่างานที่ต้องการให้ทำมีอะไรบ้าง
2.   รูปแบบผลลัพธ์     เป็นการศึกษาถึงรูปแบบหรือลักษณะของการแสดงข้อมูล
3.   ข้อมูลนำเข้า          ข้อมูลที่ใช้ประมวลผลมีอะไรบ้าง
4.   ตัวแปรที่ใช้            บอกว่าใช้ตัวแปรอะไรแทนข้อมูลนำเข้า  หรือแทนค่าอยู่ระหว่างการประมวลผล          ตลอดจนจัวแปรที่ใช้แสดง
5.  วิธีการประมวลผล  เป็นขั้นตอนของคำสั่งหรือวิธีการที่ใช้ในโปรแกรม  ึ่งขั้นตอนต่างๆ จะต้องเรียง           ลำดับก่อนหลัง สลับลำดับไม่ได้เพราะจะทำให้ไม่สามารถประมวลผลหรือทำให้ได้ผลลัพธ์ไม่ตรง           ตามที่ต้องการ

ตัวอย่างการวิเคราะห์ความต้องการ

      ตัวอย่างที่ 1 
      โจทย์  จงแก้ปัญหาเพื่อหาพื้นที่ของรูปสี่เหลี่ยม  โดยรับค่าความกว้างและความสูง  จากผู้ใช้งานทางแป้นพิมพ์

 วิเคราะห์งาน

1.   สิ่งที่ต้องการ
           -  พื้นที่ของรูปสี่เหลี่ยม
           -  รับค่าข้อมูลความกว้างและความสูงจากแป้นพิมพ์
2.  รูปแบบผลลัพธ์
           -  แสดงผลลัพธ์ของพื้นที่รูปสี่เหลี่ยมเป็นตัวเลข
3.  ข้อมูลนำเข้า
           -  ค่าความกว้างของรูปสี่เหลี่ยม
           -  ค่าความสูงของรูปสี่เหลี่ยม
4.  ตัวแปรที่ใช้
           -  ค่า  w แทน  ความกว้างของรูปสี่เหลี่ยม
           -  ค่า  H  แทน  ความสูงของรูปสี่เหลี่ยม

5. วิธีการประมวลผล
           1.  เริ่มต้น
           2.  รับค่า  w  และ H
           3.  คำนวณค่าพื้นที่ของรูปสี่เหลี่ยมจากสูตร  พื้นที่สี่เหลี่ยม  =  w* H
           4.  แสดงค่าพื้นที่สี่เหลี่ยม
           5.  จบการทำงาน


ชนิดข้อมูลและขนาด  (Date Type and Size )

        ตัวแปรที่ประกาศใช้งานในโปรแกรม จำเป็นต้องถูกระบุชนิดข้อมูล เพื่อให้ทราบตัวแปรเหล่านั้นจัดเก็บข้อมูลชนิดใดลงไป สำหรับในภาษา C จะมีชนิดข้อมูลพื้นฐานไม่กี่ชนิด คือ

ชนิดข้อมูล
ความหมาย
char
ข้อมูลชนิดตัวอักษร ( character )
Int
ข้อมูลชนิดเลขจำนวนเต็ม ( integer )
float
ข้อมูลชนิดเลขจำนวนจริง ( real  or  floating point )
double
ข้อมูลชนิดเลขจำนวนจริง 2 เท่า ( double  precision float )

   และยังสามารถปรับปรุงด้วยการเพิ่มเครื่องหมายนำหน้าได้อีก ซึ่งประกอบด้วย

                  signed       unsigned           long        short