Top Banner
www.itsci.mju.ac.th/sayan DESIGNING OF PROGRAMS WITH PSEUDO CODE SAYAN UNANKARD 1/2562 4
23

DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

Aug 31, 2020

Download

Documents

dariahiddleston
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: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

www . i t s c i .m ju . ac . t h / sayan

DESIGNING OF PROGRAMS WITH PSEUDO CODE

SAYAN UNANKARD1/2562

4

Page 2: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

การควบคุมการท างานของโปรแกรม (PROGRAM CONTROL FLOW)

การควบคุมการท างานของโปรแกรม เป็นเครื่องมือที่ผู้พัฒนาโปรแกรมใช้ในการแสดงล าดับการท างานของโปรแกรมหรือใช้อธิบายอัลกอริธึม ให้เป็นระบบและง่ายต่อความเข้าใจ โดยโครงสร้างอาจจะอยู่ในรูปแบบดังนี้คือ• ผังงาน (Flowchart) ซึ่งเป็น Flow Diagram ชนิดหนึ่งส าหรับใช้อธิบายขั้นตอนการท างาน

ของโปรแกรมในลักษณะรูปภาพ

• ชุดค าสั่งเทียม (Pseudo code) จะมีสัญลักษณ์คล้ายกับภาษาอังกฤษ กับภาษาคอมพิวเตอร์ใช้ในการอธิบายลักษณะโครงสร้างข้อมูล และการท างานของอัลกอริธึมที่เราเขียนขึ้น

2

Page 3: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

PSEUDO CODE

• การน าค าในภาษาอังกฤษ มาแสดงการท างานของคอมพิวเตอร์ โดยเรียบเรียงเป็นประโยคให้สามารถสื่อความหมายให้ผู้อ่านเข้าใจได้ว่าแต่ละขั้นตอนของการแก้ปัญหานั้นท าได้อย่างไร

• Pseudo code ที่ดีต้องมีความชัดเจน สั้น กระชับ ได้ใจความก่อนท าการเขียนอัลกอริทึม ต้องก าหนดตัวแปรก่อนที่จะใช้ก่อนเสมอ

3

Page 4: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

วิธีการเขียนรหัสจ าลอง (PSEUDO CODE)

Pseudo code สามารถก าหนดการท างานได้เป็น 6 ข้อ ดังนี้• การรับข้อมูลของคอมพิวเตอร์

• การแสดงผลข้อมูลของคอมพิวเตอร์

• การค านวณหรือการท างานทางคณิตศาสตร์ของคอมพิวเตอร์

• การก าหนดค่าข้อมูลของคอมพิวเตอร์

• การเปรียบเทียบข้อมูล 2 อย่าง และมีการเลือกทางเดียวหรือสองทางเลือกในการท างานหรือหลายทาง

• การท างานซ้ าของคอมพิวเตอร์

4

Page 5: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

1. การรับข้อมูลของคอมพิวเตอร์

• การรับข้อมูลนิยมใช้ค าว่า read หรือ input ตามด้วยชื่อตัวแปรที่ต้องการรับค่า ถ้าต้องการรับค่าหลายตัวแปรให้ใช้เครื่องหมาย comma คั่น

• Read : การอ่านข้อมูลจากที่มีเก็บอยู่ในไฟล์แล้ว

• Get หรือ Input : การรับข้อมูลมาจากคีย์บอร์ด

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

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

5

Read student nameGet system dateRead number1, number2Get tax_code

Page 6: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

2. การแสดงผลข้อมูลของคอมพิวเตอร์

• Print : การส่งผลลัพธ์ไปยังเครื่องพิมพ์ (Printer)

• Write หรือ Put : การเก็บข้อมูลลงสู่ไฟล์ (File)

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

6

Print ‘Program Completed’Write customer record to master filePut name, address and postcodeOutput total_taxDisplay ‘End of data’

Page 7: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

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

• Add : การบวก

• Subtract : การลบ

• Multiply : การคูณ

• Divide : การหาร

7

Add number to totaltotal = total + numberDivide total_marks by student_countsale_tax = cost_price * 0.10Compute C = (F-32) * 5/9

Page 8: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

4. การก าหนดค่าข้อมูลของคอมพิวเตอร์

• Set หรือ Initialize : การก าหนดค่าเริ่มต้นให้กับข้อมูล ตาม to

• = : การก าหนดค่าผลลัพธ์ที่ได้จากการประมวลผล

• Save หรือ Store : การเก็บค่าข้อมูลไว้ใช้งานในครั้งต่อไป

8

Initialize total accumulators to zero

Set student_count to 0

total_price = cost_price + sale_tax

Store customer_num in last_customer_num

Page 9: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

5. การเปรียบเทียบข้อมูล

5.1 การเปรียบเทียบระหว่าง 2 ค่า เป็นการเปรียบเทียบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะให้ท าค าสั่งกลุ่มหนึ่ง แต่ถ้าเงื่อนไขเป็นเท็จให้ท าค าสั่งอีกกลุ่มหนึ่ง ใช้ค าว่า if..then..else..end if

if (เงื่อนไข) then กลุ่มค าสั่งกรณีเงื่อนไขเป็นจริง

else กลุ่มค าสั่งกรณีเงื่อนไขเป็นเท็จ

end if

9

if (x > 0) thenread x

elsecompute sum = x + y

end if

Page 10: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

5. การเปรียบเทียบข้อมูล

5.2 การเปรียบเทียบทางเลือกหลายทาง เป็นการเปรียบเทียบค่าของข้อมูล โดยจะไปท ากลุ่มค าสั่งตามค่าของตัวแปรที่ใช้เปรียบเทียบ ใช้ค าว่า case

case ตัวแปรที่ใช้เปรียบเทียบ of

ค่าตัวแปร1 : กลุ่มค าสั่งกรณีตัวแปรมีค่าเท่ากับค่าตัวแปร1

ค่าตัวแปร2 : กลุ่มค าสั่งกรณีตัวแปรมีค่าเท่ากับค่าตัวแปร2

...

end case

10

Page 11: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

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

case grade of

4 : write ‘A’

3 : write ‘B’

2 : write ‘C’

1 : write ‘D’

0 : write ‘F’

end case

11

Page 12: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

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

การท างานแบบวนซ้ า มี 3 รูปแบบ คือ

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

do (เงื่อนไขที่ใช้เปรียบเทียบ) while

กลุ่มค าสั่งกรณีเงื่อนไขเป็นจริง

end do

12

end-of = ‘N’

do (end-of = ‘N’) while

write ‘A’

compute x = y + 1

read end-of

end do

Page 13: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

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

6.2 repeat-until ท าค าสั่งภายในก่อน แล้วจึงท าการเปรียบเทียบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จจะท าค าสั่งภายใน แต่ ถ้าเงื่อนไขเป็นจริงจะข้ามไปท าค าสั่งถัดไปจาก repeat-until

repeat

กลุ่มค าสั่งกรณีเงื่อนไขเป็นเท็จ

until (เงื่อนไขที่ใช้เปรียบเทียบ)

13

end-of = ‘N’

repeat

write ‘A’

compute x = y + 1

read end-of

until (end-of = ‘Y’)

Page 14: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

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

6.3 for-end for ท าค าสั่งภายในตามจ านวนครั้งที่ก าหนด ซึ่งต้องมีตัวแปรนับมาช่วย เพื่อก าหนดจ านวนครั้งในการท าซ้ า

for ตัวแปรนับ = ค่าเริ่มต้น to ค่าสุดท้าย

กลุ่มค าสั่ง

end for

14

for counter = 1 to 3

write ‘A’

counter = counter + 1

end for

Page 15: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

EXAMPLE

ตัวอย่างโปรแกรมอ่านค่าตัวเลข แล้วแสดงผลค่าตัวเลขนั้น คูณกับ 2

15

Page 16: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

STRUCTURED ENGLISH AND PSEUDOCODE

Structured English

PROGRAM PrintNumber:

Read in a number and print it multiply 2 out.

END.

16

Pseudocode

PROGRAM PrintNumber:

Read A;

Print A * 2;

END.

Page 17: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

EXAMPLE

ตัวอย่างโปรแกรมส าหรับตรวจสอบว่า

เลขที่รับเข้ามาเป็นเลขคู่หรือเลขคี่

17

Page 18: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

STRUCTURED ENGLISH AND PSEUDOCODE

Structured English

PROGRAM OddOrEven:

Read in a number.

Divide it by two.

If there is a remainder, the number isodd, otherwise it’s even.

END.

18

Pseudocode

PROGRAM OddOrEven:

Read A;

IF A mod 2 != 0

THEN Print “It’s Odd”;

ELSE Print “It’s Even”;

ENDIF;

END.

Page 19: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

EXAMPLE

ตัวอย่างโปรแกรมส าหรับตรวจสอบ

หาค่าสูงสุดจากตัวเลข 3 ตัว

19

Page 20: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

STRUCTURED ENGLISH AND PSEUDOCODE

Structured English

PROGRAM FindMax:

Read in three numbers.

Compare first and second numbers,

If the first is greater than the second, the maximum number is the first, otherwise it’s the second.

Compare the maximum number with the third number, if the third number is greater than the maximum, themaximum is the third.

END.20

Pseudocode

PROGRAM FindMax:

Read A, B, C;

IF A > B THENMax = A;

ELSE Max = B;

ENDIF;

IF C > Max THENMax = C;

ENDIF;

Display Max;

END.

Page 21: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

EXAMPLE

ตัวอย่างโปรแกรมหาผลรวมตัวเลขตั้งแต่ 1 - 200

21

Page 22: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

STRUCTURED ENGLISH AND PSEUDOCODE

Structured English

PROGRAM SumNumber:

Keep adding the numbers from 1 to 200.

END.

22

Pseudocode

PROGRAM SumNumber:

Set i to 1 and sum to 0.do (i <= 200) while

sum = sum + ii = i + 1

end while

Display sum;

END.

Page 23: DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค าในภาษาอ งกฤษ มาแสดงการท างานของคอมพ

EXERCISES

จงเขียน flow chart และ Psedo code ของโปรแกรมต่อไปนี้1. โปรแกรมเกมทายตัวเลข โดยที่โปรแกรมจะสุ่มตัวเลขจ านวน 1 ตัว ระหว่าง 1 – 100

จากนั้นให้ผู้เล่นทายตัวเลข โดยกรอกข้อมูลทายตัวเลขได้สูงสุด 5 ครั้ง หากเกิน 5 ครั้งถือว่า Game Over ในแต่ละครั้งที่ทายตัวเลข โปรแกรมจะแสดงข้อความช่วยเหลือหลังจากที่ทายว่า ตัวเลขที่ทายนั้น มากกว่า หรือ น้อยกว่าตัวเลขที่สุ่มไว้ ในกรณีที่ทายถูกต้องจะแสดงข้อความว่า You Win!!

23