บทที่ 10 การแบ่งปัญหาใหญ่ออก...
Transcript of บทที่ 10 การแบ่งปัญหาใหญ่ออก...
![Page 1: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/1.jpg)
บทที่ 10
การแบ่งปัญหาใหญ่ออกเป็น
ปัญหาย่อยและการสร้างล าดับ
ขั้นตอนย่อย
(Dividing main problems into sub
problems)
![Page 2: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/2.jpg)
จุดประสงค์การเรียนรู้
• เข้าใจความจ าเป็นในการแบ่งปัญหาใหญ่เป็นปัญหาย่อย
• เข้าใจการท างานแบบฟังก์ชัน (การแก้ปัญหาย่อย)
• เข้าใจและสามารถแยกฟังก์ชันออกจากปัญหาใหญ่ได้
• เข้าใจและสามารถเขียนผังงานแบบมีฟังก์ชันได้
หน้า | 2
![Page 3: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/3.jpg)
หัวข้อเรื่อง
• ฟังก์ชันคืออะไร
• ข้อดีของฟังก์ชัน
• ตัวอย่าง
หน้า | 3
![Page 4: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/4.jpg)
ฟังก์ชันคืออะไร
หน้า | 4
ฟังก์ชัน คือ การท างานในส่วนย่อย ๆ ของงานหลัก ซึ่งงานหลักมักจะ
ประกอบไปด้วยส่วนย่อย ๆ นี้หลายส่วน
หรืออาจพูดได้ว่า ฟังก์ชัน เกิดจากการแตกปัญหาใหญ่ออกเป็นปัญหา
ย่อย ๆ และแก้ปัญหาย่อยออกไปที่ละส่วนจนกว่าจะหมด เพื่อลดความซับซ้อน
ของปัญหา และหาข้อผิดพลาดได้ง่าย
ที่มา : https://th.wikipedia.org
![Page 5: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/5.jpg)
เข้าใจการท างานของฟังก์ชัน
หน้า | 5
การท างานของฟังก์ชัน เปรียบเสมือนกล่องด า เมื่อใส่ข้อมูลเข้าไป
จ านวนหนึ่ง จะได้ผลลัพธ์จ านวนหนึ่ง ที่เกิดจากความสัมพันธ์ที่ก าหนดไว้ภายใน
ฟังก์ชัน
![Page 6: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/6.jpg)
ข้อดีของการใช้ฟังก์ชันในการแก้ปัญหา
หน้า | 6
• ช่วยให้แก้ปัญหาได้ง่ายขึ้น เพราะมีการแบ่งการท างานหลักออกเป็นงานย่อย ๆ
ซึ่งช่วยลดความซับซ้อน
• ช่วยให้เกิดโอกาสผิดพลาดน้อยลง เพราะทดสอบข้อผิดพลาดในงานส่วนงาน
ย่อย ๆ มาแล้ว
• ช่วยให้สามารถน าการท างานย่อย ๆ ไปใช้ในงานหลักอื่นได้ซึ่งท าให้ช่วยลดเวลา
ในการท างานหลักอื่น ๆ
![Page 7: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/7.jpg)
ตัวอย่างที่ 1 ตู้ขายสินค้าหยอดเหรียญ
หน้า | 7
• ถ้ากดปุ่มน้ าอัดลมก็จะได้น้ าอัดลม
• ถ้ากดปุ่มน้ าเปล่าก็จะได้น้ าเปล่า
• แต่ผู้ซื้อจะไม่ทราบโครงสร้างการท างานภายในของเครื่องจักร
• ฟังก์ชันเปรียบเสมือนโครงสร้างการท างานภายในของเครื่องจักร
![Page 8: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/8.jpg)
เปรียบเทียบตู้ขายสินค้าหยอดเหรียญกับฟังก์ชัน
หน้า | 8
ใส่เงื่อนไขหรือค่าหนึ่ง
หยอดเหรียญ + กดปุ่ม สินค้าจะออกมาเครื่องจักรท างาน
ฟังก์ชันท างาน ได้ผลลัพธ์ออกมา
![Page 9: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/9.jpg)
หน้า | 9
เริ่มต้น
สิ้นสุด
หยอดเหรียญ
เลือกสินค้า
สินค้าออกจาก
ช่องรับสินค้า
ตู้ขายสินค้าท างาน
(ตามชื่อสินค้าที่ผู้ใช้เลือก)
จากตัวอย่างตู้ขายสินค้าอัตโนมัติ
สามารถเขียนผังงานได้ ดังนี้
![Page 10: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/10.jpg)
ตัวอย่างที่ 2 หาค่ามากสุด และค่าน้อยสุด
หน้า | 10
• โปรแกรมสามารถรับตัวเลขได้ 5 จ านวน
• ส่งตัวเลข 5 จ านวนจากโปรแกรมหลักไปยังฟังก์ชัน 2 ฟังก์ชัน
• ฟังก์ชันหนึ่งท าการหาค่ามากที่สุดจากข้อมูลทั้ง 5 จ านวน
• อีกฟังก์ชันหนึ่งท าการหาค่าน้อยที่สุดจากข้อมูล 5 จ านวน
• สุดท้าย ทั้งสงฟังก์ชันส่งค่ามากที่สุด และค่าน้อยที่สุดที่หาได้ กลับมายังโปรแกรมหลัก
• โปรแกรมหลักแสดงผลลัพธ์ที่รับมาจากฟังก์ชัน
![Page 11: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/11.jpg)
หน้า | 11
รับข้อมูลเข้า 5 จ านวน ดังนี้
2, 5, 90, 8, 12จากนั้นส่งข้อมูลทั้ง 5 จ านวนไปยังฟังก์ชันสองฟังก์ชัน คือ
• ฟังก์ชันหาค่าที่มากที่สุด ชื่อฟังก์ชัน max
• ฟังก์ชันหาค่าที่น้อยที่สุด ชื่อฟังก์ชัน min
![Page 12: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/12.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/13.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/14.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/15.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/16.jpg)
ตัวอย่างที่ 3 โรงงานตุ๊กตา
หน้า | 16
• เปรียบเทียบโรงงานผลิตตุ๊กตาเป็นโปรแกรมหลัก
• เปรียบเทียบแผนกเย็บช้ินส่วนต่าง ๆ เป็นฟังก์ชัน
• โรงงานประกอบไปด้วยแผนกเย็บชิ้นส่วนต่าง ๆ ของตุ๊กตา คือ ส่วนหัว
ส่วนตัว และส่วนเท้า
• แต่ละแผนกจะเย็บตามรูปแบบที่ถูกก าหนดไว้แล้ว
![Page 17: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/17.jpg)
หน้า | 17
• โรงงานเปิดตัวขึ้นด้วยเงินทุนที่ไม่มากนัก• โรงงานผลิตตุ๊กตาแบบเดียวเท่านั้น คือ ตุ๊กตาหมี• โรงงาน (โปรแกรมหลัก) จะต้องรับออเดอร์เป็นจ านวนตัวของตุ๊กตา
• โรงงาน (โปรแกรมหลัก) จะต้องจ่ายงานไปยังแผนก (ฟังก์ชัน) ส าหรับเย็บส่วนหัว ส่วนตัว และส่วนเท้า ว่าจะ
ใช้ส่วนต่าง ๆ ในปริมาณเท่าไร
• โดยจะต้องสั่งดังนี้• Head(1) หมายความว่า สั่งชิ้นส่วนหัว 1 ชิ้น
• Body(1) หมายความว่า สั่งชิ้นส่วนตัว 1 ชิ้น
• Foot(2) หมายความว่า สั่งชิ้นส่วนเท้า 2 ชิ้น
หรือ 1 คู่ นั่นเอง
![Page 18: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/18.jpg)
หน้า | 18
โรงงาน (โปรแกรมหลัก) เริ่มต้น
รับ Oder
Head(Oder)
Body(Oder)
สิ้นสุด
Foot(Oder*2)
![Page 19: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/19.jpg)
หน้า | 19
แผนกเย็บส่วนหัว (ฟังก์ชัน Head) Head(num)
ตัดผ้าตามแบบ จ านวน num ช้ิน
เย็บผ้าให้เป็นรูปหัวตุ๊กตา
โดยเว้นช่องเล็กน้อย
ใส่ใยสังเคราะห์เข้าไปภายในผ้า
เย็บผ้าให้รอบหัวตุ๊กตา
ส่งหัวตุ๊กตาให้โรงงาน
จ านวน num หัว
![Page 20: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/20.jpg)
หน้า | 20
แผนกเย็บส่วนตัว (ฟังก์ชัน Body) Body(num)
ตัดผ้าตามแบบ จ านวน num ช้ิน
เย็บผ้าให้เป็นรูปตัวตุ๊กตา
โดยเว้นช่องเล็กน้อย
ใส่ใยสังเคราะห์เข้าไปภายในผ้า
เย็บผ้าให้รอบตัวตุ๊กตา
ส่งตัวตุ๊กตาให้โรงงาน
จ านวน num ตัว
![Page 21: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/21.jpg)
หน้า | 21
แผนกเย็บส่วนขา (ฟังก์ชัน Foot) Foot(num)
ตัดผ้าตามแบบ จ านวน num*2 ช้ิน
เย็บผ้าให้เป็นรูปเท้าตุ๊กตา
โดยเว้นช่องเล็กน้อย
ใส่ใยสังเคราะห์เข้าไปภายในผ้า
เย็บผ้าให้รอบเท้าตุ๊กตา
ส่งเท้าตุ๊กตาให้โรงงาน
จ านวน num*2 เท้า
![Page 22: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/22.jpg)
หน้า | 22
• ต่อมาโรงงานสะสมก าไรจากการผลิตตุ๊กตา ท าให้สามารถขยายโรงงานได้
• โรงงานผลิตตุ๊กตาหลายแบบมากขึ้น นอกจากตุ๊กตาหมีแล้ว โรงงานยังมีตุ๊กตา
แบบอ่ืน ๆ อีก 3 แบบให้ลูกค้าเลือกสั่งได้ คือ ตุ๊กตากระต่าย ตุ๊กตาไดโนเสาร์
และตุ๊กตาหุ่นยนต์
![Page 23: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/23.jpg)
หน้า | 23
• โรงงาน (โปรแกรมหลัก) จะต้องจ่ายงานไปยังแผนก (ฟังก์ชัน) ส าหรับเย็บ
ส่วนหัว ส่วนตัว และส่วนเท้า ว่าจะใช้ส่วนต่าง ๆ ในปริมาณเท่าไร
• โดยมีคีย์เวิร์ดในการสั่ง ดังนี้
หัว
คีย์เวิร์ด Bear Rabbit Dino Robot
ตัว
คีย์เวิร์ด Bear Rabbit Dino Robot
เท้า
คีย์เวิร์ด Bear Rabbit Dino Robot
![Page 24: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/24.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/25.jpg)
Scratch
หน้า | 25
![Page 26: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/26.jpg)
บล็อกค าสั่งส าหรับสร้างฟังก์ชัน
หน้า | 26
ไปที่ Make a Block
![Page 27: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/27.jpg)
หน้า | 27
ตั้งชื่อฟังก์ชัน
เพิ่มข้อมูลเข้าส าหรับ
ฟังก์ชัน
![Page 28: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/28.jpg)
หน้า | 28
ตั้งช่ือตัวแปรส าหรับ
รับข้อมูลเข้า
เพิ่มจ านวนข้อมูลเข้า และตั้งช่ือตาม
ต้องการ
![Page 29: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/29.jpg)
หน้า | 29
ผลลัพธ์หลังจากสร้างบล็อค
ฟังก์ชันเรียบร้อยแล้ว
ใส่รายละเอียดภายในฟังก์ชัน
![Page 30: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/30.jpg)
หน้า | 30
ตัวอย่างการเรียกใช้ฟังก์ชัน
![Page 31: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/31.jpg)
หน้า | 31
ชมตัวอย่างได้ที ่https://scratch.mit.edu/projects/111957257/
![Page 32: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/32.jpg)
ตัวอย่างชิ้นงาน Scratch ที่มีการใช้ฟังก์ชัน
หน้า | 32
• รับข้อมูลเข้า 3 จ านวน
• ส่งข้อมูลทั้ง 3 จ านวนไปยังฟังก์ชันหาค่าที่มากที่สุด
• ส่งข้อมูลทั้ง 3 จ านวนไปยังฟังก์ชันหาค่าที่น้อยที่สุด
• แสดงผลลัพธ์ค่าที่มากที่สุด และค่าที่น้อยที่สุด
![Page 33: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/33.jpg)
หน้า | 33
เริ่มต้น
num1,num2,num3
maximum(num1,num2,num3)
minimum(num1,num2,num3)
max
min
สิ้นสุด
โปรแกรมหลัก
![Page 34: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/34.jpg)
หน้า | 34
เริ่มต้น
num1,num2,num3
maximum(num1,num2,num3)
minimum(num1,num2,num3)
max
min
สิ้นสุด
![Page 35: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/35.jpg)
หน้า | 35
เริ่มต้น
num1,num2,num3
maximum(num1,num2,num3)
minimum(num1,num2,num3)
max
min
สิ้นสุด
![Page 36: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/36.jpg)
หน้า | 36
เริ่มต้น
num1,num2,num3
maximum(num1,num2,num3)
minimum(num1,num2,num3)
max
min
สิ้นสุด
![Page 37: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/37.jpg)
หน้า | 37
เริ่มต้น
num1,num2,num3
maximum(num1,num2,num3)
minimum(num1,num2,num3)
max
min
สิ้นสุด
![Page 38: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/38.jpg)
หน้า | 38
เริ่มต้น
num1,num2,num3
maximum(num1,num2,num3)
minimum(num1,num2,num3)
max
min
สิ้นสุด
![Page 39: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/39.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/40.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/41.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/42.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/43.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/44.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/45.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/46.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/47.jpg)
หน้า | 47
ชมตัวอย่างได้ที ่https://scratch.mit.edu/projects/111687899/
![Page 48: บทที่ 10 การแบ่งปัญหาใหญ่ออก ...88510059/week11.pdf · 2016-11-28 · บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/48.jpg)
หน้า | 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 การแบ่งปัญหาใหญ่ออกเป็น](https://reader034.fdocuments.us/reader034/viewer/2022050113/5f4a35f167cded428e576f06/html5/thumbnails/49.jpg)
ค าถาม ?
หน้า | 49