ALGORITHMS

อัลกอริทึม...  

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

ขั้นตอนการแก้ปัญหาโจทย์ทางคอมพิวเตอร์
     
       1.  กำหนดสิ่งที่โจทย์ต้องการ
       2.  กำหนดรูปแบบของผลลัพธ์ (Output)
       3.  กำหนดข้อมูลนำเข้า  (Input)
       4.  กำหนดตัวแปรและชนิดของตัวแปร
       5.  ขั้นตอนการประมวลผล
                 5.1  เริ่มต้นการทำงาน
                 5.2  กำหนดค่าเริ่มต้นให้กับตัวแปร
                 5.3  พิมพ์หัวรายงาน (ถ้ามีรายงาน)
                 5.4  รับข้อมูลเข้าทีละเรคอร์ด
                 5.5  ตรวจสอบข้อมูลว่าเป็นชุดสุดท้ายหรือไม่
                             5.5.1  ถ้าเป็นข้อมูลชุดสุดท้าย ให้ไปทำงานข้อ 5.11
                             5.5.2  ถ้าไม่ใช่ข้อมูลชุดสุดท้าย ให้ทำงานข้อต่อมา  (ข้อ 5,6)
                 5.6  คำนวณผลลัพธ์
                 5.7  เปรียบเทียบผลลัพธ์  (ถ้ามี)
                 5.8  เพิ่มค่าตัวแปรสะสม  (ถ้ามี)
                 5.9  พิมพ์ค่าผลลัพธ์ทีละเรคอร์ด
                 5.10  ย้อนกลับไปทำงานข้อ 5,4
                 5.11  พิมพ์สรุป  (ถ้ามี)
                 5.12  จบการทำงาน

   Example...1

         จงคำนวณค่าแรงของพนักงานรายชั่วโมง พร้อมเงินที่ต้องจ่ายแก่พนักงานแต่ละคนและจำนวนเงินทั้งสิ้นที่จะต้องจ่ายให้กับพนักงาน

   1.  สิ่งที่โจทย์ต้องการ
                      คำนวณค่าแรงให้พนักงาน และรวมยอดเงินที่ต้องจ่ายทั้งสิ้น

   2.  รูปแบบของผลลัพธ์  (Output)
                      Total Payment = 99.99

   3.  ข้อมูลนำเข้า  (Input)
                      รหัสพนักงาน ชื่อพนักงาน จำนวนชั่วโมงทำงาน อัตราค่าแรงต่อชั่วโมง

   4.  ตัวแปรและชนิด
                      Id_no     =   รหัสพนักงาน
                      name      =   ชื่อพนักงาน
                      hours      =   จำนวนชั่วโมงทำงาน
                      rate        =    อัตราค่าแรงต่อชั่วโมง
                      pay        =    ค่าแรงที่จ่ายให้กับพนักงานแต่ละคน
                      total       =    ยอดเงินรวมทั้งสิ้นที่ต้องจ่าย

   5.  ขั้นตอนการประมวลผล
                      5.1  กำหนดให้ค่าตัวแปร  pay , total  = 0
                      5.2  อ่านข้อมูล  Id_no , name , hours , rate
                      5.3  กำหนด  pay = hours * rate
                      5.4  พิมพ์ค่า  Id_no , name , hours , rate , pay
                      5.5  เก็บยอดรวมสะสมของค่าแรง ด้วยการกำหนดให้  total = total + pay
                      5.6  กลับไปทำขั้นตอนที่ 2 จนกระทั่งจบข้อมูล
                      5.7  แสดงผล  total
                      5.8  จบการทำงาน

............................................................................................................................

Example...2

     จงรับค่าตัวเลขตามจำนวนที่กำหนด  จากนั้นให้หาค่าเฉลี่ย ค่าสูงสุด และค่าต่ำสุดจากชุดตัวเลขที่ได้ป้อนเข้าไป

   1.  สิ่งที่โจทย์ต้องการ
                          หาค่าเฉลี่ย  ค่าสูงสุด  ค่าต่ำสุดจากชุดตัวเลข

   2.  รูปแบบของผลลัพธ์
                          Average    = 99.99
                          Maximum  = 99.99
                          Minimum   = 99.99

   3.  ข้อมูลนำเข้า (Input)
                          จำนวนตัวเลขที่ต้องการกรอก  และค่าตัวเลขทั้งหมดที่กรอกเข้าไป

   4.  ตัวแปรและชนิด
                           mLoop     =   จำนวนรอบของการทำซ้ำ
                           num(x)      =   ค่าตัวเลขที่กรอก  ซึ่งจัดเก็บไว้ในตัวแปรชนิด (Array)
                           sum          =   ผลรวมของชุดตัวเลขทั้งหมด
                           avg           =   ค่าเฉลี่ยของ sum
                           max          =   ตัวแปรที่เก็บค่าสูงสุด
                           min           =   ตัวแปรที่เก็บค่าต่ำสุด

   5.  ขั้นตอนการประมวลผล
                          5.1  กำหนดตัวแปร  mLoop , sum , max , min , avg  = 0
                          5.2  รับค่า  mLoop
                          5.3  กำหนดให้ num เป็นตัวแปรแบบ Array โดยมีจำนวนตู้หน่วยความจำเท่ากับ mLoop
                          5.4  สร้างรูป  i ตามจำนวน mLoop โดย
                                        -  รับค่าตัวเลขแต่ละค่า  และจัดเก็บไว้ในตัวแปรอาร์เรย์  num(i)
                                        -  บวกค่าสะสมด้วยการกำหนด  sum = sum + num(i)
                                        -  กลับไปทำข้อที่ 5.4 จนครบจำนวนรอบ
                          5.5  กำหนดให้  max = num(1) และ min = num(1)
                          5.6  สร้างลูป  i  ตามจำนวน mLoop โดยค่าเริ่มต้นของ i ให้มีค่าเท่ากับ 2
                          5.7  ดำเนินการตรวจสอบเงื่อนไขดังนี้
                                        -  ถ้า num(i) > max ให้ max = num(i)
                                        -  ถ้า num(i) < min ให้ min = num(i)
                                        -  กลับไปทำข้อืั้ 5.6 จนครบจำนวนรอบ
                          5.8  กำหนดให้  avg = sum / mLoop
                          5.9  แสดงค่า  avg , max , min
                          5.10  จบการทำงาน
..........................................................................................................................

Example...3

   จงเขียนอัลกอริทึม การหาค่าเฉลี่ยของตัวเลขจำนวนเต็ม 5 จำนวน แสดงผลออกทางจอภาพ
สูตรการคำนวณหาค่าเฉลี่ย
      วิธีการคิด/ทดสอบค่า       Num1  =  1
                                         Num2  =  2
                                         Num3  =  3
                                         Num4  =  4
                                         Num5  =  5
                                  =  (1+2+3+4+5) / 5
                                  =   3

   1.  สิ่งที่โจทย์ต้องการ
                            หาค่าเฉลี่ยของเลขจำนวนเต็ม 5 จำนวน

   2.  รูปแบบผลลัพธ์
                            ค่าเฉลี่ย  = 99.99

   3.  ข้อมูลนำเข้า (Input)
                            เลขจำนวนเต็ม 5 จำนวน

   4.  ตัวแปรและชนิด
                            Num1 , Num2 , Num3 , Num4 , Num5  เป็น  Integer
                            Avg  เป็น  Real

   5.  วิธีการประมวล
                            5.1  เริ่ม
                            5.2  ประกาศตัวแปร
                                            Integer  Num1=1 , Num2=2 , Num3=3 , Num4=4 , Num5=5
                                            Real      Avg  = 0.00
                            5.3  Input   Num1 , Num2 , Num3 , Num4 , Num5
                                              Avg  = 0.00
                                              Avg  = (Num1+Num2+Num3+Num4+Num5)  /  5
                            5.4  แสดงค่า  Avg
                            5.5  จบการทำงาน

..........................................................................................................................


Example...4

      ให้นักศึกษาเขียนโปรแกรมแสดงสูตรคูณ โดยแม่สูตรคูณให้รับค่าผ่านทางแป้นพิมพ์

  1.สิ่งที่โจทย์ต้องการ
                                เขียนโปรแกรมแสดงสูตรคูณ

  2.รูปแบบผลลัพธ์
                                สูตรคูณ = 00.00

   3.ข้อมูลนำเข้า
                                a , b , c

   4.ประกาศตัวแปร
                                a , b , c : Integer

    5.วิธีการประมวลผล (Process)
                              1.เริ่ม
                              2.ประกาศตัวแปร
                                          - a , b , c = Integer
                                          - c = 0
                              3. Input  a , b
                                            c = 0
                              4.Process  
                                            For a = 2 to 25 Do
                                                for b = 1 to 12 Do
                                                     a "*" b "=" a * b
                               5.แสดงผล c
                               6.จบการทำงาน
..........................................................................................................................
































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

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