SlideShare a Scribd company logo
1 of 23
รหัสเทียม 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”

More Related Content

What's hot

1ความหนาแน่น และความดันในของไหล
1ความหนาแน่น และความดันในของไหล1ความหนาแน่น และความดันในของไหล
1ความหนาแน่น และความดันในของไหลWijitta DevilTeacher
 
ปกนอก ปกใน
ปกนอก ปกในปกนอก ปกใน
ปกนอก ปกในamixdouble
 
ติวก่อนสอบ ม.2
ติวก่อนสอบ ม.2ติวก่อนสอบ ม.2
ติวก่อนสอบ ม.2ssuser456899
 
พื้นที่ใต้โค้ง
พื้นที่ใต้โค้งพื้นที่ใต้โค้ง
พื้นที่ใต้โค้งkrurutsamee
 
โครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติ
โครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติโครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติ
โครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติbeauntp
 
ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4
ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4
ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4Thanawut Rattanadon
 
แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)
แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)
แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)Math and Brain @Bangbon3
 
ใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉาก
ใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉากใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉาก
ใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉากวรรณิภา ไกรสุข
 
การตั้งชื่อหัวข้อวิจัยชั้นเรียน
การตั้งชื่อหัวข้อวิจัยชั้นเรียนการตั้งชื่อหัวข้อวิจัยชั้นเรียน
การตั้งชื่อหัวข้อวิจัยชั้นเรียนPrachyanun Nilsook
 
แบบฝึกทักษะเรื่องคำสมาสสนธิ
แบบฝึกทักษะเรื่องคำสมาสสนธิแบบฝึกทักษะเรื่องคำสมาสสนธิ
แบบฝึกทักษะเรื่องคำสมาสสนธิSurapong Klamboot
 
Chapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinkingChapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinkingTeetut Tresirichod
 
แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.
แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.
แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.kanjana2536
 
แบบทดสอบโครงงาน
แบบทดสอบโครงงานแบบทดสอบโครงงาน
แบบทดสอบโครงงานRattana Wongphu-nga
 
(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรี
(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรี(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรี
(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรีSivagon Soontong
 
ใบความรู้ เรื่องสถิติ
ใบความรู้ เรื่องสถิติใบความรู้ เรื่องสถิติ
ใบความรู้ เรื่องสถิติพัน พัน
 
10บรรณานุกรม
10บรรณานุกรม10บรรณานุกรม
10บรรณานุกรมkrupornpana55
 

What's hot (20)

การใช้ a/an/some/any
การใช้ a/an/some/any การใช้ a/an/some/any
การใช้ a/an/some/any
 
ใบความรู้ อังกฤษ ม.1
ใบความรู้ อังกฤษ ม.1ใบความรู้ อังกฤษ ม.1
ใบความรู้ อังกฤษ ม.1
 
1ความหนาแน่น และความดันในของไหล
1ความหนาแน่น และความดันในของไหล1ความหนาแน่น และความดันในของไหล
1ความหนาแน่น และความดันในของไหล
 
ปกนอก ปกใน
ปกนอก ปกในปกนอก ปกใน
ปกนอก ปกใน
 
ติวก่อนสอบ ม.2
ติวก่อนสอบ ม.2ติวก่อนสอบ ม.2
ติวก่อนสอบ ม.2
 
พื้นที่ใต้โค้ง
พื้นที่ใต้โค้งพื้นที่ใต้โค้ง
พื้นที่ใต้โค้ง
 
โครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติ
โครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติโครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติ
โครงงานแผ่นซับเสียงจากเส้นใยธรรมชาติ
 
ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4
ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4
ใบงานที่ 1.1 หน่วยการเรียนรู้ที่ 3 เรื่อง เครื่องมือเกษตร ชั้นประถมศึกษาปีที่ 4
 
แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)
แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)
แบบฝึกหัดการวัดตำแหน่งของข้อมูล (สถิติ)
 
ใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉาก
ใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉากใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉาก
ใบงานเรื่องปริมาตรทรงสี่เหลี่ยมมุมฉาก
 
การตั้งชื่อหัวข้อวิจัยชั้นเรียน
การตั้งชื่อหัวข้อวิจัยชั้นเรียนการตั้งชื่อหัวข้อวิจัยชั้นเรียน
การตั้งชื่อหัวข้อวิจัยชั้นเรียน
 
56 กำหนดการเชิงเส้น ตอนที่1_การสร้างแบบจำลองทางคณิตศาสตร์
56 กำหนดการเชิงเส้น ตอนที่1_การสร้างแบบจำลองทางคณิตศาสตร์56 กำหนดการเชิงเส้น ตอนที่1_การสร้างแบบจำลองทางคณิตศาสตร์
56 กำหนดการเชิงเส้น ตอนที่1_การสร้างแบบจำลองทางคณิตศาสตร์
 
แบบฝึกทักษะเรื่องคำสมาสสนธิ
แบบฝึกทักษะเรื่องคำสมาสสนธิแบบฝึกทักษะเรื่องคำสมาสสนธิ
แบบฝึกทักษะเรื่องคำสมาสสนธิ
 
Chapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinkingChapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinking
 
แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.
แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.
แบบทดสอบหลังเรียน ห.ร.ม. และ ค.ร.น.
 
Ac+101+เฉลยหลักการบัญชี+1
Ac+101+เฉลยหลักการบัญชี+1Ac+101+เฉลยหลักการบัญชี+1
Ac+101+เฉลยหลักการบัญชี+1
 
แบบทดสอบโครงงาน
แบบทดสอบโครงงานแบบทดสอบโครงงาน
แบบทดสอบโครงงาน
 
(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรี
(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรี(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรี
(M5) แบบทดสอบหลังเรียน เรื่อง มหาเวสสันดรชาดก กัณฑ์มัทรี
 
ใบความรู้ เรื่องสถิติ
ใบความรู้ เรื่องสถิติใบความรู้ เรื่องสถิติ
ใบความรู้ เรื่องสถิติ
 
10บรรณานุกรม
10บรรณานุกรม10บรรณานุกรม
10บรรณานุกรม
 

Similar to รหัสเทียม Psuedo code

อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาskiats
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซีmansuang1978
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาsupatra178
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีNattawut Kathaisong
 
การเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงานการเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงานณัฐพล บัวพันธ์
 

Similar to รหัสเทียม Psuedo code (6)

หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซี
 
การเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงานการเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงาน
 

รหัสเทียม 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 " 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
  • 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
  • 15. กำรทำงำนของลูป WHILE จะมีกำรตรวจสอบเงื่อนไขก่อน โดยหำก เงื่อนไขเป็นจริง จะทำกิจกรรมภำยในลูปซ้ำไปเรื่อยๆ จนกระทั่งเงื่อนไข เป็นเท็จก็จะออกจำกลูปแต่หำกเงื่อนไขที่ตรวจสอบครั้งแรกเป็นเท็จ ก็จะไม่ มีกำรทำกิจกรรมภำยในลูปเลย
  • 16. ตัวอย่ำง num = 1 WHILE num <= 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
  • 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”