บทที่ 2-1 · 2020. 7. 15. · 4 2.1...

54
1 บทที2-1 พื้นฐานการแก้ปัญหาด้วยคอมพิวเตอร์ Introduction to Problem Solving สื่อสไลด์นี้ใช้รูปแบบฟอนต์ สารบรรณ รุ่นปรับปรุงใหม่ Sarabun New” สามารถดาวน์โหลดฟอนต์ได้ทีURL : https://www.f 0nt.com/release/th-sarabun-new/

Transcript of บทที่ 2-1 · 2020. 7. 15. · 4 2.1...

Page 1: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

1

บทท 2-1พนฐานการแกปญหาดวยคอมพวเตอร

Introduction to Problem Solving

สอสไลดนใชรปแบบฟอนต สารบรรณ รนปรบปรงใหม “Sarabun New”สามารถดาวนโหลดฟอนตไดท URL : https://www.f0nt.com/release/th-sarabun-new/

Page 2: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

2

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

คอมพวเตอรกบการแกปญหาการท างานของเครองคอมพวเตอร จะท าตามโปรแกรมทเขยนขน ดงนนการ

น าเครองคอมพวเตอรมาชวยส าหรบการแกปญหา จงตองมโปรแกรมส าหรบการแกปญหาในงานนน ๆ

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

ก าหนดและวเคราะหปญหา

เขยนผงงานและซโดโคด

เขยนโปรแกรม

ทดสอบและแกไขโปรแกรม

ท าเอกสารและบ ารงรกษาโปรแกรม

Page 3: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

3

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

ขนตอนของการแกปญหา (Problem Solving) ส าหรบเตรยมการกอนลงมอเขยนโปรแกรมคอมพวเตอร ม 5 ขนตอนดงน

◼ การท าความเขาใจกบปญหา(Problem Specification Phase)

ท าความเขาใจกบปญหาทตองการแกไข และสรปในสงทตองท า

◼ พจารณาลกษณะของขอมลเขาและขอมลออก(Input and Output Specification Phase)

พจารณาลกษณะของขอมลเขาทตองสงใหโปรแกรม ขอมลออกทตองการใหโปรแกรมคอมพวเตอรแสดง และเปนชนดขอมลแบบใด

◼ การทดลองแกไขปญหาดวยตนเอง(Hand Example Phase)

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

Page 4: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

4

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ การเขยนขนตอนวธการแกปญหา (Algorithm Development Phase)น าขนตอนของการทดลองการแกไขปญหาดวยตนเอง มาท าการเรยบเรยงเปนล าดบขนตอนวธการท างาน โดยเขยนเปนขอ ๆ ตงแตขนตอนแรกจนถง

ขนตอนสดทาย

◼ เขยนล าดบขนตอนวธการท างานทงหมดอยางยอ◼ เขยนล าดบขนตอนวธการท างานอยางละเอยด◼ วธการเขยนล าดบขนตอนวธ

◼ Pseudo code (อานวา ซโดโคด) เขยนขนตอนวธดวยภาษาทใกลเคยงภาษาคอมพวเตอร

◼ Flowcharts เขยนขนตอนวธดวยรปภาพผงงาน

◼ การทดสอบขนตอนวธการแกปญหา (Testing Phase)ขนตอนส าหรบการทดสอบสวนของล าดบขนตอนวธการแกปญหาทไดเขยนขน โดยสมมตขอมลทใชเปนขอมล เขาส าหรบการแกปญหา สามารถท างานได

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

Page 5: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

5

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

การเขยนโปรแกรมคอมพวเตอร โดยไมไดมการเตรยมการไวกอน โดยการเขยนโปรแกรมตามความคดในขณะนน ไมไดมการวางแผนหรอการจดบนทกขนตอนวธการท างานของโปรแกรมทเขยนขน เปนวธการทไมถกตอง

◼ ไมสามารถรขนตอนการท างานของโปรแกรม◼ ท าใหเสยเวลาในการเขยนโปรแกรมเพมมากขน◼ หากตองการปรบปรง พฒนาการท างานของโปรแกรมในภายหลง จะม

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

การเขยนเอกสารประกอบการท างานของโปรแกรม ท าใหการปรบปรงพฒนาการท างานของโปรแกรมในภายหลง สามารถท าไดสะดวกยงขน

Page 6: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

6

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

ตวอยาง ขนตอนวธการแกปญหาดวยคอมพวเตอร

จงเขยนขนตอนวธการแกปญหาส าหรบการแสดงชอนามสกลและคณะทเรยนของนกศกษาเปนภาษาองกฤษ

นกศกษาชอ สมชาย ดเสมอ ภาษาองกฤษ Somchai Deesamer

เรยน คณะวศวกรรมศาสตร ภาษาองกฤษ Faculty of Engineering

Page 7: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

7

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 1 ท าความเขาใจกบปญหา

แสดง ชอ นามสกล และคณะทเรยนเปนภาษาองกฤษ

◼ ขนตอนท 2 ลกษณะของขอมลเขาและขอมลออก

ขอมลเขา คอ ไมม

ขอมลออก คอ แสดงขอความ ชอ นามสกล และคณะทเรยน ภาษาองกฤษ

◼ ขนตอนท 3 ทดลองแกไขปญหาดวยตนเอง

ถา นกศกษาชอ สมชาย ดเสมอ และเรยนอยทคณะวศวกรรมศาสตร

เขยนชอ นามสกล และคณะทเรยน เปนภาษาองกฤษ ไดดงน

Somchai Deesamer

Faculty of Engineering

Page 8: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

8

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานทงหมดอยางยอ

1. เรมตน 2. แสดงขอความ ชอ นามสกล 3. แสดงขอความ คณะทเรยน 4. จบการท างาน

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

Page 9: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

9

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหารหสเทยม (Pseudo Code)

1. Begin2. Write “Somchai Deesamer”

แสดงขอความ ชอ นามสกล

3. Write “Faculty of Engineering”แสดงขอความ คณะทเรยน

4. End

Page 10: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

10

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาผงงาน (Flowchart)

Stop

Start

Write Faculty of Engineerting

Write Somchai Deesamer

Page 11: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

11

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 5 การทดสอบขนตอนวธการแกปญหา1. Begin เปนสวนของการบอกการเรมตนของขนตอน

2. Write “Somchai Deesamer”แสดงขอความ Somchai Deesamer

3. Write “Faculty of Engineering”แสดงขอความ Faculty of Engineering

4. End เปนสวนของการบอกการสนสดของขนตอนทงหมด

จากการทดสอบตามล าดบขนตอนวธการท างานท างานไดอยางถกตอง

Somchai Deesamer

Faculty of Engineering

Page 12: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

12

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

ตวอยาง ขนตอนวธการแกปญหาดวยคอมพวเตอร

จงเขยนขนตอนวธการแกปญหาส าหรบการรบขอมลตวเลข 2 คา แลวท าการสลบคาตวเลขระหวางกน

ตวเลขแรก 63 ตวเลขทสอง 25

ท าการสลบ

ตวเลขแรก 25 ตวเลขทสอง 63

Page 13: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

13

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 1 ท าความเขาใจกบปญหา

สลบคาระหวางตวเลข 2 ตว

◼ ขนตอนท 2 ลกษณะของขอมลเขาและขอมลออก

ขอมลเขา คอ ตวเลขแรก และตวเลขทสอง ชนดของขอมลเปนขอมลชนดตวเลข

ขอมลออก คอ ตวเลขแรก และตวเลขทสอง ชนดของขอมลเปนขอมลชนดตวเลข

◼ ขนตอนท 3 ทดลองแกไขปญหาดวยตนเอง

ใหตวเลขแรก เทากบ 63 ใหตวเลขทสอง เทากบ 25

ท าการสลบตวเลขกน โดยใหตวเลขแรกไปใสตวทสอง ตวเลขทสองมาใสตวแรก

ตวเลขแรก ได 25 ใหตวเลขทสอง ได 63

Page 14: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

14

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานทงหมดอยางยอ

1. เรมตน 2. รบคาตวเลขแรก และตวเลขทสอง 3. สลบคาระหวางสองตวเลข4. แสดงคาตวเลขแรก และตวเลขทสอง5. จบการท างาน

ขนตอนในขอท 3 ยงไมละเอยดเพยงพอตอการน าใชในการเขยนโปรแกรม จงตองขยายความโดยเขยนขนตอนวธการท างานอยางละเอยด อกครง

Page 15: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

15

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานทงหมดอยางละเอยด

1. เรมตน 2. รบคาตวเลขแรก และตวเลขทสอง 3. สลบคาระหวางสองตวเลข

3.1 ฝากตวเลขแรกไวในทตวฝาก3.2 ใหตวเลขแรก เทากบ ตวเลขทสอง3.3 ใหตวเลขทสอง เทากบ ตวเลขทตวฝากไว

4. แสดงคาตวเลขแรก และตวเลขทสอง5. จบการท างาน

ตวแรก ตวทสอง

ตวฝาก

3.1

3.2

3.3

หมายเหต ทเกบขอมลทางคอมพวเตอร (ตวแปร) เกบคาไดเพยงคาเดยวเทานน

256325

63

Page 16: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

16

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหารหสเทยม (Pseudo Code)

1. Begin2. Read First, Second

รบขอมล 2 คา คอ ตวเลขแรก (First) และตวเลขทสอง (Second)

3. Temp First ใหตวฝาก เทากบ ขอมลตวเลขแรก

4. First Second ใหตวเลขแรก เทากบ ขอมลตวเลขทสอง

5. Second Temp ใหตวเลขทสอง เทากบ ขอมลตวฝาก

6. Write First, Secondแสดงคา ตวเลขแรก (First) และตวเลขทสอง (Second)

7. End

Page 17: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

17

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาผงงาน (Flowchart)

Stop

Start

Read First, Second

Temp First

First Second

Second Temp

Write First, Second

Page 18: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

18

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 5 การทดสอบขนตอนวธการแกปญหา1. Begin เปนสวนของการบอกการเรมตนของขนตอน

2. Read First, Secondเครองคอมพวเตอรจะรอรบขอมล 2 คา ปอนคา ตวแรก = 63 และตวทสอง = 25

3. Temp First ใหคาตวฝาก = 63

4. First Second ใหคาตวแรก = 25

5. Second Temp ใหคาตวทสอง = 63

6. Write First, Second แสดงคาตวแรกเปน 25 และตวทสองเปน 63

7. End เปนสวนของการบอกการสนสดของขนตอนทงหมด

จากการทดสอบตามล าดบขนตอนวธการท างานท างานไดอยางถกตอง63 25

25 63

63 25

Page 19: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

19

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

ตวอยาง ขนตอนวธการแกปญหาดวยคอมพวเตอร

จงเขยนขนตอนวธการแกปญหาส าหรบการหาคาปรมาตรของรปทรงกระบอก

สตรการค านวณ ปรมาตรทรงกระบอก = x r2x h

h

r

Page 20: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

20

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 1 ท าความเขาใจกบปญหา

การค านวณหาปรมาตรของรปทรงกระบอก

◼ ขนตอนท 2 ลกษณะของขอมลเขาและขอมลออก

ขอมลเขา คอ ความสงของทรงกระบอก และรศมของวงกลมทเปนฐานของ

ทรงกระบอก ชนดของขอมลเปนขอมลชนดตวเลข (จ านวนเตม หรอ จ านวนจรง)

ขอมลออก คอ คาของปรมาตรทรงกระบอก ชนดของขอมลเปนขอมลตวเลข

เปนตวเลขจ านวนจรง (ทศนยม)

Page 21: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

21

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 3 ทดลองแกไขปญหาดวยตนเอง

การค านวณหาปรมาตรทรงกระบอก หาไดจากสตร

ปรมาตรทรงกระบอก = x r2 x h

ถา รศมของฐาน = 5 หนวย

ความสง = 12 หนวย

คอ คาคงท มคา 3.14159 (เปนเลขจ านวนจรง)

ปรมาตรทรงกระบอก = 3.14159 x 52 x 12

= 942.477 หนวย3

Page 22: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

22

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานทงหมดอยางยอ

1. เรมตน 2. รบคาความสง และรศมของฐานทรงกระบอก

3. ค านวณคาปรมาตรทรงกระบอก * รศมของฐาน2 * ความสง 4. แสดงคาของปรมาตรทรงกระบอก 5. จบการท างาน

เขยนอธบายขนตอนวธการท างานอยางละเอยดไมจ าเปนการค านวณหาปรมาตรของทรงกระบอก การแกปญหาไมไดซบซอนมากสามารถอธบายแบบอยางยอและไดครบทกขนตอน

Page 23: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

23

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหารหสเทยม (Pseudo Code)

1. Begin2. Read High, Radius

รบขอมล 2 คา คอ ความสง (High) และรศม (Radius)

3. Volume 3.14159 * Radius2 * Highค านวณหาคาปรมาตรตามสตร และเกบผลลพธ (Volume) ไว

4. Write Volumeแสดงคา ผลลพธ (Volume) ของปรมาตรทรงกระบอกทได

5. End

Page 24: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

24

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาผงงาน (Flowchart)

Stop

Start

Write Volume

Volume 3.14159 * Radius2 * High

Read High, Radius

Page 25: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

25

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 5 การทดสอบขนตอนวธการแกปญหา1. Begin เปนสวนของการบอกการเรมตนของขนตอน

2. Read High, Radiusเครองคอมพวเตอรจะรอรบขอมล 2 คา ปอนคา ความสง = 12 และรศมของฐาน = 5

3. Volume 3.14159 * Radius2 * Highค านวณหาคาปรมาตรตามสตร = 3.14159 * 52 * 12 = 942.477 ลกบาศกหนวย

4. Write Volumeแสดงคาของปรมาตรทรงกระบอกทค านวณได คอ 942.477 ลกบาศกหนวย

5. End เปนสวนของการบอกการสนสดของขนตอนทงหมด

จากการทดสอบตามล าดบขนตอนวธการท างานท างานไดอยางถกตอง12 5

942.477

Page 26: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

26

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

ตวอยาง ขนตอนวธการแกปญหาดวยคอมพวเตอร

จงเขยนขนตอนวธการแกปญหาส าหรบการตดเกรดในวชาฝกงานโดยเกรดมสองเกรดคอ ผาน (S) และไมผาน (U)

เกณฑการตดเกรด คะแนน 60-100 ไดเกรด S

คะแนน 0-59 ไดเกรด U

Page 27: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

27

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 1 ท าความเขาใจกบปญหา

ตดเกรด ผาน(S) และไมผาน(U)

◼ ขนตอนท 2 ลกษณะของขอมลเขาและขอมลออก

ขอมลเขา คอ คะแนนประเมนเปนขอมลชนดตวเลข

ขอมลออก คอ เกรด S และ U เปนขอมลชนดตวอกษร

◼ ขนตอนท 3 ทดลองแกไขปญหาดวยตนเอง

การตดเกรดผานและไมผาน

ถาไดคะแนนประเมน = 70

คะแนนอยในชวง 60-100 ไดเกรดเปน S

Page 28: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

28

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานทงหมดอยางยอ

1. เรมตน 2. รบคาคะแนนประเมน 3. ค านวณคดเกรด4. แสดงคาเกรด 5. จบการท างาน

ขนตอนในขอท 3 ยงไมละเอยดเพยงพอตอการน าใชในการเขยนโปรแกรม จงตองขยายความโดยเขยนขนตอนวธการท างานอยางละเอยด อกครง

Page 29: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

29

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานอยางละเอยด

1. เรมตน 2. รบคาคะแนนประเมน 3. ค านวณคดเกรด

3.1 ถาคะแนนในชวง 60 – 100 ไดเกรด S3.2 ถาคะแนนในชวง 0 – 59 ไดเกรด U

4. แสดงคาเกรด 5. จบการท างาน

Page 30: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

30

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานอยางละเอยด

1. เรมตน 2. รบคาคะแนนประเมน 3. ถา คะแนนประเมนมากกวาหรอเทากบ 60 แลว

3.1 ใหเกรด Sมฉะนน3.2 ใหเกรด U

4. แสดงคาเกรด 5. จบการท างาน

ค ำนวณคดเกรด

Page 31: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

31

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหารหสเทยม (Pseudo Code)

1. Begin2. Read Score เครองคอมพวเตอรจะรบขอมล 1 คา คอ คะแนนประเมน (Score)

3. If Score >= 60 Then คะแนนประเมนตงแต 60 ขนไป

3.1 Grade ‘S’ Grade ไดตวอกษรเกรด S

Else นอกจากนน หรอ มฉะนนแลว

3.2 Grade ‘U’ Grade ไดตวอกษรเกรด U

4. Write Grade แสดงผลลพธ (Grade) ของเกรดทได

5. End

ค ำนวณคดเกรด

Page 32: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

32

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหา

ผงงาน (Flowchart)

Stop

Start

Grade S

Read Score

Grade U

Score >= 60Yes No

Write Grade

Page 33: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

33

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 5 การทดสอบขนตอนวธการแกปญหา1. Begin เปนสวนของการบอกการเรมตนของขนตอน

2. Read Score รบคาคะแนนประเมน 70

3. If Score >= 60 then คะแนน 70 อยในชวงคะแนนตงแต 60 ขนไป (จรง)

3.1 Grade ‘S’ ไดเกรด S

Else

3.2 Grade ‘U’4. Write Grade แสดงผลลพธ เกรด S

5. End เปนสวนของการบอกการสนสดของขนตอนทงหมด

จากการทดสอบตามล าดบขนตอนวธการท างานท างานไดอยางถกตอง70

S

Page 34: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

34

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 5 การทดสอบขนตอนวธการแกปญหาTest Case :Case 1 : Score = 120 ไดผลลพธCase 2 : Score = 69 ไดผลลพธCase 3 : Score = 45 ไดผลลพธCase 4 : Score = -10 ไดผลลพธ

ค าถาม : พจารณาแตละ Case วาถกตองตามโจทยงานหรอไม

จะเหนไดวาในกรณทปอนคะแนนไมอยในชวง 0-100 กสามารถออกมาเปนเกรดได เพราะจากขนตอนวธ เราใช 60 เปนตวแบงชวงเกรด

SSUU

60

SU

Page 35: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

35

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

ตวอยาง ขนตอนวธการแกปญหาดวยคอมพวเตอร

จงเขยนขนตอนวธการแกปญหาส าหรบการหาผลรวมของตวเลขจ านวนเตมตงแตเลข 1 ถง คา n

สตรการค านวณ

Page 36: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

36

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 1 ท าความเขาใจกบปญหา

ค านวณผลรวมตวเลขจ านวนเตม ตงแต 1 ถง คา n

◼ ขนตอนท 2 ลกษณะของขอมลเขาและขอมลออก

ขอมลเขา คอ ตวเลขคาสดทายทจะค านวณถง เปนขอมลชนดตวเลขจ านวนเตม

ขอมลออก คอ ตวเลขผลรวมทค านวณได เปนขอมลชนดตวเลขจ านวนเตม

◼ ขนตอนท 3 ทดลองแกไขปญหาดวยตนเอง

ถาให n มคาเทากบ 6

ผลรวม = 1 + 2 + 3 + 4 + 5 + 6 = 21

ค าตอบ ผลรวม มคาเทากบ 21

Page 37: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

37

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานทงหมดอยางยอ

1. เรมตน 2. รบคา ตวเลข n ทจะค านวณถง 3. ค านวณหาผลรวม4. แสดงคาผลรวม5. จบการท างาน

ขนตอนในขอท 3 ยงไมละเอยดเพยงพอตอการน าใชในการเขยนโปรแกรม จงตองขยายความโดยเขยนขนตอนวธการท างานอยางละเอยด อกครง

Page 38: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

38

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหาเขยนอธบายขนตอนวธการท างานอยางละเอยด

1. เรมตน 2. รบคา ตวเลข n ทจะค านวณถง3. ใหตวนบ i มคาเรมตนท 14. ใหผลรวม Sum มคาเรมตนท 05. ในขณะท ตวนบยงไมเกนคา n ใหท า

5.1 ผลรวมใหม มคาเทากบ คาผลรวมเดม + ตวนบ i5.2 เพมตวนบ i ขนอก 1

6. แสดงคาผลรวม7. จบการท างาน

ค ำนวณผลรวม

Page 39: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

39

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหารหสเทยม (Pseudo Code)

1. Begin2. Read n เครองคอมพวเตอรจะรบขอมล 1 คา คอ คาสดทาย (n)

3. i = 1 ก าหนดคาตวนบ (i) เรมตนท 1

4. Sum = 0 ก าหนดคาผลรวม (Sum) เรมตนท 0

5. While i <= n do ในขณะท ตวนบ (i) นอยกวาหรอเทากนกบ คาสดทาย (n)

5.1 Sum Sum + i ใหผลรวม มคาเทากบ ผลรวมเดม + ตวนบ

5.2 i i + 1 ใหตวนบ มคาเทากบ ตวนบเดม + 1

6. Write Sum แสดงผลรวม (Sum) ทได

7. End

Page 40: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

40

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 4 การพฒนาล าดบขนตอนวธการแกปญหา

ผงงาน (Flowchart)

Stop

Start

Sum Sum + i

Read n

i i + 1

i <= n

Yes

No

i 1

Sum 0

Write Sum

Page 41: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

41

2.1 การวเคราะหปญหาส าหรบการออกแบบโปรแกรม

◼ ขนตอนท 5 การทดสอบขนตอนวธการแกปญหา1. Begin เปนสวนของการบอกการเรมตนของขนตอน

2. Read n เครองคอมพวเตอรจะรบคาสดทาย n = 6

3. i = 1 ก าหนดคาตวนบ i = 1

4. Sum = 0 ก าหนดคาผลรวม Sum = 0

5. While i <= n do ในขณะท 1<=6(จรง) ... 6<=6(จรง) ท า 7<=6(เทจ) ไปขอ 6

5.1 Sum Sum + i ผลรวม Sum = 0 +1 +2 +3 +4 +5 +6

5.2 i i + 1 ตวนบ i = 1+1 =2 =3 =4 =5 =6 =7

6. Write Sum แสดงคา ผลรวม Sum ทได มคาเทากบ 21

7. End เปนสวนของการบอกการสนสดของขนตอนทงหมด

จากการทดสอบตามล าดบขนตอนวธการท างานท างานไดอยางถกตอง

6

21

Page 42: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

42

2.2 ผงงาน

ผงงาน คอ การเขยนอธบายขนตอนวธการท างาน ในลกษณะของรปภาพลกษณะของผงงานแตละรปแบบกจะมความหมายแตกตางกน

ประโยชนของผงงาน

◼ อธบายขนตอนวธการท างานในลกษณะของรปภาพ

◼ เหนล าดบและทศทางของขนตอนวธการท างานไดชดเจนกวาขอความ

Stop

Start

Read First, Second

Temp First

First Second

Second Temp

Write First, SecondStop

Start

Grade S

Read Score

Grade U

Score >= 60Yes No

Write Grade

Page 43: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

43

2.2 ผงงาน

สญลกษณส าหรบการเขยนผงงาน

◼ Terminator จดเรมตนและจดสนสดของผงงาน

◼ Process การก าหนดคา การค านวณ และการประมวลผลทวไป

StartStop

Pi 3.14159 F (C*9/5) + 32

Page 44: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

44

2.2 ผงงาน

สญลกษณส าหรบการเขยนผงงาน

◼ Input/Output (Data) การรบขอมลเขาและการแสดงผลขอมล โดยไมระบชนดอปกรณ

◼ Manual Input (Keyboard) การรบขอมลเขาทางแปนพมพ

High, Radius

Read B, H Write Answer : , Area

Page 45: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

45

2.2 ผงงาน

สญลกษณส าหรบการเขยนผงงาน

◼ Display (Monitor) การแสดงผลขอมลออกทางจอภาพ

◼ Document (Printer) การแสดงผลเอกสาร หรอการแสดงผลขอมลออกทางเครองพมพ

Output : , Ans

Sum : , Sum

Page 46: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

46

2.2 ผงงาน

สญลกษณส าหรบการเขยนผงงาน

◼ Predefined Process เรยกใชโปรแกรมยอย ฟงกชน หรอโมดล

◼ Internal Storage การเกบขอมลภายใน

Find_Area(B, H)

Integer B, HReal Area

Page 47: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

47

2.2 ผงงาน

สญลกษณส าหรบการเขยนผงงาน

◼ Sequential Access Storage การตดตอกบอปกรณทเปนการเขาถงแบบล าดบ

◼ Direct Access Storage การตดตอกบอปกรณทเปนการเขาถงขอมลแบบตรง

Save Area

Load Area

Save Ans Load Ans

Page 48: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

48

2.2 ผงงาน

สญลกษณส าหรบการเขยนผงงาน

◼ Decision การตดสนใจ การเปรยบเทยบ จะมผลใน 2 ทศทาง คอ กรณผลตรวจสอบเงอนไข เปนเทจ และเปนจรง

◼ Flow line/Direction การแสดงทศทางการท างานของผงงาน

Score >= 60Yes No

Temp First

First Second

Second Temp

Page 49: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

49

2.2 ผงงาน

สญลกษณส าหรบการเขยนผงงาน

◼ On-page Connector จดตอภายในหนาเดยวกน

◼ Off-page Connector จดตอระหวางหนา หรอคนละหนา

ZZ

88

Page 50: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

50

2.2 ผงงาน

ลกษณะการเขยนผงงาน

❑ ทกผงงานตองมจดเรมตนและจดสนสดเพยงหนงแหงเทานน

❑ ทกสญลกษณของผงงานตองมลกศรชทศทางเขา และลกศรชทศทางออกอยางละหนงลกศร ยกเวนสญลกษณจดเรมตน จดสนสด การตดสนใจ และ จดตอ

❖ จดเรมตนมเฉพาะทศทางออก

❖ จดสนสดมเฉพาะทศทางเขา

❖ การตดสนใจมทศทางเขา 1 ทศทาง มทศทางออก 2 ทศทาง

❖ จดตอมแบบทศทางเขาอยางเดยว และ ทศทางออกอยางเดยว

StartStop Score >= 60

Yes No ZZ

88

Page 51: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

ลกษณะการเขยนผงงาน

◼ ทศทางการท างาน นยมเขยนจากบนลงลางหรอจากซายไปขวา

◼ เสนของลกศรทใชบอกทศทางไมควรเขยนตดกนหรอทบกน

◼ ไมควรเขยนเสนเชอมโยงทอยหางกนมาก ควรใชสญลกษณจดตอแทน

◼ นยมใชเครอง หมายลกศร () แทนการใชเครองหมายเทากบ (=)

51

2.2 ผงงาน

ZZ

F (C*9/5) + 32

หามวาดเสนทบกนลกษณะน

Page 52: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

52

2.2 ผงงาน

ตวอยาง ลกษณะผงงาน ม 3 แบบ

1. การท างานแบบล าดบ 2. การท างานแบบเลอกท า 3. การท างานแบบท าซ า

Stop

Start

Read First, Second

Temp First

First Second

Second Temp

Write First, SecondStop

Start

Grade S

Read Score

Grade U

Score >= 60Yes No

Write Grade

Stop

Start

Sum Sum + i

Read n

i i + 1

i <= n

Yes

No

i 1

Sum 0

Write Sum

Page 53: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

53

http://meteeblog.blogspot.com/2015/01/flowchart.html53

2.2 ผงงาน

Page 54: บทที่ 2-1 · 2020. 7. 15. · 4 2.1 การวิเคราะห์ปัญหาส าหรับการออกแบบโปรแกรม การเขียนขั้นตอนวิธีการแก้ปัญหา

54

จบบทท 2-1พนฐานการแกปญหาดวยคอมพวเตอร

Introduction to Problem Solving

สอสไลดนใชรปแบบฟอนต สารบรรณ รนปรบปรงใหม “Sarabun New”สามารถดาวนโหลดฟอนตไดท URL : https://www.f0nt.com/release/th-sarabun-new/