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

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

Upload: bansit-deelom

Post on 29-May-2015

2.826 views

Category:

Documents


2 download

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