รหัสเทียม หรือ ซูโดโค้ด (Pseudo Code)


รหัสเทียม หรือ ซูโดโค้ด (Pseudo Code)

      
     เป็นคำสั่งที่จำลองความคิดเป็นลำดับขั้นตอนโดยใช้สัญลักษณ์เป็น ประโยคภาษาอังกฤษ ซึ่งซูโดโค้ดไม่ใช่ภาษาโปรแกรมทางคอมพิวเตอร์จึงไม่ สามารถนำไปประมวลผลได้ คือ ไม่สามารถสั่งให้คอมพิวเตอร์ทำงานตามคำสั่ง แต่เป็นการเขียนจำลองคำสั่งจริงแบบย่อๆ ตามอัลกอริทึมของโปรแกรมระบบ เพื่อนำไปพัฒนาเป็นการเขียนโปรแกรมภาษาคอมพิวเตอร์ได้
  รหัสเทียม (Pseudocode) คือ การเขียนโปรแกรมในรูปแบบภาษาอังกฤษที่มีขั้นตอนและรูปแบบแน่นอนกะทัดรัด และมองดูคล้ายภาษาระดับสูงที่ใช้กับเครื่องคอมพิวเตอร์ซึ่งไม่เจาะจงภาษาใดภาษาหนึ่ง
ประโยชน์ของซูโดโค้ด
       • เป็นเครื่องมือในการกำหนดโครงร่างกระบวนการทำงานของการเขียนโปรแกรมแต่ละโปรแกรม
       • เป็นต้นแบบในการทบทวน ปรับปรุงแก้ไข และพัฒนาโปรแกรมของโปรแกรมเมอร์ และนักวิเคราะห์ระบบ
       • เป็นตัวกำหนดงานเขียนโปรแกรม เพื่อให้โปรแกรมเมอร์นำไปพัฒนาเป็นโปรแกรมคอมพิวเตอร์ เพื่อสั่งให้คอมพิวเตอร์ทำงานตามกระบวนการที่ได้จำลองกระบวนการจริงไว้ในซูโดโค้ค
วิธีการเขียนซูโดโค้ด
        • ประโยคคำสั่ง (Statement) จะอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
        • ในหนึ่งบรรทัด ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
        • ควรใช้ย่อหน้า เพื่อแยกคำเฉพาะ (Keywords)  ได้ชัดเจน รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งช่วยให้อ่านโค้ดได้ง่าย
        • แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงลาง โดยมีทางเข้าเพียงทางเดียว และมีทางออกทางเดียวเท่านั้น
        • กลุ่มของประโยคคำสั่งต่างๆ อาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูล แต่ต้องมีการกำหนดชื่อของโมดูลด้วย เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้
ตัวอย่างการเขียนรหัสเทียม Pseudo Code
            Algorithm Problem_1
          Variables : mLoop, Sum, testScore, average
            Begin
                    Input mLoop
                    Sum = 0
                    For I = 1 to mLoop
                            Input testScore
                            Sum = Sum + testScore
                    Next
                    average = Sum / mLoop
                    Print average
            End Problem_1

รูปแบบการเขียน Pseudo Code
  1. การกำหนดค่า และการคำนวณ
                name = expression
                name คือ ชื่อตัวแปรที่ใช้สำหรับเก็บค่า
                expression คือ ค่าข้อมูลหรือนิพจน์
ตัวอย่าง
        salary = 1000
        overTime = 2500
        tax = 125
        Income = salary + overTime - tag

       
        2. การอ่าน/รับข้อมูล
           การอ่านข้อมูลสามารถใช้คำสั่ง READ, INPUT หรือ GET ได้ โดย
                Read variables_1 ,variables_2, variables_3
                Input variables_1 ,variables_2, variables_3
                Get variables_1 ,variables_2, variables_3

                READ ใช้สำหรับการอ่านค่าที่มีอยู่แล้ว มาเก็บไว้ในตัวแปร เช่น การอ่านข้อมูลจากไฟล์ โดยจะทำงานร่วมกับ OPEN (การเปิดไฟล์)
                INPUT และ GET ใช้สาำหรับการรับค่าข้อมูลผ่านทางแป้นพิมพ์
                Variable คือ ตัวแปรที่ใช้เก็บข้อมูลที่อ่านหรือรับเข้ามา ซึ่งสามารถกำหนดได้ ตามจำนวนตัวแปรที่ต้องการ โดยใช้เครื่องหมาย “,” คั่นระหว่างชื่อตัวแปร

ตัวอย่าง
        Input a, b, c
        Answer = a + b + c

        Get current_date
        expire_date = current_date + 120
       
        Open student_file
        Read Id, Name, Address, Sex

        3. การแสดงผลข้อมูล
                การแสดงผลข้อมูลสามารถใช้คำสั่ง Print , Prompt, Write
                    print  variables_1 ,variables_2, variables_3
                    prompt variables_1 ,variables_2, variables_3
                    write variables_1 ,variables_2, variables_3

                PRINT และ PROMPT ใช้สำหรับการพิมพ์ค่าข้อมูล หรือข้อความ
                WRITE ใช้สำหรับการบันทึกข้อมูลลงในแฟ้มข้อมูล
ตัวอย่าง
        Prompt " Enter 3 Value ==> "
        Input Value1 , Value2 , Value3
        Sum = Value1 + Value2 + Value3
        Print Sum
        Open Student _file
        Input Id, Name, Address, Sex
        Write Id, Name, Address, Sex
        4. การกำหนดเงื่อนไข
                If < condition > Then
                Activity 1
                Else
                Activity 2
                Endif
      <condition> คือ เงื่อนไขที่กำหนด ซึ่งหากเงื่อนไขเป็นจริง จะทำกิจกรรมหลัง THEN (activity1)  แต่ถ้าเงื่อนไขเป็นเท็จ ก็จะทำกิจกรรมหลัง ELSE (activity2)

ตัวอย่าง
         IF sex = “M” THEN
                male = male + 1
         ELSE
                female = female + 1
         ENDIF

         IF score >= 80
                grade = “A”
         ELSEIF score >= 70
                grade = “B”
         ELSEIF score >= 60
                grade = “C”
         ELSEIF score >= 50
                grade = “D”
         ELSE
                grade = “F”
         ENDIF

   5. ในกรณีที่มีหลายเงื่อนไข
      การใช้ IF อาจทาให้ตรวจสอบโปรแกรมได้ยาก สามารถใช้คาสั่ง CASE …. END CASE แทนได้
ตัวอย่าง
            CASE score OF
            >= 80 : grade = “A”
            >= 70 : grade = “B”
            >= 60 : grade = “C”
            < 60 : grade = “F”
            ENDCASE
   6. การทางานเป็นรอบ (Loop)
        การทางานเป็นรอบด้วยลูป WHILE … ENDWHILE
                        WHILE<condition>
                        activity1
                        activity2
                        activity3
                        ENDWHILE

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

ตัวอย่าง

                    num = 1
                    WHILE num <= 20
                                PRINT num
                                num = num + 1
                    ENDWHILE
                    PRINT “STOP RUN”


      7. การทำงานเป็นรอบ (Loop)
          การทำงานเป็นรอบด้วยลูป DO … UNTIL
                    DO
                        activity1
                        activity2
                        activity3
                    UNTIL <condition>
            การทำงานของลูป DO … UNTIL จะทำกิจกรรมภายในลูปก่อนหนึ่งรอบ จากนั้นจะทาการตรวจเงื่อนไข โดยจะวนซ้าไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นจริง จึงหลุดออกจากลูป และถึงแม้เงื่อนไขที่ตรวจสอบเป็นจริงตั้งแต่แรก แต่ลูป DO…UNTIL ก็จะมีการทากิจกรรมภายในลูปอย่างน้อยหนึ่งรอบเสมอ
ตัวอย่าง
                    num = 0
                    DO
                            PRINT “HELLO…”
                            num = num + 1
                    UNTIL num > 20
   8. การทำงานเป็นรอบ (Loop)
      การทางานเป็นรอบด้วยลูป FOR … NEXT

                    FOR i=1 to n
                                activity1
                                activity2
                                activity3

                    Next


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

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