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

หน้าปก




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

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

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


จัดทำโดย



นายนพดล วิภูษณะวัฒน์


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





สาขาวิชา คอมพิวเตอร์ธุรกิจ
คณะวิทยาการจัดการ
มหาวิทยาลัยราชภัฏเพชรบุรี


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

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

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


ซูโดโค้ด ( psudocodes )

ซูโดโค้ด ( psudocodes )
      เป็นการอธิบายขั้นตอนการทำงานโปรแกรม โดยใช้คำผสมระหว่างภาษาอังกฤษ และ การเขียนโปรแกรมโครงสร้าง อาจจะใช้ภาษาไทยแต่ทางที่ดีควรเขียนภาษาอังกฤษ โดยให้เขียนโปรแกรมพัฒนาขั้นตอนต่างๆ ให้เป็นโปรแกรมได้ง่ายขึ้น
การเขียนรหัสเทียม
     การเขียนรหัสเทียม (pseudo code) อ่านว่า ซูโดโค้ด คือการอธิบายลำดับขั้นตอนการทำงานอย่างละเอียด การนำขั้นตอนประมวลผลมาเขียนผังงานหรือรหัสเทียมและอาจเขียนทั้งสองแบบ เพื่อนำผังงานหรือรหัสเทียมไปใช้ในการประกอบการเขียนโปรแกรมต่อไป โดยขั้นอยู่กับว่าต้องการนำโปรแกรม หรือภาษาคอมพิวเตอร์ภาษาใดมาใช้ในการเขียนโปรแกรมหรือใช้ในการแก้ปัญหา
ลักษณะของรหัสเทียม
   - กำหนดจุดเริ่มต้น " begin " และ จุดสิ้นสุด " end "
   - ใช้คำที่สามารถเข้าใจได้ง่าย
   - การเขียนรหัสเทียมแต่ละคำสั่งควรเขียนบรรทัดๆ
   - การเขียนรหัสเทียมต้องไม่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง
   - ควรมีการจัดย่อหน้าของชุดคำสั่งเป็นกลุ่มเดียวกัน เพื่อง่ายต่อการอ่าน
   - การเขียนรหัสเทียมจะเขียนบนล่าง และมีทางเข้าหนึ่งทางออกหนึ่งทาง
   - การเขียนรหัสเทียมจะไม่เขียนหมายเลขกำกับแต่ละขั้นตอน
การเขียนรหัสเทียมจากลำดับขั้นตอนของวิธีการประมวลผล
         การเขียนรหัสเทียมจากลำดับขั้นตอนการประมวลผลหรือจากผังงาน เป็นขั้นตอนวิธีการทำงานในแบบข้อความ ขั้นตอนต่อไป การเปลี่ยนจากการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความเป็นคำสั่งเทียม
จากลำดับขั้นตอนการทำงานของข้อความ เพื่อหาค่าผลรวมดังตารางต่อไปนี้
การเขียนรหัสเทียมจากขั้นตอนการทำงานแบบต่างๆ
          การเขียนรหัสเทียมจากขั้นตอนการทำงานแบบต่างๆ เริ่มการทำงานแบบลำดับทำงานแบบข้อต่อข้อ ส่วนที่ลักษณะการทำงานแบบเลือกทำ จะเป็นรหัสเทียมว่า if,then,else
       
      " if " ใช้แทนคำว่า ถ้า
      " then " ใช้แทนคำว่า แล้วทำ
      " else " ใช้แทนคำว่า มิฉะนั้นแล้ว

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


1. count = 0
2. sum = 0
3. INPUT (value)
4. IF value > 0  THEN
              count = count + 1
               sum = sum + value
               GOTO 3
      ELSE GOTO 5
5. avarage = sum/count
6. OUTPUT (avarage)
7. END

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

ผังงานและความสำพันธ์ทางตรรกะแบบต่างๆๆ

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

1.ความสัมพันธ์ทางตรรกะแบบทำตามลำดับ  (sequential algorithm) เป็นอัลกอริทึมที่กิจกรรมจะเรียงตามลำดับการทำก่อนหลังโดยยึดหลัก จากบนลงล่าง จากซ้ายไปขวา
2.ความสัมพันธ์ทางตรรกะแบบมีเงื่อนไข (decision algorithm)  ความสัมพันธ์ทางตรรกะแบบมีเงื่อนไขให้ตรวจสอบเพื่อการตัดสินใจ ยังแบ่งได้ตามลักษณะทางออกของผลการตรวจสอบได้เป็น 2 แบบ คือ แบบทางเลือก และแบบหลายทางเลือก ซึ่งกล่าวดังนี้

2.1 ตรวจสอบเงื่อนไขแบบสองทางเลือกชนิดกิจกรรมด้านเดียว (single selection)หรือโครงสร้าง if 
                      จะตรวจสอบเงื่อนไข  ถ้าเงื่อนไขเป็นจริงจะไปทำกิจกรรมแล้วออกจากโครงสร้าง ถ้าเงื่อนไขเป็นเท็จจะออกจากโครงสร้างเลยโดยไม่ทำกิจกรรมใดๆ


2.2 ตรวจสอบเงื่อนไขแบบสองทางเลือก(double selection)หรือโครงสร้าง if/else
                            จะตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงก็จะไปทำกิจกรรมที่ 1 แล้วออกจากโครงสร้าง แต่ถ้าเงื่อนไขเป็นเท็จก็จะทำกิจกรรม 2 แล้วออกจากโครงสร้าง
2.3 ตรวจสอบเงื่อนไขแบบหลายทางเลือก
      1.แบบโครงสร้าง if/else   if/else....หลายครั้ง   เป็นแบบตรวจสอบเงื่อนไขหลายชั้น
    2.แบบโครงสร้าง switch (หรือ case ในภาษาปาสกาล)  เป็นการตรวจสอบเงื่อนไขว่าตัวแปรตรวจสอบมีค่าตรงกับค่าใด ซึ่งค่าดังกล่าวจะเป็นค่าที่บ่งชี้กรณีที่ต้องการ



3.ความสัมพันธ์ทางตรรกะแบบทำซ้ำ (repetition)
                   การทำซ้ำคือการการวนเป็นรอบๆ โดยทำกิจกรรมเดิมซ้ำอีก อาจเรียกว่าการวนลูป(Loop) ซึ่งมีโครงสร้างดั่งนี้
3.1 โครงสร้าง while  ลักษณะโครงสร้างการควบคุมจะตรวจสอบเงื่อนไขสิ้นสุดการวนซ้ำก่อน ถ้าผลการตรวจสอบยังไม่สิ้นสุดคือผลการตรวจสอบเป็นจริงก็ทำกิจกรรมนั้นซ้ำต่อไป

3.2 โครงสร้าง do/while ในภาษาซี และ repeat/until  ลักษณะโครงสร้างการควบคุมจะกระทำกิจกรรมครั้งแรก 1 ครั้งเสมอ แล้วจึงตรวจสอบเงื่อนไขการสิ้นสุดการวนซ้ำ ถ้าผลการตรวจสอบยังไม่สิ้นสุดก็กลับไปทำกิจกรรมเดิมซ้ำอีก

do  while



repeat/until 

3.3 โครงสร้าง for ลักษณะโครงสร้างการควบคุม เป็นการวนซ้ำที่รู้จำนวนรอบแน่นอนโดยมีการกำหนดค่าเริ่มต้น ค่าสิ้นสุด และค่าเปลี่ยนแปลงแต่ละรอบของตัวแปรนับรอบ และเงื่อนไขการตรวจสอบการสิ้นสุดของการวนซ้ำ การวนซ้ำแบบ for มี2รูปแบบ ดังนี้
รูปแบบที่ 1 แบบแยกกระจายกิจกรรมควบคุม  เป็นการเขียนโดยแยกกิจกรรมส่วนหน้าที่ควบคุมการวนซ้ำ





รูปแบบที่2 แบบรวมกิจกรรมควบคุม      เป็นการเขียนผังงานโดยรวมกิจกรรมควบคุมการทำงานวนซ้ำทั้งหมดไว้ในสัญลักษณ์เตรียมการเพียงรูปเดียว


อ้างอิง  ผส.สานนท์ เจริญฉาย,หนังสือการเขียนโปรแกรมและอัลกอริทึม 



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

ผังงานและความสัมพันธ์ทางตรรกะ

              ตัวโปรแกรมก็คือลำดับคำสั่งที่เขียนด้วยภาษาคอมพิวเตอร์  ซึ่งบางทีเขาเรียกว่า รหัสคำสั่ง  ซึ่งอัลกอริทึมที่เขียนด้วยภาษาคอมพิวเตอร์ อันเป็นที่มาของโปรแกรมนั้นๆ

ประโยชน์ที่ได้จากผังงาน

1.ใช้แสดงความคิดให้เห็นเป็นภาพลักษณ์
2.ใช้เป็นสื่อกลางในการติดต่อ ประสานความคิดระหว่างผู้เกี่ยวข้อง เช่นระหว่างนักวิเคราะห์ระบบกับผู้เขียนโปรแกรม
3.ช่วยในกสรทดสอบทบทวนขั้นตอนการทำงาน เพื่อหาข้อผิดพลาด (error)


ประเภทผังงาน
        ผังงานกระทำได้ 2 ระบบ ดังนี้
1.ผังงานระบบ(system flowchart) เป็นผังงานระดับกว้าง เป็นการแสดงขั้นตอนการทำงานทั้งหมดของระบบ หมายถึงส่วนต่างๆที่เกี่ยวข้องกับงานทั้งหมด

2.ผังงานโปรแกรม (programming flowchart) เป็นผังงานระดับละเอียด จะะแสดงการทำงานของแต่ละคำสั่งโดยระเอียด




สัญลักษณ์










ค่าคงที่ ตัวแปร และนิพจน์

การทำงานของโปรแกรมโดยจริงแล้ว มีหลักใหญ่อยู่ที่การเก็บข้อมูลเรียกใช้ และเปลี่ยนแปลงค่าของข้อมูลเท่านั้น ข้อมูลเหล่าจะจัดเก็บภายใต้ชื่อของตัวแปรอาจจะเป็นตัวแปรที่สามารถเปลี่ยนค่าได้(variable)  หรือตัวแปรที่เก็ยค่าคงที่ตลอกทั้โปรแกรม (symbolic constant)

ชนิดของข้อมูลและขนาดที่ใช้เก็บ
           
ชนิด
ความหมาย
char
ชนิดตัวอักษรใช้เน้อที่ 1 ไบต์ (คือ 8 บิต)ในการเก็บ
integer
ชนิดเลขจำนวนเต็มขนาดของเนื้อที่ในการเก็บเท่ากับขนาดของโปรเซสเซอร์
float
ชนิดเลขจำนวนจริงแบบ single-precision  ขนาดเนื้อที่ที่ใช้ขึ้นอยู่กับชนิดของเครื่อง
double
ชนิดเลขจำนวนจริงแบบ double- precision ขนาดเนื้อที่ใช้ขึ้นอยู่กับชนิดของเครื่อง เป็น 2 เท่าของ float

          ตารางแสดงขนาดของเนื้อที่ทีใช้ในการเก็ยข้อมูลชนิดต่างๆ


IBM PC
DEC PDP-11
NCR TOWER 32/600
char
8
8
8
integer
16
16
32
short
16
16
16
long
32
32
64
float
32
32
32
double
64
64
64

ตัวอย่าง


เป็นฟังก์ชันให้หาขนาดความยาวขอข้อความหนึ่งที่ส่งผ่านเป็นพารามิเตอร์ให้กับฟังก์ชัน


strlength(s)  /*return length of s */
char s[ ];
{
       int  i ;
       i  =  0 ;
       while (s[i] != '\0')
                  i = i+1 ;
       return(i);
}










อ้างอิง  จากหนังสือ  การโปรแกรมภาษา C  ของ ดร.ดวงแก้ว สวามิภักดิ์