Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore _บทที่ 2 หลักการแก้ปัญหา ม4

_บทที่ 2 หลักการแก้ปัญหา ม4

Published by ประสิทธิ์ ยิ่งสม, 2021-01-20 11:46:16

Description: _บทที่ 2 หลักการแก้ปัญหา ม4

Search

Read the Text Version

บทท่ี 2 การแก้ปัญหาและข้นั ตอนวธิ ี รายวชิ า ว31181 รายวชิ า วทิ ยาการคานวณ

ปัญหาคืออะไร

ปัญหาคืออะไร ปัญหา คือ ส่ิงท่ีเรายงั ไม่ทราบคาตอบ และ ยงั ไม่ทราบข้นั ตอนวธิ ีในการแกป้ ัญหา

เกมส์ ตัวเลขแสนกล • ให้เตมิ ตัวเลข 1-9 ลงในช่องส่ีเหลย่ี มทจี่ ดั วาง ดังรูปข้างล่าง โดย 5 ตัวเลขในช่องจะต้องไม่ซ้ากนั และผลรวมของตัวเลขในด้าน ตามแนวนอนแนวต้งั และแนวทแยง แต่ละด้านมคี ่าเท่ากบั 15

เกมส์ ตัวเลขแสนกล • ให้เตมิ ตัวเลข 1-9 ลงในช่องส่ีเหลย่ี มทจี่ ดั วาง ดังรูปข้างล่าง โดย 5 ตัวเลขในช่องจะต้องไม่ซ้ากนั และผลรวมของตัวเลขในด้าน ตามแนวนอนแนวต้งั และแนวทแยง แต่ละด้านมคี ่าเท่ากบั 15



กระบวนการในการแก้ปัญหา - หากเรานาวธิ ีการแกป้ ัญหาต่างวธิ ีน้นั มาวเิ คราะห์ใหด้ ี จะพบวา่ สามารถสรุปวธิ ีการเหล่าน้นั เป็นทฤษฎีซ่ึงมีรูปแบบที่ แน่นอนได้ และบางคร้ังตอ้ งอาศยั การเรียนรู้ในระดบั สูงเพือ่ แกป้ ัญหาบางอยา่ งใหส้ มบูรณ์แบบ -

กระบวนการในการแก้ปัญหา จากการศึกษาพฤติกรรมในการเรียนรู้และแกป้ ัญหาของมนุษยพ์ บวา่ โดยปกติมนุษยม์ ีกระบวนการในการแกป้ ัญหา ซ่ึงประกอบดว้ ย 4 ข้นั ตอน ดงั น้ี ข้นั ตอนที่ 1 การวเิ คราะห์และกาหนดรายละเอียดของปัญหา (State the problem) ข้นั ตอนท่ี 2 การเลือกเครื่องมือและออกแบบข้นั ตอนวธิ ี (Tools and Algorithm development) ข้นั ตอนท่ี 3 การดาเนินการแกป้ ัญหา (Implementation) ข้นั ตอนที่ 4 การตรวจสอบและปรับปรุง (Refinement)

การวิเคราะห์และกาหนดรายละเอียดของปัญหา - การระบุข้อมูลเข้า (input) ไดแ้ ก่ การพจิ ารณาขอ้ มูลและเงื่อนไขท่ีกาหนดมาในปัญหา - การระบุข้อมูลออก (output) ไดแ้ ก่ การพจิ ารณาสิ่งท่ีตอ้ งหาคาตอบหรือเป้าหมาย - การกาหนดวธิ ีประมวลผล (processing) ไดแ้ ก่ การพิจารณาข้นั ตอนวธิ ีหาคาตอบหรือขอ้ มูลออก

การวิเคราะห์และกาหนดรายละเอียดของปัญหา ตัวอย่าง 1 แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของ การหาคา่ เฉล่ียของจานวนเตม็ 5 จานวน การระบุข้อมลู เข้า การระบุข้อมูลออก การกาหนดวธิ ีการประมวลผล

1. การวิเคราะห์และกาหนดรายละเอียดของปัญหา ตัวอย่าง 1 แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของ การหาคา่ เฉลี่ยของจานวนเตม็ 5 จานวน การระบขุ ้อมลู เข้า จานวนเตม็ 5 จานวน การระบุข้อมูลออก คา่ เฉล่ียของจานวนเตม็ 5 จานวน การกาหนดวธิ ีการประมวลผล 1) รับคา่ จานวนเตม็ 5 จานวน 2) นาจานวนเตม็ 5 จานวนมาบวกกนั แลว้ หารดว้ ย 5 3) แสดงผลลพั ธ์ คา่ เฉล่ีย

ตวั อย่าง 2 แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของ การหาพ้นื ท่ีสี่เหลี่ยมผนื ผา้ การระบุข้อมูลเข้า การระบุข้อมูลออก การกาหนดวธิ ีการประมวลผล

แบบฝกึ หดั ป.5

ตัวอย่าง 2 แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของ การหาพ้ืนที่สี่เหล่ียมผนื ผา้ การระบุข้อมูลเข้า ความกวา้ งและความยาว การระบุข้อมูลออก พ้นื ท่ีส่ีเหล่ียมผนื ผา้ การกาหนดวธิ ีการประมวลผล 1) รับคา่ ความกวา้ งและความยาว 2) พ้นื ท่ีส่ีเหล่ียมผนื ผา้ = ความกวา้ ง x ความยาว 3) แสดงผลลัพธ์ พ้นื ที่สี่เหลีย่ มผนื ผ้า

แบบฝักหัด 1.แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของการ หาพ้ืนที่สามเหล่ียม 2.แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของการ หาพ้ืนที่วงกลม

แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของการหาพ้ืนที่ สามเหล่ียม การระบุข้อมูลเข้า การระบุข้อมูลออก การกาหนดวธิ ีการประมวลผล

แบบฝกึ หดั ป.5

แบบฝกึ หดั ป.6

เฉลย 1 แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของ การหาพ้นื ที่สามเหล่ียม การระบุข้อมูลเข้า ความกวา้ งฐานและความสูง การระบุข้อมูลออก พ้ืนท่ีสามเหล่ียม การกาหนดวธิ ีการประมวลผล 1) รบั ค่า ความกวา้ งฐานและความสูง 2) พ้นื ท่ีสามเหล่ียม = 0.5 x ความกวา้ ง x ความยาว 3) แสดงผลลัพธ์ พน้ื ท่สี ามเหลีย่ ม

เฉลย 2 แสดงวธิ ีการวเิ คราะห์และกาหนดรายละเอียดของ การหาพ้นื ที่วงกลม การระบุข้อมูลเข้า ค่ารัศมี การระบุข้อมูลออก พ้ืนท่ีวงกลม การกาหนดวธิ ีการประมวลผล 1) รับค่า รศั มี 2) พ้นื ที่ลงกลม = 3.14 x (รัศมี x รัศมี) 3) แสดงผลลพั ธ์ พื้นท่วี งกล

2. การเลือกเครื่องมือและออกแบบข้นั ตอนวธิ ี เป็นข้นั ตอนของการการวางแผนในการแกไ้ ขปัญหาดว้ ย ความรอบคอบและสมเหตุสมผล ซ่ึงเกิดจากการวเิ คราะห์ปัญหาอยา่ ง ถ่องแทท้ าความเขา้ ใจกบั ปัญหาโดยศึกษาขอ้ มูลและเง่ือนไขท่ีมีขอ้ มูล ที่ไดถ้ ูกกาหนดไวใ้ ห้ และสิ่งที่โจทยต์ อ้ งการ โดยข้นั ตอนน้ีจะเป็นการ ใชป้ ระสบการณ์ในการคาดคะเนวธิ ีการในการแกป้ ัญหา หากผู้ แกป้ ัญหาเคยมีประสบการณ์ในการแกไ้ ขปัญหาน้ีมาก่อน หรือปัญหา ท่ีแกม้ ีโครงสร้างของปัญหาที่คลา้ ยคลึงกนั ผแู้ กป้ ัญหากจ็ ะถ่ายโอน ประสบการณ์มาใชก้ บั ปัญหาท่ีพบ



โปรแกรมหาพืน้ ท่ีสามเหลยี่ ม ตวั แปร base = float(input(\"ปอ้ นความยาวของฐาน : \")) height = float( input(\"ป้อนความสูง : \")) สแี ดงคือคาสั่ง area = 0.5 * base * height print(\"พน้ื ท่สี ามเหลย่ี ม = %.2f\" %area)

อธิบายโค้ด • ตวั แปร base คอื ตัวแปรท่ใี ช้เกบ็ ค่า ฐาน ท่ีรับคา่ จากการกรอกตัวเลขเข้าไป • ตัวแปร height คอื ตัวแปรทใ่ี ช้เก็บคา่ ความ สงู ทีร่ ับค่าจากการกรอกตวั เลขเขา้ ไป • ตัวแปร area คือ ตัวแปรท่ใี ชเ้ กบ็ คา่ จากการคานวณหาพ้ืนทส่ี ามเหลี่ยม • 0.5 * base * height คอื การคานวณหาพืน้ ที่สามเหลย่ี มตามสตู ร (1⁄2 x ฐาน x สงู ) • คาสั่ง input() เปน็ คาสัง่ ทีใ่ ชร้ ับค่า • คาสงั่ print() เปน็ คาสงั่ ทีใ่ ชแ้ สดงผล



การเขียนผังงาน (Flowchart) ความหมายของผงั งาน ผงั งาน (Flowchart) คือ รูปภาพ หรือสญั ลกั ษณ์ ท่ีใชเ้ ขียน อธิบายข้นั ตอนการทางานหรือการแกป้ ัญหา แทนการใชข้ อ้ ความ หรือ คาพดู เพอ่ื ความเขา้ ใจส่ือความหมายและวธิ ีการไปสู่บุคคลอื่นท่ีพบ ปัญหาในลกั ษณะเด่ียวกนั ใหส้ ามารถเขา้ ใจตรงกนั

ประโยชน์ของผงั งาน 1. ทาให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define) 2. แสดงลาดบั การทางาน (Step Flowing) 3. หาข้อผดิ พลาดได้ง่าย (Easy to Debug) 4. ทาความเข้าใจโปรแกรมได้ง่าย (Easy to Read) 5. ไม่ขนึ้ กบั ภาษาใดภาษาหนึ่ง (Flexible Language)

เริ่มต้น สัญลกั ษณ์ ของผงั งาน Flowchart

การเขยี นผงั งานทดี่ ี 1. ใชส้ ญั ลกั ษณ์ตามท่ีกาหนดไว้ 2. ใชล้ ูกศรแสดงทิศทางการไหลของขอ้ มูลจากบนลงล่าง หรือ จากซา้ ยไปขวา 3. คาอธิบายในภาพควรส้นั กะทดั รัด และเขา้ ใจง่าย 4. ทุกแผนภาพตอ้ งมีลูกศรแสดงทิศทางเขา้ - ออก 5. ไม่ควรโยงเสน้ เชื่อมผงั งานที่อยไู่ กลมาก ๆ ควรใชส้ ญั ลกั ษณ์ จุดเช่ือมต่อแทน 6. ผงั งานควรมีการทดสอบความถูกตอ้ งของการทางานก่อน นาไปเขียนโปรแกรม

เรม่ิ ตน้ และจบ การตดั สินใจ ข้อมูลเขา้ -ออก การปฏบิ ตั งิ าน ทิศทาง





เรม่ิ ต้น จบ

แบบฝึกหัด ตวั อยา่ ง 1. จงเขยี นโฟลว์ ชารต์ การทาไข่ดาว

โครงสร้างผงั งาน มี 3 แบบ 1.โครงสรา้ งแบบเรียงลาดับ 2.โครงสร้างแบบมเี งื่อนไข 3.โครงสร้างแบบวนซา้

โครงสร้างของผงั งาน 1. โครงสร้างแบบตามลาดับ (Sequence ) เปน็ รปู แบบการทางานของโปรแกรม โดยทางานจากบนลง ล่าง ตามคาสงั่ ทล่ี ะบรรทัด จนจบโปรแกรม

1. โครงสรา้ งแบบตามลาดบั เรม่ิ ต้น จบ

โครงสร้างของผงั งาน 2.การทางานแบบเลอื กทาตามเงือ่ นไข (Decision or Selection) คอื การเขยี นโปรแกรมเพือ่ นาค่าไปเลือกกระทา โดยปกติจะมี เหตุการณ์ใหท้ า 2 กระบวนการ คอื เงอื่ นไขเปน็ จริงจะกระทา กระบวนการหนงึ่ และเปน็ เทจ็ จะกระทาอีกกระบวนการหนึ่ง แต่ถา้ ซบั ซ้อนมากข้ึน จะตอ้ งใช้เงอื่ นไขหลายช้ัน เชน่ การตัด เกรดนกั ศึกษา เป็นตน้ ตัวอยา่ งผงั งานนี้ จะแสดงผลการเลอื กอยา่ ง ง่าย เพอ่ื กระทากระบวนการเพียงกระบวนการเดียว

1.โครงสรา้ งแบบเรยี งลาดบั เริม่ ตน้ การคานวณหาพ้นื ทสี่ ามเหลี่ยม รบั ค่าความยาวฐาน เรม่ิ ตน้ รับคา่ ความสงู 1.รบั ความยาวฐานและความสงู พ้นื ที่สามเหลี่ยม = 2.หาค่าพ้นื ที่สามเหล่ียม ½ x ความยาวฐาน x ความสงู 3.แสดงผลลัพธ์ แสดงผลลัพธ์ พื้นทส่ี ามเหลย่ี ม จบ จบ

2.โครงสรา้ งแบบเลือกทา

2.โครงสรา้ งแบบเลือกทา

2.โครงสรา้ งแบบเลือกทา คาสัง่ ท่ใี ช้ IF…else รูปแบบ : if (เงื่อนไข condition) { ชดุ คาสัง่ 1 (ทาเมื่อเง่ือนไขเป็นจริง) } Else { ชดุ คาสั่ง 2 (ทาเมอ่ื เง่ือนไขเป็นเทจ็ ) }

2.โครงสร้างแบบเลอื กทา ตวั อย่าง score = 60; if (score >= 50) { print(“คุณสอบผา่ น”); } else { print(“คุณสอบไมผ่ ่าน”); }

โครงสร้างของผงั งาน 3. การทาซ้า(Repeation or Loop) การทากระบวนการหนึ่งหลายคร้งั โดยมีเง่อื นไขในการ ควบคุม หมายถึงการทาซา้ เปน็ หลักการท่ีทาความเขา้ ใจไดย้ าก กว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแตล่ ะภาษา จะไม่ แสดงภาพอยา่ งชัดเจนเหมอื นการเขยี นผงั งาน ผเู้ ขยี น โปรแกรมต้องจินตนาการดว้ ยตนเอง

3. โครงสร้างแบบทาซา้

3. โครงสร้างแบบทาซา้

กจิ กรรมท่ี 2.1 ใหน้ กั เรียนเขียนผังงานของกจิ กรรมตอ่ ไปนี้ 1.นักเรยี นยืนรอขา้ มถนนตรงทางมา้ ลายท่มี ีสัญญาณไฟ 2.ใชข้ ันตักน้า 20 ขนั จนเตม็ ต้ปู ลา 3.การตม้ ไขย่ างมะตมู ทาได้โดยนาไข่ใสน่ ้าและตั้งไฟแลว้ ใหร้ อนา้ เดอื ด แล้วต้มต่ออกี 7 นาที จงึ จะไดไ้ ข่ตม้ ยางมะตมู 4.ชว่ งน้ีฝนตกเปน็ ประจาเกือบทกุ วนั ก่อนออกจากบ้านหากทอ้ งฟา้ คร้มึ ใหน้ กั เรียนหยบิ ร่มใสก่ ระเปา๋ ไปดว้ ย

กจิ กรรมที่ 2.1 ใหน้ กั เรยี นเขยี นผังงานของกจิ กรรมตอ่ ไปน้ี 1.นักเรยี นยืนรอขา้ มถนนตรงทางมา้ ลายท่มี สี ัญญาณไฟ แบบเงื่อนไข 2.ใชข้ นั ตักน้า 20 ขนั จนเต็มตู้ปลา แบบวนซ้า 3.การตม้ ไข่ยางมะตมู ทาได้โดยนาไขใ่ ส่น้าและตั้งไฟแลว้ ให้รอนา้ เดอื ด แลว้ ตม้ ตอ่ อีก 7 นาที จึงจะได้ไขต่ ้มยางมะตมู แบบวนซ้า 4.ช่วงนีฝ้ นตกเปน็ ประจาเกือบทกุ วนั ก่อนออกจากบ้านหากท้องฟ้าคร้มึ ให้นกั เรยี นหยิบร่มใสก่ ระเปา๋ ไปด้วย แบบเง่ือนไข

3 การดาเนนิ การแกป้ ัญหา เป็นขน้ั ตอนของการวางลาดับขั้นตอนของการสรา้ งช้นงานหรือวิธีการ จากนน้ั จงึ ลงมอื สร้างหรือพฒั นาชิ้นงานหรือวธิ กี าร เพื่อท่จี ะนาผลลพั ธ์ทีไ่ ด้ไปใช้ในการขั้นตอน ต่อไป

ชวนคดิ


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook