วันอาทิตย์ที่ 20 กรกฎาคม พ.ศ. 2557





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


จัดทำโดย


นางสาว ลีลาวดี  พุ่มกระจ่าง
รหัสนักศึกษา  564435115


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


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



หน่วยการเรียนนี้เป็นส่วนหนึ่งของวิชา
การออกแบบโปรแกรมคอมพิวเตอร๋



มหาวิทยาลัยราชภัฏ เพชรบุรี









ชนิดของข้อมูลตัวแปลที่พบในการเขียน อัลกอริทึม ส่วนใหญ่

Integer     แปลว่า     เก็บข้อมูล จำนวนเต็ม
Real         แปลว่า     เก็บข้อมูล ทศนิยม ( จำนวนจริง )
Sting        แปลว่า     เก็บข้อมูลตัวเลขตัวเลข หรือข้อความ 1 ตัว
Char        แปลว่า     เก็บข้อมูล ตัวอักษร
Boolean   แปลว่า     เก็บค่าตรรกะที่มี 2 ค่า คือ จริง (T)  เท็จ (F)



1.ตัวเลขจำนวนเต็ม (Integer)  เช่น 0,1
ทศนิยม (Float/Real)  ที่สามารถนำมาคำนวณได้เช่น 00.00
3 ตัวอักษร (Char) 1 ค่าตัวอักษร อยู่ภายใต้เครื่องหมายฝนทอง (Single Quote) ' ' สามารถประกอบด้วย ข้อมูลแบบตัวเลขได้คือ 0-9 (นำมาคำนวณไม่ได้) A-Z , a-z , $ # % ^ & ! @ + - * / \   ตัวอย่าง 'Az' ผิดเพราะรูปแบบเป็น Char และค่ามากกว่า ค่า    ตัวอย่างที่ถูกต้องคือ 'F' , 'M' , '0' , '9'
4 .ข้อความ  (String)  อยู่ภายใต้เครื่องหมายฟันหนู " " (Double Quote) ใช้กับตัวอักษรตั้งแต่1ค่าขึ้นไป
   ตัวอย่าง "A" , "564435115"



ตาราง ตรรกะ แสดง จริงหรือเท็จ
  


A&&BA ll B
A
 B
AandB
 A Or B
 T
 T
T
 F
 F
 T
 F
 T
 F
 T
 F
 F
 F
 F

เครื่องหมายการเปรียบเทียบ

ตัวดำเนินการ           กระบวนการ
    ==                        เท่ากับ                        
    !=                       ไม่เท่ากับ
   <=                 น้อยกว่าหรือเท่ากับ
   >=                  มากกว่าหรือเท่ากับ
    >                           มากว่า
    <                          น้อยกว่า

เครื่องหมายการคำนวณ ทางคณิตศาสตร์



ลำดับความสำคัญของเครื่องหมาย

















ลำดับความสำคัญของ   Operator


ลำดับความสำคัญ         โอเปอเรเตอร์      ลำดับของการโอเปอเรเตอร์
          1                             ()                            ซ้ายไปขวา
          2                           !,++,--                      ซ้ายไปขวา
          3                             ^                                   -
          4                           *,/,%                        ซ้ายไปขวา
          5                            +,-                           ซ้ายไปขวา
          6                       <,<=,>,>=                   ซ้ายไปขวา
          7                          =,!=                           ซ้ายไปขวา
          8                             &&                          ซ้ายไปขวา
          9                             l  l                            ซ้ายไปขวา
         10                *=,/=,%=,+=,-=                ซ้ายไปขวา





อัลกอริธึม 

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



ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ ( อัลกอริทึม )

มีทั้งหมด 5 ขั้นตอน ดังนี้


1) ระบุสิ่งที่โจทย์ต้องการ
2) รูปแบบผลลัพธ์
3) ข้อมูลนำเข้า
4) ประกาศตัวแปร
5) ประมวลผล
5.1 เริ่ม
5.2 ประกาศค่าตัวแปร
5.3 กำหนดให้เป็น 0
5.4 Input (ข้อมูลนำเข้า)
5.5 ประมวลผล
5.6 แสดงผล
5.7 จบ

ตัวอย่าง การเขียน อัลกอริทึม

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

     สิ่งที่โจทย์ต้องการ
                     
             พื่นที่รูปสามเหลี่ยม

     รูปแบบผลลัพธ์

           ค่าความสูง  => <รับค่า>
           ค่าความยาว => <รับค่า>
           พื้นที่สามเหลี่ยม => <แสดงค่า>

   ข้อมูลนำเข้า 

          ความสูง , ความยาว

   กำหนดตัวแปร
          Height , Base , Area  เป็น Real

    วิธีการประมวลผล

           Start


           ประกาศตัวแปร
                   Height , Base , Area  เป็น Real


           Input

                   Area

           ประมวลผล
                   Area = 0.5 *Height * Base


            แสดงผลลัพธ์
                  Area


                End









การเขียนผังงาน (Flowchart)

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

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

สัญลักษณ์ ในการเขียน  Flowchart








โครงสร้างโปรแกรม  มีทั้งหมด 3 แบบคือ

1 แบบ Structure
คือ แบบทำจากบนลงล่าง
2 แบบ เงื่อนไข
- 1 เงื่อนไข 1ทางเลือก
- 1 เงื่อนไข 2ทางเลือก
- หลายเงื่อนไข หลายทางเลือก
- 1 เงื่อนไข หลายทางเลือก
3 แบบ Loop
- For  คือแบบ รู้จำนวนรอบ ตัวเลขให้กระทำ 1-100 หรือการหาเลขคู่เลขคี่
- While คือแบบ ตรวจสอบเงื่อนไขก่อน จริงทำเท็จออก
- Do While คือแบบ ทำก่อน 1 รอบ แร้วตรวจสอบหาเงื่อนไขก่อน จริงทำเท็จออก


1. การทำงานแบบตาลำดับ  (Sequence)

    คือ การทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัด จากบรรทัดบนสุดไปจนถึงบรรทัดล่างสุด







2. การเลือกกระทำตามเขื่อนไข   
(Decision or Selection)

     คือ การสร้าง เงื่อนไขเพื่อให้เลือกทำงานถ้าหากเลือกทางได้ก็จะไปตามเงื่อนไขที่เลือก











3 การทำแบบวนรอบ หรือ  loop (Iteration Structure)

    คือ  การทำงานของรูปแบบนี่ จะเป็นการทำงานซ้ำ ๆ กัน หลาย ๆ ครั้งเท่าที่เราต้องการ (หรืออาจจะทำเพียงครั้งเดียว หรืออาจจะไม่มีการทำงานเลยก็ได้) ซึ่งการทำงานนี้จะขึ้นอยู่กับเงื่อนไขที่กำหนดให้












ซูโดโค้ด  (Pseudocode)

           เป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม โดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้าง ส่วนใหญ่มักใช้คำเฉพาะ (Reserve Word) ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่ ซูโดโค้ดที่ดี จะต้องมีความชัดเจน สั้น และได้ใจความ ข้อมูลต่าง ๆ ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร


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

Algorithm การหาพื้นที่สามเหลี่ยม                                Algorithm Average_Sum

1. เริ่มต้น                                                                            1. START

2. รับค่าความยาวของฐานมาเก็บใน ตัวแปร X                   2. READ X

3. รับค่าความยาวของสูงมาเก็บใน  ตัวแปรY                     3. READ Y 

4. คำนวณหาพื้นที่ ARRAY = ( X*Y ) / 2                           4. Compute ARRAY = ( X*Y ) / 2 

5. แสดงผลพื้นที่                                                                 5. Print ARRAY 

จบ                                                                                       End


                                                        


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


รูปแบบการเขียนรหัสเทียม


ลำดับที่  ขั้นตอนการทำงาน   รูปแบบรหัสเที่ยม      ความหมาย

1            การรับข้อมูล                       Read                           อ่านค่าจากแฟ้มข้อมูล
                                                           Get                              รับค่าทางแป้นพิมพ์หรืออุปกรณ์นาเข้าอื่น

2             การคำนวณ                        +,-,*,/,^                          เครื่องหมายการกระทาทางคณิตศาสตร์
                                                           DIV,MOD                    การหารแบบปัดเศษและหารแบบเอาเศษ

3             การแสดงผลข้อมูล             Print                              แสดงผลลัพธ์ออกทางเครื่องพิมพ์
                                                           Write                            การบันทึกข้อมูลลงแฟ้มข้อมูล
                                                           Put,Output,Display      การแสดงผลลัพธ์ออกทางจอภาพ

4             การกำหนดค่า                      Initialize,Set                 กำหนดค่าเริ่มต้นให้กับตัวแปรที่ใช้
                                                            =                                   เก็บค่าผลลัพธ์ซึ่งอยู่ขวาของเครื่องหมา
                                                            Save,Store                  กำหนดค่าให้กับตัวแปร


5              การเปรียบเทียบ                    If…Else…                    การเปรียบเทียบค่า

6              การทางานวนรอบ               While/Do …While        ทดสอบเงื่อนไขถ้าจริงทาการวนรอบ 
                                                                                                   ถ้าไม่จริงก็ข้ามไป  ทำงานที่คำสั่งถัดไป









บรรณานุกรม






ได้จากความรู้ที่เรียนมาในห้อง โดย (อาจารย์  ตวงสิทธิ์  สนขำ)