รหัสเทียม
รหัสเทียม
หรือ ซูโดโค้ด (Pseudo Code)
เป็นคำสั่งที่จำลองความคิดเป็นลำดับขั้นตอนโดยใช้สัญลักษณ์เป็น
ประโยคภาษาอังกฤษ ซึ่งซูโดโค้ดไม่ใช่ภาษาโปรแกรมทางคอมพิวเตอร์จึงไม่
สามารถนำไปประมวลผลได้ คือ ไม่สามารถสั่งให้คอมพิวเตอร์ทำงานตามคำสั่ง
แต่เป็นการเขียนจำลองคำสั่งจริงแบบย่อๆ ตามอัลกอริทึมของโปรแกรมระบบ
เพื่อนำไปพัฒนาเป็นการเขียนโปรแกรมภาษาคอมพิวเตอร์ได้
ประโยชน์ของซูโดโค้ด
เป็นเครื่องมือในการกำหนดโครงร่างกระบวนการทำงานของการเขียนโปรแกรมแต่ละโปรแกรม
เป็นต้นแบบในการทบทวน
ปรับปรุงแก้ไข และพัฒนาโปรแกรมของโปรแกรมเมอร์ และนักวิเคราะห์ระบบ
เป็นตัวกำหนดงานเขียนโปรแกรม
เพื่อให้โปรแกรมเมอร์นำไปพัฒนาเป็นโปรแกรมคอมพิวเตอร์ เพื่อสั่งให้ คอมพิวเตอร์ทำงานตามกระบวนการที่ได้จำลองกระบวนการจริงไว้ในซูโดโค้ด
วิธีการเขียนซูโดโค้ด
ประโยคคำสั่ง (Statement) จะอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
ในหนึ่งบรรทัด
ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
ควรใช้ย่อหน้า เพื่อแยกคำเฉพาะ
(Keywords) ได้ชัดเจน
รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งช่วยให้อ่านโค้ดได้ง่าย
แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงลาง
โดยมีทางเข้าเพียงทางเดียว และมีทางออกทางเดียวเท่านั้น
กลุ่มของประโยคคำสั่งต่างๆ
อาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูล แต่ต้องมีการกำหนดชื่่อของโมดูลด้วย
เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้
Algorithm
Problem_1
Variables :
mLoop, Sum, testScore, averageBegin
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 = expressionname คือ ชื่อตัวแปรที่ใช้สำหรับเก็บค่า
expression คือ ค่าข้อมูลหรือนิพจน์
ตัวอย่าง
salary
= 1000
overTime
= 2500tax = 125
Income = salary + overTime - tag
2. การอ่าน/รับข้อมูล
การอ่านข้อมูลสามารถใช้คำสั่ง
READ,
INPUT หรือ GET ได้ โดย
Read
variables_1 ,variables_2, variables_3
Input
variables_1 ,variables_2, variables_3Get variables_1 ,variables_2, variables_3
READ ใช้สำหรับการอ่านค่าที่มีอยู่แล้ว
มาเก็บไว้ในตัวแปร เช่น การอ่านข้อมูลจากไฟล์ โดยจะทำงานร่วมกับ OPEN (การเปิดไฟล์)
INPUT และ GET ใช้สำหรับการรับค่าข้อมูลผ่านทางแป้นพิมพ์
Variable คือ ตัวแปรที่ใช้เก็บข้อมูลที่อ่านหรือรับเข้ามา
ซึ่งสามารถกำหนดได้ ตามจำนวนตัวแปรที่ต้องการ โดยใช้เครื่องหมาย “,” คั่นระหว่างชื่อตัวแปร
ตัวอย่าง
Input
a, b, c
Answer
= a + b + cGet 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_3write variables_1 ,variables_2, variables_3
ตัวอย่าง
Prompt
" Enter 3 Value ==> "
Input
Value1 , Value2 , Value3Sum = 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)
male = male + 1
ELSE
female = female + 1
ENDIF
IF score >= 80
grade = “A”
ELSEIF score >= 70
grade
= “B”
ELSEIF
score >= 60grade = “C”
ELSEIF score >= 50
grade
= “D”
ELSEgrade = “F”
ENDIF
ตัวอย่าง
CASE
score OF>= 80 : grade = “A”
>= 70 : grade = “B”
>= 60 : grade = “C”
< 60 : grade = “F”
ENDCASE
6. การทางานเป็นรอบ (Loop)
การทางานเป็นรอบด้วยลูป
WHILE …
ENDWHILEWHILE<condition>
activity1
activity2
activity3
ENDWHILE
การทำงานของลูป
WHILE จะมีการตรวจสอบเงื่อนไขก่อน โดยหากเงื่อนไขเป็นจริง
จะทำกิจกรรมภายในลูปซ้ำไปเรื่อยๆ จนกระทั่งเงื่อนไขเป็นเท็จ
ก็จะออกจากลูปแต่หากเงื่อนไขที่ตรวจสอบครั้งแรกเป็นเท็จ
ก็จะไม่มีการทากิจกรรมภายในลูปเลย
WHILE num <= 20
PRINT num
num = num + 1
ENDWHILE
PRINT “STOP RUN”
7. การทำงานเป็นรอบ (Loop)
การทำงานเป็นรอบด้วยลูป
DO … UNTILDO
activity1
activity2
activity3
UNTIL <condition>
การทำงานของลูป DO … UNTIL จะทำกิจกรรมภายในลูปก่อนหนึ่งรอบ จากนั้นจะทาการตรวจเงื่อนไข โดยจะวนซ้าไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นจริง จึงหลุดออกจากลูป และถึงแม้เงื่อนไขที่ตรวจสอบเป็นจริงตั้งแต่แรก แต่ลูป DO…UNTIL ก็จะมีการทากิจกรรมภายในลูปอย่างน้อยหนึ่งรอบเสมอ
ตัวอย่าง
num = 0DO
PRINT “HELLO…”
num = num + 1
UNTIL num > 20
8. การทำงานเป็นรอบ (Loop)
การทางานเป็นรอบด้วยลูป FOR … NEXT
FOR i=1 to n
activity1
activity2
activity3
Next
ไม่มีความคิดเห็น:
แสดงความคิดเห็น