Top Banner
บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น ปัญหาย่อยและการสร้างลาดับ ขั้นตอนย่อย (Dividing main problems into sub problems)
49

บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10...

Jul 15, 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: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

บทที่ 10

การแบ่งปัญหาใหญ่ออกเป็น

ปัญหาย่อยและการสร้างล าดับ

ขั้นตอนย่อย

(Dividing main problems into sub

problems)

Page 2: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

จุดประสงค์การเรียนรู้

• เข้าใจความจ าเป็นในการแบ่งปัญหาใหญ่เป็นปัญหาย่อย

• เข้าใจการท างานแบบฟังก์ชัน (การแก้ปัญหาย่อย)

• เข้าใจและสามารถแยกฟังก์ชันออกจากปัญหาใหญ่ได้

• เข้าใจและสามารถเขียนผังงานแบบมีฟังก์ชันได้

หน้า | 2

Page 3: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หัวข้อเรื่อง

• ฟังก์ชันคืออะไร

• ข้อดีของฟังก์ชัน

• ตัวอย่าง

หน้า | 3

Page 4: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

ฟังก์ชันคืออะไร

หน้า | 4

ฟังก์ชัน คือ การท างานในส่วนย่อย ๆ ของงานหลัก ซึ่งงานหลักมักจะ

ประกอบไปด้วยส่วนย่อย ๆ นี้หลายส่วน

หรืออาจพูดได้ว่า ฟังก์ชัน เกิดจากการแตกปัญหาใหญ่ออกเป็นปัญหา

ย่อย ๆ และแก้ปัญหาย่อยออกไปที่ละส่วนจนกว่าจะหมด เพื่อลดความซับซ้อน

ของปัญหา และหาข้อผิดพลาดได้ง่าย

ที่มา : https://th.wikipedia.org

Page 5: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

เข้าใจการท างานของฟังก์ชัน

หน้า | 5

การท างานของฟังก์ชัน เปรียบเสมือนกล่องด า เมื่อใส่ข้อมูลเข้าไป

จ านวนหนึ่ง จะได้ผลลัพธ์จ านวนหนึ่ง ที่เกิดจากความสัมพันธ์ที่ก าหนดไว้ภายใน

ฟังก์ชัน

Page 6: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

ข้อดีของการใช้ฟังก์ชันในการแก้ปัญหา

หน้า | 6

• ช่วยให้แก้ปัญหาได้ง่ายขึ้น เพราะมีการแบ่งการท างานหลักออกเป็นงานย่อย ๆ

ซึ่งช่วยลดความซับซ้อน

• ช่วยให้เกิดโอกาสผิดพลาดน้อยลง เพราะทดสอบข้อผิดพลาดในงานส่วนงาน

ย่อย ๆ มาแล้ว

• ช่วยให้สามารถน าการท างานย่อย ๆ ไปใช้ในงานหลักอื่นได้ซึ่งท าให้ช่วยลดเวลา

ในการท างานหลักอื่น ๆ

Page 7: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

ตัวอย่างที่ 1 ตู้ขายสินค้าหยอดเหรียญ

หน้า | 7

• ถ้ากดปุ่มน้ าอัดลมก็จะได้น้ าอัดลม

• ถ้ากดปุ่มน้ าเปล่าก็จะได้น้ าเปล่า

• แต่ผู้ซื้อจะไม่ทราบโครงสร้างการท างานภายในของเครื่องจักร

• ฟังก์ชันเปรียบเสมือนโครงสร้างการท างานภายในของเครื่องจักร

Page 8: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

เปรียบเทียบตู้ขายสินค้าหยอดเหรียญกับฟังก์ชัน

หน้า | 8

ใส่เงื่อนไขหรือค่าหนึ่ง

หยอดเหรียญ + กดปุ่ม สินค้าจะออกมาเครื่องจักรท างาน

ฟังก์ชันท างาน ได้ผลลัพธ์ออกมา

Page 9: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 9

เริ่มต้น

สิ้นสุด

หยอดเหรียญ

เลือกสินค้า

สินค้าออกจาก

ช่องรับสินค้า

ตู้ขายสินค้าท างาน

(ตามชื่อสินค้าที่ผู้ใช้เลือก)

จากตัวอย่างตู้ขายสินค้าอัตโนมัติ

สามารถเขียนผังงานได้ ดังนี้

Page 10: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

ตัวอย่างที่ 2 หาค่ามากสุด และค่าน้อยสุด

หน้า | 10

• โปรแกรมสามารถรับตัวเลขได้ 5 จ านวน

• ส่งตัวเลข 5 จ านวนจากโปรแกรมหลักไปยังฟังก์ชัน 2 ฟังก์ชัน

• ฟังก์ชันหนึ่งท าการหาค่ามากที่สุดจากข้อมูลทั้ง 5 จ านวน

• อีกฟังก์ชันหนึ่งท าการหาค่าน้อยที่สุดจากข้อมูล 5 จ านวน

• สุดท้าย ทั้งสงฟังก์ชันส่งค่ามากที่สุด และค่าน้อยที่สุดที่หาได้ กลับมายังโปรแกรมหลัก

• โปรแกรมหลักแสดงผลลัพธ์ที่รับมาจากฟังก์ชัน

Page 11: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 11

รับข้อมูลเข้า 5 จ านวน ดังนี้

2, 5, 90, 8, 12จากนั้นส่งข้อมูลทั้ง 5 จ านวนไปยังฟังก์ชันสองฟังก์ชัน คือ

• ฟังก์ชันหาค่าที่มากที่สุด ชื่อฟังก์ชัน max

• ฟังก์ชันหาค่าที่น้อยที่สุด ชื่อฟังก์ชัน min

Page 12: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 12

เริ่มต้น

รับค่า n1, n2,

n3, n4, n5

m = max(n1, n2, n3, n4, n5)

n = min(n1, n2, n3, n4, n5)

แสดงค่า m, n

สิ้นสุด

โปรแกรมหลัก

รับค่า 2, 5, 90, 8, 12

m = max(2, 5, 90, 8, 12)

n = min(2, 5, 90, 8, 12)

แสดงค่า m, n

Page 13: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 13

max(n1, n2, n3, n4, n5)

temp = n1

คืนค่า temp

ฟังก์ชัน max

temp<n2

temp = n2

temp<n3

temp = n3

temp<n4

temp = n4

temp = n5

temp<n5

จริง

เท็จ

จริง

เท็จ

จริง

เท็จ

จริง

เท็จ

max(2, 5, 90, 8, 12)

temp = 2

2<5

temp = 5

5<90

temp = 90

90<8

90<12

คืนค่า 90

Page 14: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 14

min(n1, n2, n3, n4, n5)

temp = n1

คืนค่า temp

ฟังก์ชัน min

temp>n2

temp = n2

temp>n3

temp = n3

temp>n4

temp = n4

temp = n5

temp>n5

จริง

เท็จ

จริง

เท็จ

จริง

เท็จ

จริง

เท็จ

min(2, 5, 90, 8, 12)

temp = 2

2>5

2>90

2>8

2>12

คืนค่า 2

Page 15: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 15

เริ่มต้น

รับค่า n1, n2,

n3, n4, n5

m = max(n1, n2, n3, n4, n5)

n = min(n1, n2, n3, n4, n5)

แสดงค่า m, n

สิ้นสุด

โปรแกรมหลัก

รับค่า 2, 5, 90, 8, 12

m = max(2, 5, 90, 8, 12)

n = min(2, 5, 90, 8, 12)

แสดงค่า 90, 2

Page 16: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

ตัวอย่างที่ 3 โรงงานตุ๊กตา

หน้า | 16

• เปรียบเทียบโรงงานผลิตตุ๊กตาเป็นโปรแกรมหลัก

• เปรียบเทียบแผนกเย็บช้ินส่วนต่าง ๆ เป็นฟังก์ชัน

• โรงงานประกอบไปด้วยแผนกเย็บชิ้นส่วนต่าง ๆ ของตุ๊กตา คือ ส่วนหัว

ส่วนตัว และส่วนเท้า

• แต่ละแผนกจะเย็บตามรูปแบบที่ถูกก าหนดไว้แล้ว

Page 17: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 17

• โรงงานเปิดตัวขึ้นด้วยเงินทุนที่ไม่มากนัก• โรงงานผลิตตุ๊กตาแบบเดียวเท่านั้น คือ ตุ๊กตาหมี• โรงงาน (โปรแกรมหลัก) จะต้องรับออเดอร์เป็นจ านวนตัวของตุ๊กตา

• โรงงาน (โปรแกรมหลัก) จะต้องจ่ายงานไปยังแผนก (ฟังก์ชัน) ส าหรับเย็บส่วนหัว ส่วนตัว และส่วนเท้า ว่าจะ

ใช้ส่วนต่าง ๆ ในปริมาณเท่าไร

• โดยจะต้องสั่งดังนี้• Head(1) หมายความว่า สั่งชิ้นส่วนหัว 1 ชิ้น

• Body(1) หมายความว่า สั่งชิ้นส่วนตัว 1 ชิ้น

• Foot(2) หมายความว่า สั่งชิ้นส่วนเท้า 2 ชิ้น

หรือ 1 คู่ นั่นเอง

Page 18: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 18

โรงงาน (โปรแกรมหลัก) เริ่มต้น

รับ Oder

Head(Oder)

Body(Oder)

สิ้นสุด

Foot(Oder*2)

Page 19: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 19

แผนกเย็บส่วนหัว (ฟังก์ชัน Head) Head(num)

ตัดผ้าตามแบบ จ านวน num ช้ิน

เย็บผ้าให้เป็นรูปหัวตุ๊กตา

โดยเว้นช่องเล็กน้อย

ใส่ใยสังเคราะห์เข้าไปภายในผ้า

เย็บผ้าให้รอบหัวตุ๊กตา

ส่งหัวตุ๊กตาให้โรงงาน

จ านวน num หัว

Page 20: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 20

แผนกเย็บส่วนตัว (ฟังก์ชัน Body) Body(num)

ตัดผ้าตามแบบ จ านวน num ช้ิน

เย็บผ้าให้เป็นรูปตัวตุ๊กตา

โดยเว้นช่องเล็กน้อย

ใส่ใยสังเคราะห์เข้าไปภายในผ้า

เย็บผ้าให้รอบตัวตุ๊กตา

ส่งตัวตุ๊กตาให้โรงงาน

จ านวน num ตัว

Page 21: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 21

แผนกเย็บส่วนขา (ฟังก์ชัน Foot) Foot(num)

ตัดผ้าตามแบบ จ านวน num*2 ช้ิน

เย็บผ้าให้เป็นรูปเท้าตุ๊กตา

โดยเว้นช่องเล็กน้อย

ใส่ใยสังเคราะห์เข้าไปภายในผ้า

เย็บผ้าให้รอบเท้าตุ๊กตา

ส่งเท้าตุ๊กตาให้โรงงาน

จ านวน num*2 เท้า

Page 22: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 22

• ต่อมาโรงงานสะสมก าไรจากการผลิตตุ๊กตา ท าให้สามารถขยายโรงงานได้

• โรงงานผลิตตุ๊กตาหลายแบบมากขึ้น นอกจากตุ๊กตาหมีแล้ว โรงงานยังมีตุ๊กตา

แบบอ่ืน ๆ อีก 3 แบบให้ลูกค้าเลือกสั่งได้ คือ ตุ๊กตากระต่าย ตุ๊กตาไดโนเสาร์

และตุ๊กตาหุ่นยนต์

Page 23: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 23

• โรงงาน (โปรแกรมหลัก) จะต้องจ่ายงานไปยังแผนก (ฟังก์ชัน) ส าหรับเย็บ

ส่วนหัว ส่วนตัว และส่วนเท้า ว่าจะใช้ส่วนต่าง ๆ ในปริมาณเท่าไร

• โดยมีคีย์เวิร์ดในการสั่ง ดังนี้

หัว

คีย์เวิร์ด Bear Rabbit Dino Robot

ตัว

คีย์เวิร์ด Bear Rabbit Dino Robot

เท้า

คีย์เวิร์ด Bear Rabbit Dino Robot

Page 24: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 24

• ตัวอย่างค าสั่งผลิต

• Head(Rabbit,1)

หมายความว่า สั่งผลิตชิ้นส่วนหัวรูปแบบ Rabbit จ านวน 1 ช้ิน

• Body(Bear,1)

หมายความว่า สั่งผลิตชิ้นส่วนหัวรูปแบบ Bear จ านวน 1 ชิ้น

• Foot(Dino,2)

• หมายความว่า สั่งผลิตชิ้นส่วนเท้ารูปแบบ Dino จ านวน 2 ชิ้น หรือ 1 คู่

Page 25: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

Scratch

หน้า | 25

Page 26: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

บล็อกค าสั่งส าหรับสร้างฟังก์ชัน

หน้า | 26

ไปที่ Make a Block

Page 27: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 27

ตั้งชื่อฟังก์ชัน

เพิ่มข้อมูลเข้าส าหรับ

ฟังก์ชัน

Page 28: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 28

ตั้งช่ือตัวแปรส าหรับ

รับข้อมูลเข้า

เพิ่มจ านวนข้อมูลเข้า และตั้งช่ือตาม

ต้องการ

Page 29: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 29

ผลลัพธ์หลังจากสร้างบล็อค

ฟังก์ชันเรียบร้อยแล้ว

ใส่รายละเอียดภายในฟังก์ชัน

Page 30: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 30

ตัวอย่างการเรียกใช้ฟังก์ชัน

Page 31: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 31

ชมตัวอย่างได้ที ่https://scratch.mit.edu/projects/111957257/

Page 32: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

ตัวอย่างชิ้นงาน Scratch ที่มีการใช้ฟังก์ชัน

หน้า | 32

• รับข้อมูลเข้า 3 จ านวน

• ส่งข้อมูลทั้ง 3 จ านวนไปยังฟังก์ชันหาค่าที่มากที่สุด

• ส่งข้อมูลทั้ง 3 จ านวนไปยังฟังก์ชันหาค่าที่น้อยที่สุด

• แสดงผลลัพธ์ค่าที่มากที่สุด และค่าที่น้อยที่สุด

Page 33: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 33

เริ่มต้น

num1,num2,num3

maximum(num1,num2,num3)

minimum(num1,num2,num3)

max

min

สิ้นสุด

โปรแกรมหลัก

Page 34: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 34

เริ่มต้น

num1,num2,num3

maximum(num1,num2,num3)

minimum(num1,num2,num3)

max

min

สิ้นสุด

Page 35: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 35

เริ่มต้น

num1,num2,num3

maximum(num1,num2,num3)

minimum(num1,num2,num3)

max

min

สิ้นสุด

Page 36: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 36

เริ่มต้น

num1,num2,num3

maximum(num1,num2,num3)

minimum(num1,num2,num3)

max

min

สิ้นสุด

Page 37: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 37

เริ่มต้น

num1,num2,num3

maximum(num1,num2,num3)

minimum(num1,num2,num3)

max

min

สิ้นสุด

Page 38: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 38

เริ่มต้น

num1,num2,num3

maximum(num1,num2,num3)

minimum(num1,num2,num3)

max

min

สิ้นสุด

Page 39: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 39

maximum(num1,num2,num3)

คืนค่า

num1>num2 and num1>num3

num2>num1 and num2>num3max = num1

max = num2max = num3

จริง เท็จ

จริง เท็จ

ฟังก์ชัน

maximum

Page 40: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 40

maximum(num1,num2,num3)

คืนค่า

num1>num2 and num1>num3

num2>num1 and num2>num3max = num1

max = num2max = num3

จริง เท็จ

จริง เท็จ

Page 41: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 41

maximum(num1,num2,num3)

คืนค่า

num1>num2 and num1>num3

num2>num1 and num2>num3max = num1

max = num2max = num3

จริง เท็จ

จริง เท็จ

Page 42: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 42

maximum(num1,num2,num3)

คืนค่า

num1>num2 and num1>num3

num2>num1 and num2>num3max = num1

max = num2max = num3

จริง เท็จ

จริง เท็จ

Page 43: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 43

minimum(num1,num2,num3)

num1<num2 and num1<num3

num2<num1 and num2<num3min = num1

min = num2min = num3

คืนค่า

จริง เท็จ

จริง เท็จ

ฟังก์ชัน

minimum

Page 44: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 44

minimum(num1,num2,num3)

num1<num2 and num1<num3

num2<num1 and num2<num3min = num1

min = num2min = num3

คืนค่า

จริง เท็จ

จริง เท็จ

Page 45: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 45

minimum(num1,num2,num3)

num1<num2 and num1<num3

num2<num1 and num2<num3min = num1

min = num2min = num3

คืนค่า

จริง เท็จ

จริง เท็จ

Page 46: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 46

minimum(num1,num2,num3)

num1<num2 and num1<num3

num2<num1 and num2<num3min = num1

min = num2min = num3

คืนค่า

จริง เท็จ

จริง เท็จ

Page 47: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 47

ชมตัวอย่างได้ที ่https://scratch.mit.edu/projects/111687899/

Page 48: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

หน้า | 48

แหล่งอ้างอิง

• การเขียนผังงานฟังก์ชัน

จาก : http://kanokwan.sru.ac.th/e-learning/11.php

• ความหมายฟังก์ชันนิยามต่าง ๆ

จาก : https://goo.gl/lJzZ54

• ตัวอย่างตู้น้ าหยอดเหรียญ กล่องด า และข้อดีของฟังก์ชันจาก : สอนให้เก่งและอยากเรียน “คณิตศาสตร์” แปลโดย ดร.อรรณพ เรืองวิเศษ

• ตัวอย่าง Scratch

จาก : https://scratch.mit.edu/

Page 49: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น

ค าถาม ?

หน้า | 49