ใบความรทู ้ ี่ 3
รหสั เทยี ม
วทิ ยาลยั เกษตรและเทคโนโลยฉี ะเชงิ เทรา
สงั กดั สานักงานคณะกรรมการการอาชวี ศกึ ษา
หนว่ ยท่ี 1 รหัสเทยี ม
รหสั เทยี ม หรือ ซูโดโคด้ (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