รหัสเทียม psuedo code
Post on 22-Jan-2018
1.880 Views
Preview:
TRANSCRIPT
รหสเทยม Psuedo Codeโดยนาย ปณพล ดาดวง
สคพ2. เลขท 5
รหสเทยม หรอ ซโดโคด (Pseudo Code) เ ปนค ำส ง ทจ ำลองควำมคดเ ปนล ำดบข นตอนโดยใชสญลกษณเปน ประโยคภำษำองกฤษ ซงซโดโคดไมใชภำษำโปรแกรมทำงคอมพวเตอรจงไม สำมำรถน ำไปประมวลผลได คอ ไมสำมำรถสงใหคอมพวเตอรท ำงำนตำมค ำสง แตเปนกำรเขยนจ ำลองค ำสงจรงแบบยอๆ ตำมอลกอรทมของโปรแกรมระบบ เพอน ำไปพฒนำเปนกำรเขยนโปรแกรมภำษำคอมพวเตอรได
รหสเทยม (Pseudocode) คอ กำรเขยนโปรแกรมในรปแบบภำษำองกฤษทมขนตอนและรปแบบแนนอนกะทดรด และมองดคลำยภำษำระดบสงทใชกบเครองคอมพวเตอรซงไมเจำะจงภำษำใดภำษำหนง
ประโยชนของซโดโคด
เปนเครองมอในกำรก ำหนดโครงรำงกระบวนกำรท ำงำนของกำรเขยนโปรแกรมแตละโปรแกรม
เปนตนแบบในกำรทบทวน ปรบปรงแกไข และพฒนำโปรแกรมของโปรแกรมเมอร และนกวเครำะหระบบ
เปนตวก ำหนดงำนเขยนโปรแกรม เพอใหโปรแกรมเมอรน ำไปพฒนำเปนโปรแกรมคอมพวเตอร เพอสงให คอมพวเตอรท ำงำนตำมกระบวนกำรทไดจ ำลองกระบวนกำรจรงไวในซโดโคด
วธการเขยนซโดโคด
ประโยคค ำสง (Statement) จะอยในรปแบบของภำษำองกฤษอยำงงำย ในหนงบรรทด ใหเขยนประโยคค ำสงเพยงค ำสงเดยว ควรใชยอหนำ เพอแยกค ำเฉพำะ (Keywords) ไดชดเจน รวมถงจดโครงสรำงกำรควบคมใหเปนสดสวน ซงชวยใหอำนโคดไดงำย
แตละประโยคค ำสงใหเขยนล ำดบจำกบนลงลำง โดยมทำงเขำเพยงทำงเดยว และมทำงออกทำงเดยวเทำนน
กลมของประโยคค ำสงตำงๆ อำจจดรวมกลมเขำดวยกนในรปแบบของโมดล แตตองมกำรก ำหนดชอของโมดลดวย เพอใหสำมำรถเรยกใชงำนโมดลนนได
ตวอยางการเขยนรหสเทยม Pseudo
CodeAlgorithm 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 = expressionname คอ ชอตวแปรทใชส ำหรบเกบคำexpression คอ คำขอมลหรอนพจน
ตวอยำงsalary = 1000overTime = 2500tax = 125Income = salary + overTime - tag
2. การอาน/รบขอมล
กำรอำนขอมลสำมำรถใชค ำสง READ, INPUT หรอ GET ได โดยRead variables_1 ,variables_2, variables_3Input variables_1 ,variables_2, variables_3Get variables_1 ,variables_2, variables_3
READ ใชส ำหรบกำรอำนคำทมอยแลว มำเกบไวในตวแปร เชน กำรอำนขอมลจำกไฟล โดยจะท ำงำนรวมกบ OPEN (กำรเปดไฟล)
INPUT และ GET ใชส ำหรบกำรรบคำขอมลผำนทำงแปนพมพVariable คอ ตวแปรทใชเกบขอมลทอำนหรอรบเขำมำ ซงสำมำรถก ำหนดได
ตำมจ ำนวนตวแปรทตองกำร โดยใชเครองหมำย “,” คนระหวำงชอตวแปร
ตวอยาง
Input a, b, cAnswer = a + b + cGet current_dateexpire_date = current_date + 120Open student_fileRead Id, Name, Address, Sex
3. การแสดงผลขอมล
การแสดงผลขอมลสามารถใชค าสง Print , Prompt, Writeprint variables_1 ,variables_2, variables_3prompt variables_1 ,variables_2, variables_3write variables_1 ,variables_2, variables_3
PRINT และ PROMPT ใชส าหรบการพมพคาขอมล หรอขอความ
WRITE ใชส าหรบการบนทกขอมลลงในแฟมขอมล
ตวอยาง
Prompt " Enter 3 Value ==> "Input Value1 , Value2 , Value3Sum = Value1 + Value2 + Value3Print SumOpen Student _fileInput Id, Name, Address, SexWrite Id, Name, Address, Sex
4. การก าหนดเงอนไข
If < condition > ThenActivity 1
ElseActivity 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 …. ENDCASE แทนไดตวอยำง
CASE score OF>= 80 : grade = “A”>= 70 : grade = “B”>= 60 : grade = “C”< 60 : grade = “F”ENDCASE
6. การท างานเปนรอบ (Loop)
กำรท ำงำนเปนรอบดวยลป WHILE … ENDWHILEWHILE<condition>activity1activity2activity3ENDWHILE
กำรท ำงำนของลป WHILE จะมกำรตรวจสอบเงอนไขกอน โดยหำกเงอนไขเปนจรง จะท ำกจกรรมภำยในลปซ ำไปเรอยๆ จนกระทงเงอนไขเปนเทจกจะออกจำกลปแตหำกเงอนไขทตรวจสอบครงแรกเปนเทจ กจะไมมกำรทำกจกรรมภำยในลปเลย
ตวอยำงnum = 1WHILE num <= 20
PRINT numnum = num + 1
ENDWHILEPRINT “STOP RUN”
7. การท างานเปนรอบ (Loop)
กำรท ำงำนเปนรอบดวยลป DO … UNTILDO
activity1activity2activity3
UNTIL <condition>กำรท ำงำนของลป DO … UNTIL จะท ำกจกรรมภำยในลปกอนหนงรอบ
จำกนนจะทำกำรตรวจเงอนไข โดยจะวนซำไปเรอยๆ จนกวำเงอนไขจะเปนจรง จงหลดออกจำกลป และถงแมเงอนไขทตรวจสอบเปนจรงต งแตแรก แตลป DO…UNTIL กจะมกำรทำกจกรรมภำยในลปอยำงนอยหนงรอบเสมอ
ตวอยำงnum = 0DO
PRINT “HELLO…”num = num + 1
UNTIL num > 20
8. การท างานเปนรอบ (Loop)
กำรท ำงำนเปนรอบดวยลป FOR … NEXTFOR i=1 to n
activity1activity2activity3
Next
ตวอยางการเขยนรหสเทยมและผงงาน
หลกในการเขยน Pseudocode1. ค ำสงทเขยนใชภำษำทเขำใจงำย ไมตองค ำนงถงภำษำคอมพวเตอร2. ในหนงบรรทด ใหมเพยงหนงค ำสงเทำนน3. ใชยอหนำในกำรแสดงกลมของค ำสง ทเปนค ำสงยอยในค ำสงพวกเงอนไข เชน if-else, while, for ฯลฯ4. ในกำรเขยนแตละค ำสงใหเรยงกำรท ำงำนจำกบนลงลำง และมทำงออกหรอจดสนสดเพยงจดเดยว5. กลมค ำสงอำจจะเขยนรวมกนเปนโมดล และเวลำเรยกใชกเรยกใชผำนชอโมดล (คลำยกบกำรเรยกใชฟงกชน)
ตวอยำงท 1 จงเขยน Pseudocode จำกโปรแกรมหำผลรวมของตวเลข 2 คำ แลวแสดงผลรวมออกมำทำงหนำจอ1. read x , y2. calculate sum = x + y3. print sumตวอยำงท 2 จงเขยน Pseudocode จำกโปรแกรมรบตวเลข 1 คำแลวตรวจสอบวำเปนเลขคหรอเลขค1. read x2. if x % 2 = 0 <– ตรวจสอบวำเศษจำกกำรหำร x ดวย 2 เทำกบ 0 หรอไม1. then1. print “even”2. else1. print “odd”
ตวอยำงท 3 จงเขยน Pseudocode จำกโปรแกรมหำคำเฉลยของตวเลข 10 คำ แลวแสดงคำเฉลยออกมำทำงหนำจอ1. for i = 1 to 10 <– เปนค ำสงวนรอบจ ำนวน 10 รอบ1. read num2. calculate sum = sum + num2. calculate mean = sum / 103. print meanตวอยำงท 4 จงเขยน Pseudocode จำกโปรแกรมหำคำเฉลยของตวเลข n คำ แลวแสดงคำเฉลยออกมำทำงหนำจอ1. read n
2. for i = 1 to n <– เปนค ำสงวนรอบจ ำนวน n รอบ1. read num2. calculate sum = sum + num3. calculate mean = sum / n4. print mean
ตวอยำงท 5 จงเขยน Pseudocode จำกโปรแกรมเปรยบเทยบตวเลข 2 คำ แลวแสดงควำมสมพนธออกมำ1. read x , y2. if x > y1. then1. print “x > y”2. else if x < y1. then1. print “x < y”
2. else1. print “x = y”
top related