รหัสเทียม
รหัสเทียม หรือ ซูโดโค้ด (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 (การเปิดไฟล์)
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)
แต่ถ้าเงื่อนไขเป็นเท็จ ก็จะทำกิจกรรมหลัง 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 ก็จะมีการทากิจกรรมภายในลูปอย่างน้อยหนึ่งรอบเสมอ
โดยจะวนซ้าไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นจริง จึงหลุดออกจากลูป และถึงแม้เงื่อนไขที่ตรวจสอบเป็นจริงตั้งแต่แรก
แต่ลูป DO…UNTIL ก็จะมีการทากิจกรรมภายในลูปอย่างน้อยหนึ่งรอบเสมอ
ตัวอย่าง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น