รหัสเทียม psuedo code

Post on 22-Jan-2018

1.880 Views

Category:

Devices & Hardware

0 Downloads

Preview:

Click to see full reader

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