รหัสเทียม Psuedo Code
โดย
นาย ปณพล ดาดวง
สคพ2. เลขที่ 5
รหัสเทียม หรือ ซูโดโค้ด (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
ตัวอย่างการเขียนรหัสเทียมและผังงาน
 หลักในการเขียน Pseudocode
1. คำสั่งที่เขียนใช้ภำษำที่เข้ำใจง่ำย ไม่ต้องคำนึงถึง
ภำษำคอมพิวเตอร์
2. ในหนึ่งบรรทัด ให้มีเพียงหนึ่งคำสั่งเท่ำนั้น
3. ใช้ย่อหน้ำในกำรแสดงกลุ่มของคำสั่ง ที่เป็นคำสั่งย่อยในคำสั่ง
พวกเงื่อนไข เช่น if-else, while, for ฯลฯ
4. ในกำรเขียนแต่ละคำสั่งให้เรียงกำรทำงำนจำกบนลงล่ำง และมี
ทำงออกหรือจุดสิ้นสุดเพียงจุดเดียว
5. กลุ่มคำสั่งอำจจะเขียนรวมกันเป็นโมดุล และเวลำเรียกใช้ก็
เรียกใช้ผ่ำนชื่อโมดุล (คล้ำยกับกำรเรียกใช้ฟังก์ชัน)
 ตัวอย่ำงที่ 1 จงเขียน Pseudocodeจำกโปรแกรมหำผลรวมของตัวเลข 2 ค่ำ
แล้วแสดงผลรวมออกมำทำงหน้ำจอ
1. read x , y
2. calculate sum = x + y
3. print sum
ตัวอย่ำงที่ 2 จงเขียน Pseudocodeจำกโปรแกรมรับตัวเลข 1 ค่ำแล้วตรวจสอบ
ว่ำเป็นเลขคู่หรือเลขคี่
1. read x
2. if x % 2 = 0 <– ตรวจสอบว่ำเศษจำกกำรหำร x ด้วย 2 เท่ำกับ 0 หรือไม่
1. then
1. print “even”
2. else
1. print “odd”
 ตัวอย่ำงที่ 3 จงเขียน Pseudocode จำกโปรแกรมหำค่ำเฉลี่ยของตัวเลข 10 ค่ำ แล้ว
แสดงค่ำเฉลี่ยออกมำทำงหน้ำจอ
1. for i = 1 to 10 <– เป็นคำสั่งวนรอบจำนวน 10 รอบ
1. read num
2. calculate sum = sum + num
2. calculate mean = sum / 10
3. print mean
ตัวอย่ำงที่ 4 จงเขียน Pseudocodeจำกโปรแกรมหำค่ำเฉลี่ยของตัวเลข n ค่ำ แล้วแสดง
ค่ำเฉลี่ยออกมำทำงหน้ำจอ
1. read n
 2. for i = 1 to n <– เป็นคำสั่งวนรอบจำนวน n รอบ
1. read num
2. calculate sum = sum + num
3. calculate mean = sum / n
4. print mean
 ตัวอย่ำงที่ 5 จงเขียน Pseudocodeจำกโปรแกรมเปรียบเทียบตัวเลข 2 ค่ำ แล้ว
แสดงควำมสัมพันธ์ออกมำ
1. read x , y
2. if x > y
1. then
1. print “x > y”
2. else if x < y
1. then
1. print “x < y”
 2. else
1. print “x = y”

รหัสเทียม Psuedo code

  • 1.
    รหัสเทียม Psuedo Code โดย นายปณพล ดาดวง สคพ2. เลขที่ 5
  • 2.
    รหัสเทียม หรือ ซูโดโค้ด(Pseudo Code)  เป็ นคำสั่งที่จำลองควำมคิดเป็ นลำดับขั้นตอนโดยใช้สัญลักษณ์ เป็น ประโยคภำษำอังกฤษ ซึ่งซูโดโค้ดไม่ใช่ภำษำโปรแกรมทำง คอมพิวเตอร์จึงไม่ สำมำรถนำไปประมวลผลได้ คือ ไม่สำมำรถสั่งให้ คอมพิวเตอร์ทำงำนตำมคำสั่ง แต่เป็นกำรเขียนจำลองคำสั่งจริงแบบย่อๆ ตำมอัลกอริทึมของโปรแกรมระบบ เพื่อนำไปพัฒนำเป็นกำรเขียน โปรแกรมภำษำคอมพิวเตอร์ได้  รหัสเทียม (Pseudocode) คือ กำรเขียนโปรแกรมในรูปแบบภำษำอังกฤษ ที่มีขั้นตอนและรูปแบบแน่นอนกะทัดรัด และมองดูคล้ำยภำษำระดับสูงที่ ใช้กับเครื่องคอมพิวเตอร์ซึ่งไม่เจำะจงภำษำใดภำษำหนึ่ง
  • 3.
    ประโยชน์ของซูโดโค้ด  เป็นเครื่องมือในกำรกำหนดโครงร่ำงกระบวนกำรทำงำนของกำร เขียนโปรแกรมแต่ละโปรแกรม  เป็นต้นแบบในกำรทบทวนปรับปรุงแก้ไข และพัฒนำโปรแกรมของ โปรแกรมเมอร์ และนักวิเครำะห์ระบบ  เป็นตัวกำหนดงำนเขียนโปรแกรม เพื่อให้โปรแกรมเมอร์นำไปพัฒนำ เป็นโปรแกรมคอมพิวเตอร์ เพื่อสั่งให้ คอมพิวเตอร์ทำงำนตำม กระบวนกำรที่ได้จำลองกระบวนกำรจริงไว้ในซูโดโค้ด
  • 4.
    วิธีการเขียนซูโดโค้ด  ประโยคคำสั่ง (Statement)จะอยูในรูปแบบของภำษำอังกฤษอย่ำงง่ำย  ในหนึ่งบรรทัด ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว  ควรใช้ย่อหน้ำ เพื่อแยกคำเฉพำะ (Keywords) ได้ชัดเจน รวมถึงจัด โครงสร้ำงกำรควบคุมให้เป็นสัดส่วน ซึ่งช่วยให้อ่ำนโค้ดได้ง่ำย  แต่ละประโยคคำสั่งให้เขียนลำดับจำกบนลงลำง โดยมีทำงเข้ำเพียงทำง เดียว และมีทำงออกทำงเดียวเท่ำนั้น  กลุ่มของประโยคคำสั่งต่ำงๆ อำจจัดรวมกลุ่มเข้ำด้วยกันในรูปแบบของ โมดูล แต่ต้องมีกำรกำหนดชื่่อของโมดูลด้วย เพื่อให้สำมำรถเรียกใช้งำน โมดูลนั้นได้
  • 5.
    ตัวอย่างการเขียนรหัสเทียม 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
  • 6.
    รูปแบบการเขียน Pseudo Code 1.การกาหนดค่า และการคานวณ name = expression name คือ ชื่อตัวแปรที่ใช้สำหรับเก็บค่ำ expression คือ ค่ำข้อมูลหรือนิพจน์ ตัวอย่ำง salary = 1000 overTime = 2500 tax = 125 Income = salary + overTime - tag
  • 7.
    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 คือ ตัวแปรที่ใช้เก็บข้อมูลที่อ่ำนหรือรับเข้ำมำ ซึ่งสำมำรถกำหนดได้ ตำมจำนวนตัวแปรที่ต้องกำร โดยใช้เครื่องหมำย “,” คั่นระหว่ำงชื่อตัวแปร
  • 8.
    ตัวอย่าง Input a, b,c Answer = a + b + c Get current_date expire_date = current_date + 120 Open student_file Read Id, Name, Address, Sex
  • 9.
    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 ใช้สาหรับการบันทึกข้อมูลลงในแฟ้ มข้อมูล
  • 10.
    ตัวอย่าง Prompt " Enter3 Value ==> " Input Value1 , Value2 , Value3 Sum = Value1 + Value2 + Value3 Print Sum Open Student _file Input Id, Name, Address, Sex Write Id, Name, Address, Sex
  • 11.
    4. การกาหนดเงื่อนไข If <condition > Then Activity 1 Else Activity 2 Endif <condition> คือ เงื่อนไขที่กำหนด ซึ่งหำกเงื่อนไขเป็นจริง จะทำ กิจกรรมหลัง THEN (activity1) แต่ถ้ำเงื่อนไขเป็นเท็จ ก็จะทำ กิจกรรมหลัง ELSE (activity2)
  • 12.
    ตัวอย่าง 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
  • 13.
    5. ในกรณีที่มีหลายเงื่อนไข กำรใช้ IFอำจทำให้ตรวจสอบโปรแกรมได้ยำก สำมำรถใช้คำสั่ง CASE …. END CASE แทนได้ ตัวอย่ำง CASE score OF >= 80 : grade = “A” >= 70 : grade = “B” >= 60 : grade = “C” < 60 : grade = “F” ENDCASE
  • 14.
  • 15.
    กำรทำงำนของลูป WHILE จะมีกำรตรวจสอบเงื่อนไขก่อนโดยหำก เงื่อนไขเป็นจริง จะทำกิจกรรมภำยในลูปซ้ำไปเรื่อยๆ จนกระทั่งเงื่อนไข เป็นเท็จก็จะออกจำกลูปแต่หำกเงื่อนไขที่ตรวจสอบครั้งแรกเป็นเท็จ ก็จะไม่ มีกำรทำกิจกรรมภำยในลูปเลย
  • 16.
    ตัวอย่ำง num = 1 WHILEnum <= 20 PRINT num num = num + 1 ENDWHILE PRINT “STOP RUN”
  • 17.
    7. การทางานเป็นรอบ (Loop) กำรทำงำนเป็นรอบด้วยลูปDO … UNTIL DO activity1 activity2 activity3 UNTIL <condition> กำรทำงำนของลูป DO … UNTIL จะทำกิจกรรมภำยในลูปก่อนหนึ่งรอบ จำกนั้นจะทำกำรตรวจเงื่อนไข โดยจะวนซ้ำไปเรื่อยๆ จนกว่ำเงื่อนไขจะเป็นจริง จึงหลุดออกจำกลูป และถึงแม้เงื่อนไขที่ตรวจสอบเป็นจริงตั้งแต่แรก แต่ลูป DO…UNTIL ก็จะมีกำรทำกิจกรรมภำยในลูปอย่ำงน้อยหนึ่งรอบเสมอ
  • 18.
    ตัวอย่ำง num = 0 DO PRINT“HELLO…” num = num + 1 UNTIL num > 20
  • 19.
  • 20.
    ตัวอย่างการเขียนรหัสเทียมและผังงาน  หลักในการเขียน Pseudocode 1.คำสั่งที่เขียนใช้ภำษำที่เข้ำใจง่ำย ไม่ต้องคำนึงถึง ภำษำคอมพิวเตอร์ 2. ในหนึ่งบรรทัด ให้มีเพียงหนึ่งคำสั่งเท่ำนั้น 3. ใช้ย่อหน้ำในกำรแสดงกลุ่มของคำสั่ง ที่เป็นคำสั่งย่อยในคำสั่ง พวกเงื่อนไข เช่น if-else, while, for ฯลฯ 4. ในกำรเขียนแต่ละคำสั่งให้เรียงกำรทำงำนจำกบนลงล่ำง และมี ทำงออกหรือจุดสิ้นสุดเพียงจุดเดียว 5. กลุ่มคำสั่งอำจจะเขียนรวมกันเป็นโมดุล และเวลำเรียกใช้ก็ เรียกใช้ผ่ำนชื่อโมดุล (คล้ำยกับกำรเรียกใช้ฟังก์ชัน)
  • 21.
     ตัวอย่ำงที่ 1จงเขียน Pseudocodeจำกโปรแกรมหำผลรวมของตัวเลข 2 ค่ำ แล้วแสดงผลรวมออกมำทำงหน้ำจอ 1. read x , y 2. calculate sum = x + y 3. print sum ตัวอย่ำงที่ 2 จงเขียน Pseudocodeจำกโปรแกรมรับตัวเลข 1 ค่ำแล้วตรวจสอบ ว่ำเป็นเลขคู่หรือเลขคี่ 1. read x 2. if x % 2 = 0 <– ตรวจสอบว่ำเศษจำกกำรหำร x ด้วย 2 เท่ำกับ 0 หรือไม่ 1. then 1. print “even” 2. else 1. print “odd”
  • 22.
     ตัวอย่ำงที่ 3จงเขียน Pseudocode จำกโปรแกรมหำค่ำเฉลี่ยของตัวเลข 10 ค่ำ แล้ว แสดงค่ำเฉลี่ยออกมำทำงหน้ำจอ 1. for i = 1 to 10 <– เป็นคำสั่งวนรอบจำนวน 10 รอบ 1. read num 2. calculate sum = sum + num 2. calculate mean = sum / 10 3. print mean ตัวอย่ำงที่ 4 จงเขียน Pseudocodeจำกโปรแกรมหำค่ำเฉลี่ยของตัวเลข n ค่ำ แล้วแสดง ค่ำเฉลี่ยออกมำทำงหน้ำจอ 1. read n  2. for i = 1 to n <– เป็นคำสั่งวนรอบจำนวน n รอบ 1. read num 2. calculate sum = sum + num 3. calculate mean = sum / n 4. print mean
  • 23.
     ตัวอย่ำงที่ 5จงเขียน Pseudocodeจำกโปรแกรมเปรียบเทียบตัวเลข 2 ค่ำ แล้ว แสดงควำมสัมพันธ์ออกมำ 1. read x , y 2. if x > y 1. then 1. print “x > y” 2. else if x < y 1. then 1. print “x < y”  2. else 1. print “x = y”