Top Banner
1 *การเขียนซูโดโคด หรือ รหัสจาลอง (Pseudo Code) นายบรรสิทธิ ์ ดีล้อม ครูชานาญการ โรงเรียนเทศบาลบ้านสามเหลี่ยม เทศบาลนครขอนแก่น จังหวัดขอนแก่น
30

ม.3 รหัสจำลอง Pseudocode

May 29, 2015

Download

Documents

Bansit Deelom
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ม.3 รหัสจำลอง Pseudocode

1

*การเขยนซโดโคด หรอ รหสจ าลอง (Pseudo Code)

นายบรรสทธ ดลอม ครช านาญการ โรงเรยนเทศบาลบานสามเหลยม

เทศบาลนครขอนแกน จงหวดขอนแกน

Page 2: ม.3 รหัสจำลอง Pseudocode

2

รปแบบการเขยนอลกอรทม

การเขยนซโดโคด (Pseudo Code)

หมายถง การน าค าในภาษาองกฤษ มาแสดงการท างานของคอมพวเตอร โดยเรยบเรยงเปนประโยคใหสามารถสอความหมายใหผอานเขาใจไดวาแตละขนตอนของการแกปญหานนท าไดอยางไร ซโดโคดทดตองมความชดเจน สน กระชบ ไดใจความกอนท าการเขยนอลกอรทม ตองก าหนดตวแปรกอนทจะใชกอนเสมอ

Page 3: ม.3 รหัสจำลอง Pseudocode

3

* รหสจ าลอง (Pseudo Code)

Pseudo code สามารถก าหนดการท างานไดเปน 6 ขอ ดงน 1. การรบขอมลของคอมพวเตอร 2. การแสดงผลขอมลของคอมพวเตอร 3. การค านวณหรอการท างานทางคณตศาสตรของคอมพวเตอร 4. การก าหนดคาขอมลของคอมพวเตอร 5. การเปรยบเทยบขอมล 2 อยาง และมการเลอกทางเดยวหรอสอง

ทางเลอกในการท างานหรอหลายทาง 6. การท างานซ าของคอมพวเตอร

Page 4: ม.3 รหัสจำลอง Pseudocode

4

*

การรบขอมล นยมใชค าวา read หรอ input ตามดวยชอตวแปรทตองการรบคา ถาตองการรบคาหลายตวแปรใหใชเครองหมาย comma (,) คน

input ตวแปร1, ตวแปร2, …

read ตวแปร1, ตวแปร2, …

Page 5: ม.3 รหัสจำลอง Pseudocode

5

* Read : การอานขอมลจากทมเกบอยในไฟลแลว

Get หรอ Input : การรบขอมลมาจากคยบอรด

Read student name Get system date Read number1, number2 Get tax_code

Page 6: ม.3 รหัสจำลอง Pseudocode

6

2. การแสดงผลขอมลของคอมพวเตอร Print : การสงผลลพธไปยงเครองพมพ (Printer)

Write หรอ Put : การเกบขอมลลงสไฟล (File)

Output หรอ Display : การแสดงผลขอมลบนจอภาพ (Screen)

Print ‘Program Completed’ Write customer record to master file Put name, address and postcode Output total_tax Display ‘End of data’

Page 7: ม.3 รหัสจำลอง Pseudocode

7

3. การค านวณหรอการท างานทางคณตศาสตรของคอมพวเตอร

Add : การบวก

Subtract : การลบ

Multiply : การคณ

Divide : การหาร

Add number to total total = total + number

Divide total_marks by student_count

sale_tax = cost_price * 0.10

Compute C = (F-32) * 5/9

Page 8: ม.3 รหัสจำลอง Pseudocode

8

4. การก าหนดคาขอมลของคอมพวเตอร Set หรอ Initialise : การก าหนดคาเรมตนใหกบขอมล ตาม to

= : การก าหนดคาผลลพธทไดจากการประมวลผล

Save หรอ Store : การเกบคาขอมลไวใชงานในครงตอไป

Initialise total accumulators to zero

Set student_count to 0

total_price = cost_price + sale_tax

Store customer_num in last_customer_num

Page 9: ม.3 รหัสจำลอง Pseudocode

9

5.1 การเปรยบเทยบระหวาง 2 คา เปนการเปรยบเทยบเงอนไข ถาเงอนไขเปนจรงจะใหท าค าสงกลมหนง แตถาเงอนไขเปนเทจใหท าค าสงอกกลมหนง ใชค าวา if..then..else..endif

if (เงอนไข) then กลมค าสงกรณเงอนไขเปนจรง

else กลมค าสงกรณเงอนไขเปนเทจ

endif

ตวอยาง if (x > 0) then read x else compute sum = x + y endif

5. การเปรยบเทยบขอมล 2 อยาง และมการเลอกทางเดยวหรอสองทางเลอกในการท างานหรอหลายทาง

Page 10: ม.3 รหัสจำลอง Pseudocode

10

5.2 การเปรยบเทยบทางเลอกหลายทาง เปนการเปรยบเทยบคาของขอมล โดยจะไปท ากลมค าสงตามคาของตวแปรทใชเปรยบเทยบ ใชค าวา case

case ตวแปรทใชเปรยบเทยบ of คาตวแปร1 : กลมค าสงกรณตวแปรมคาเทากบคาตวแปร1 คาตวแปร2 : กลมค าสงกรณตวแปรมคาเทากบคาตวแปร2 ... endcase

5. การเปรยบเทยบขอมล 2 อยาง และมการเลอกทางเดยวหรอสองทางเลอกในการท างานหรอหลายทาง

Page 11: ม.3 รหัสจำลอง Pseudocode

11

5.2 ตวอยางการท างานหลายทางเลอก

Case grade of 4 : write ‘A’ 3 : write ‘B’ 2 : write ‘C’ 1 : write ‘D’ 0 : write ‘F’ endcase

Page 12: ม.3 รหัสจำลอง Pseudocode

12

การท างานแบบวนซ า ม 3 รปแบบ คอ

6.1 do-while มการเปรยบเทยบเงอนไขกอนทจะท าค าสงภายใน แลวจงท าการเปรยบเทยบเงอนไขอกครง แตถาเงอนไขเปนเทจจะไมท าค าสงภายในแตจะขามไปท าค าสงถดไปจาก do-while

do (เงอนไขทใชเปรยบเทยบ) while กลมค าสงกรณเงอนไขเปนจรง enddo

6. การท างานซ าของคอมพวเตอร

end-of = ‘N’ do (end-of = ‘N’) while write ‘A’ compute x = y + 1 read end-of enddo

Page 13: ม.3 รหัสจำลอง Pseudocode

13

6.2 repeat-until ท าค าสงภายในกอน แลวจงท าการเปรยบเทยบเงอนไข ถาเงอนไขเปนเทจจะท าค าสงภายใน แต ถาเงอนไขเปนจรงจะขามไปท าค าสงถดไปจาก repeat-until

repeat กลมค าสงกรณเงอนไขเปนเทจ until (เงอนไขทใชเปรยบเทยบ)

6. การท างานซ าของคอมพวเตอร

end-of = ‘N’

repeat write ‘A’ compute x = y + 1 read end-of

until (end-of = ‘Y’)

Page 14: ม.3 รหัสจำลอง Pseudocode

14

6.3 for-endfor ท าค าสงภายในตามจ านวนครงทก าหนด ซงตองมตวแปรนบมาชวย เพอก าหนดจ านวนครงในการท าซ า

for ตวแปรนบ = คาเรมตน to คาสดทาย

กลมค าสง

endfor

6. การท างานซ าของคอมพวเตอร

For counter = 1 to 3 write ‘A’ endfor

Page 15: ม.3 รหัสจำลอง Pseudocode

15

1 ตวอยาง (Nature language)

ตวอยางท1. จงเขยนอลกอรทมเพอค านวณหาความยาวของทดนแปลงหนง โดยทราบคาพนทและความกวาง แลวแสดงผลทางหนาจอ วธท า (1). ก าหนดคาเรมตนของความยาวทดน เปน 0

(2). รบคาของขอมลพนทและความกวางของทดน

(3). ค านวณคา ความยาวทดน = พนท / ความกวาง

(4). แสดงผลคาความยาวทดนทไดจากการค านวณ

Page 16: ม.3 รหัสจำลอง Pseudocode

16

ตวอยางท2. จงเขยนอลกอรทมเพอรบขอมลราคาสนคาตอหนวย และจ านวนทซอสนคานน เพอค านวณหาราคาสนคารวม ภายใตเงอนไขตอไปน

วธท า (1). ก าหนดคาเรมตนของราคาสนคารวม เปน 0 (2). รบขอมล ราคาสนคาตอหนวย และจ านวนสนคาทซอ

(3). เปรยบเทยบจ านวนสนคา ถาสนคามนอยกวา 6 ชน ใหค านวณ ราคาสนคารวม = (ราคาสนคาตอหนวยxจ านวนชน) x 90/100

ถาสนคามมากกวาหรอเทากบ 6 ชน ใหค านวณ ราคาสนคารวม = (ราคาสนคาตอหนวย xจ านวนชน) x 85/100

(4). แสดงผลราคาสนคารวมทค านวณได

Page 17: ม.3 รหัสจำลอง Pseudocode

17

จากตวอยางท 2 ท าในรปแบบของซโดโคด คอ

วธท า ก าหนดตวแปร grandtotal = ราคาสนคารวม price = ราคาสนคาตอหนวย , numbers= จ านวนสนคา Start grandtotal = 0

read price, numbers if (numbers < 6) then compute grandtotal = (price * numbers) * 90/100 else compute grandtotal = (price * numbers) * 85/100 endif

write grandtotal Stop

Page 18: ม.3 รหัสจำลอง Pseudocode

18

ตวอยางท 3. จงเขยนอลกอรทมเพอรบขอมลราคาสนคาตอหนวย และจ านวนทซอสนคามากกวา 1 รายการสนคา เพอค านวณหาราคาสนคารวม ภายใตเงอนไขคอ ใหหยดเมอรายการสนคามากกวา 10 รายการ

วธท า (1). ก าหนดคาเรมตนของ ราคาสนคา และราคาสนคารวม เปน 0 และจ านวนรายการเปน 0

(2). รบขอมลราคาสนคาตอหนวย และจ านวนสนคาทซอ

(3). ค านวณ เพมจ านวนรายการสนคา นนคอ

จ านวนรายการ = จ านวนรายการ + 1

(4). ค านวณ ราคาสนคา = ราคาสนคาตอหนวย x จ านวนสนคา

ค านวณสะสม ราคาสนคารวม = ราคาสนคารวม +ราคาสนคา

(5). เปรยบเทยบจ านวนรายการวามากกวา 10 รายการหรอไม ถาไม ใหท าวน

ขอ (2)ใหม ถามากกวากใหท าขอ (6)

(6). แสดงผลคาราคาสนคารวม

Page 19: ม.3 รหัสจำลอง Pseudocode

19

จากตวอยางท 3 ท าในรปแบบของซโดโคด คอ

วธท า ก าหนดตวแปร grandtotal = ราคาสนคารวม

price = ราคาสนคาตอหนวย

numbers= จ านวนสนคา

grandprice = ราคาสนคา

counter = จ านวนรายการ

เนองจากมการวนซ าเกดขนเพราะโจทยบอกใหท ามากกวา 1 รายการ ซงการทจะใช

do-while , repeat-until และ for ใหผลไมเหมอนกน เราตองพจารณาใหดวาโจทย

ตองการอะไรและใหท ากรอบกนแน รวมถงการตงคาเรมตนใหกบตวแปรนบทจะใชเปนเงอนไขดวย

Page 20: ม.3 รหัสจำลอง Pseudocode

20

จากตวอยางท 3 ท าในรปแบบของซโดโคด คอ

Start grandtotal = 0, grandprice = 0, counter = 0

repeat read price, numbers compute counter = counter + 1 compute grandprice = price * numbers compute grandtotal = grandtotal + grandprice until (counter > 10) write grandtotal

Stop

Page 21: ม.3 รหัสจำลอง Pseudocode

21

*การเขยนซโดโคด (Pseudo Code)

Page 22: ม.3 รหัสจำลอง Pseudocode

22

จากตวอยางท 1 ท าในรปแบบของflowchart คอ

Start

Lplace = 0

read surface, wplace

compute lplace = surface / wplace write lplace

Stop

Page 23: ม.3 รหัสจำลอง Pseudocode

23

จากตวอยางท 2 ท าในรปแบบของflowchart คอ Start

grandtotal = 0

read price, numbers

grandtotal = (price * numbers) * 85/100 write grandtotal

Stop

(numbers < 6) no

grandtotal = (price * numbers) * 90/100 yes

Page 24: ม.3 รหัสจำลอง Pseudocode

24

1. โครงสรางตามล าดบ (Sequence Structure)

statement a

statement b

statement c

Add 1 to page_count

Print heading line

Set linecount to zero

Read customer record

สรปโครงสรางพนฐานส าหรบการเขยนโปรแกรมแบบการเขยนซโดโคด รหสจ าลอง (Pseudo Code)

Page 25: ม.3 รหัสจำลอง Pseudocode

25

2. โครงสรางการเลอก (Selection Structure)

IF condition p is true THEN IF student is part_time THEN

statement(s) in true case add 1 to part_time_count

ELSE ELSE

statement(s) in false case add 1 to full_time_count

ENDIF ENDIF

Page 26: ม.3 รหัสจำลอง Pseudocode

26

3. โครงสรางการท างานซ า (Repetition Structure)

DOWHILE condition p is true WHILE condition p is true DO

statement block statement block

ENDDO ENDWHILE

Page 27: ม.3 รหัสจำลอง Pseudocode

27

ตวอยาง โปรแกรมมการรบคาตวเลข 3 จ านวน แลวน ามาบวกกน จากนนพมพคาผลบวกทได

Input Processing Output

number_1 Read three numbers total

number_2 Add numbers together

number_3 Print total number

ตวแปรทใชส าหรบเกบคาตวเลข 3 จ านวน คอ Number_1,Number_2,Number_3 ตามล าดบ

ตวแปรทเกบคาผลบวก คอ Total

Page 28: ม.3 รหัสจำลอง Pseudocode

28

รปแบบการเขยนอลกอรทม (ตอ)

4. การเขยนโครงสรางการท างาน (Structure Chart)

เปนการออกแบบอลกอรทมหรอออกแบบผงงานทไมซบซอนมากนก โดยแบงงานเปนงานยอย (subtask) หรอ function หรอ module ซงท างานเฉพาะอยาง โดยก าหนดชอของแตละโมดลไว ท าใหสามารถท าความเขาใจ งานใหญๆและซบซอนได ผออกแบบสามารถพฒนาอลกอรทมของแตละโมดลได

Page 29: ม.3 รหัสจำลอง Pseudocode

*ตวอยาง

Initial Data Read Data Compute Data Write Ouput

โปรแกรมความยาวทดน

29

Page 30: ม.3 รหัสจำลอง Pseudocode

*ตวอยาง

Initial Data Read Data

Compute 1 Compute 2

Compare number Write Ouput

โปรแกรมราคาสนคา

30