รหัสเทียม

 
 
 

รหัสเทียม
 


รหัสเทียม หรือ ซูโดโค้ด (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

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

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