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 การแก้ปัญหาและอัลกอลิทึม

การแก้ปัญหาและอัลกอลิทึม

Published by JANTIWA PROMYART, 2021-02-14 06:21:32

Description: การแก้ปัญหาและอัลกอลิทึม

Search

Read the Text Version

วิทยาการคานวณ ม.1 โดยคุณครูจันทวิ า พรอ้ มญาติ โรงเรยี นนาทววี ทิ ยาคม ว21104 วิทยาการคานวณ การแกป้ ัญหา

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

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

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

ข้ันตอนการแก้ปญั หา การเขียนรหัสลาลอง การเขยี นผังงาน การวางแผนการปญั หา เป็นการถ่ายทอดความคิดโดยการ อธบิ ายเป็นข้ันตอน ประกอบดว้ ย 2 แบบ คอื

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

การหาพ้นื ท่ีรูปสามเหลย่ี ม 1.วิเคราะหแ์ ละกาหนดรายละเอียดของปญั หา : ………….. 2.วางแผนการแกป้ ัญหา : ………….. 3.ดาเนนิ การแก้ปัญหา : ………….. 4.ตรวจสอบและประเมนิ ผล : …………..

การหาพ้ืนทร่ี ปู สามเหลยี่ ม วธิ ีการหาพ้นื ท่รี ปู สามเหลยี่ ม ความสูง 1.วเิ คราะห์และกาหนดรายละเอียดของปัญหา ข้อมลู เขา้ คอื ความยาวฐาน ,ความสงู ขอ้ มลู ออก คือ พ้ืนที่สามเหลย่ี ม วธิ ตี รวจสอบความถูกต้อง เช่น ความยาวฐาน 4 ความสงู 5 ความยาวฐาน 5 ความสูง 10 = 25 ความยาวฐาน พ้ืนท่ี = ������ ������ ������ ความยาวฐาน������ความสูง

การหาพืน้ ท่รี ปู สามเหล่ยี ม วิธกี ารหาพนื้ ท่ีรปู สามเหลยี่ ม 2.วางแผนแก้ปญั หา : -รบั ค่าความยาวฐาน -รบั คา่ ความสูง - คานวณหาพนื้ ที่ พ้ืนท่ี = ������ ������ ������ ความยาวฐาน������ความสงู - แสดงผลลัพธ์

การหาพื้นท่รี ูปสามเหลย่ี ม วิธกี ารหาพื้นทร่ี ูปสามเหลยี่ ม 3. ดาเนนิ การแกป้ ญั หา : -ดาเนนิ การแกป้ ญั หาตามแผนท่ไี ดว้ างเอาไว้ 4. ตรวจสอบและประมวลผล : - ทดสอบใสค่ ่าที่กาหนดเอาไว้

ตวั อยา่ ง สถานการณ์ : ต้องการหาค่ามากที่สุดของจานวนสามจานวน ดังนี้

ตวั อยา่ ง ข้ันตอนการแกป้ ญั หา 1. วเิ คราะห์และกาหนดรายละเอียดของปญั หา ขอ้ มลู เข้า : จานวน 3 จานวนคือ 30 5 และ 25 ขอ้ มูลออก : ตัวเลขที่มคี า่ มากท่ีสุด วธิ ตี รวจสอบความถกู ต้อง : ดาเนินการหาตัวเลข ทมี่ ีค่ามากทสี่ ุด

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

ตวั อยา่ ง ขนั้ ตอนการแก้ปญั หา 3. ดาเนนิ การแก้ปญั หา ดาเนินการทดสอบตามขน้ั ตอนท่ีวางไว้ โดย – เปรียบเทยี บจานวนท่ีหน่งึ คอื 30 กบั จานวนท่ีสองคือ 5 พบว่า 30 มากทสี่ ดุ – นาค่าท่ีไดค้ อื 30 มาเปรียบเทียบกับค่าท่ีสามคือ 25 พบวา่ 30 มากท่สี ดุ – ค่าทีม่ ากท่สี ุดคือ 30

ตวั อยา่ ง ขนั้ ตอนการแกป้ ญั หา 4. ตรวจสอบและประเมินผล เมอื่ พจิ ารณาคาตอบแลว้ ผลทไี่ ดค้ ือ 30 มคี า่ มากที่สุด

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

ตัวอย่าง ลองทาด…ู หนทู าได้ ให้นักเรียนแสดงขั้นตอนการแก้ปัญหา เพื่อหาค่าส่วนสูง ทมี่ ากทส่ี ุดของนกั เรียนชายช้ัน ม.1/3 ซง่ึ มีข้อมูลดังต่อไปนี้ 120 115 112 164 123 161 137 140 125 156

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

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

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

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

การเขยี นรหสั ลาลอง ตวั อย่างที่ 1.1 การใส่เสอื้ เริม่ ตน้ 1. หยิบเสื้อ 2. สวมแขนซ้าย 3. สวมแขนขวา 4. ตดิ กระดุม จบ

การเขียนรหสั ลาลอง ตัวอยา่ งท่ี 1.2 การมาโรงเรยี น เร่ิมต้น 1. ต่นื นอน 2. อาบน้า 3. แตง่ ตัว 4. กนิ ข้าว 5. ขน้ึ รถรับสง่ 6. ถึงโรงเรียน จบ

การเขยี นรหสั ลาลอง ตวั อยา่ งท่ี 1.3 การหาพ้ืนทส่ี ามเหลีย่ ม เรม่ิ ต้น รบั คา่ ความยาวฐาน รบั คา่ ความสงู คานวณหาพ้ืนทสี่ ามเหลย่ี ม จากสตู ร ������ ������ฐาน������สงู ������ แสดงผลลพั ธ์ พืน้ ที่สามเหล่ียม จบ

การเขียนรหัสลาลอง การหาพนื้ ท่ีสามเหล่ียม โดยกาหนดให้ ฐาน = 10 สูง = 20 เริม่ ตน้ รบั ค่าความยาวฐาน = 10 รบั คา่ ความสูง = 20 คานวณหาพื้นท่ีสามเหล่ยี ม จากสตู ร ������ ������ฐาน������สูง = ������ ������10������20 ������ ������ แสดงผลลัพธ์ = 100 จบ

การเขยี นรหัสลาลอง แบบมีเง่อื นไข ตัวอย่างท่ี 1.4 นกั เรยี นยนื รอขา้ มถนนตรงทางม้าลายทมี่ ีสญั ญาณไฟจราจร เริ่มตน้ 1. ยนื รอขา้ มถนนตรงทางมา้ ลาย 2. ดสู ญั ญาณไฟจราจร 3. ตรวจสอบวา่ สญั ญาณไฟจราจรเป็นสีแดง ใชห่ รอื ไม่ 3.1 ถา้ ใช่ ใหไ้ ปทาข้ันตอนที่ 4 3.2 ไม่ใช่ ให้ไปทาขน้ั ตอนท่ี 2 4. ดูรถก่อนขา้ มถนน 5. เดนิ ขา้ มถนน จบ

การเขียนรหัสลาลอง ตวั อย่างที่ 1.5 ใชข้ นั ตักนา้ จนเต็มต้ปู ลา โดยจะตอ้ งตกั น้า 20 ขันจึงจะเตม็ ต้ปู ลา เริ่มตน้ 1. เปิดฝาตปู้ ลา 2. ตักนา้ ใสต่ ู้ปลา 1 ขัน 3. ตรวจสอบวา่ ตกั น้าครบ 20 ขนั ใชห่ รอื ไม่ 3.1 ถ้า ใช่ ใหไ้ ปทาขนั้ ตอนท่ี 4 3.2 ไมใ่ ช่ ใหไ้ ปทาขัน้ ตอนท่ี 2 4. เปดิ ออกซิเจน 5. ปิดตู้ปลา จบ

การเขยี นรหัสลาลอง ในการเรียนวิชาพละศกึ ษา ครใู หน้ ักเรียนว่งิ รอบสนามฟตุ บอล โดยจะตอ้ งว่งิ ให้ ครบ 3 รอบ ครจู งึ จะให้คะแนน เร่ิมต้น 1. เรียนวิชาพละศึกษา 2. วิ่งรอบสนาม 3. ตรวจสอบวา่ ว่ิงครบ 3 รอบ ใชห่ รือไม่ 3.1 ถา้ ใช่ ให้ไปทาขน้ั ตอนท่ี 4 3.2 ถา้ ไม่ใช่ ให้ไปทาขั้นตอนที่ 2 4. ครใู ห้คะแนน จบ

Flow chart การเขยี นผงั งาน (Flow chart)

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

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

Flow chart ตวั อยา่ งสัญลกั ษณ์ ที่ใชใ้ นการเขยี นผังงาน

Flow chart Start/Terminator (เรม่ิ ตน้ และจบ) สัญลกั ษณแ์ ทนจดุ เรม่ิ ตน้ และจบของการทางาน

Flow chart Input/output (การนาข้อมลู เข้า-ออก) สญั ลกั ษณแ์ ทนการรบั และแสดงข้อมูล ในกรณีทไ่ี มร่ ะบอุ ปุ กรณร์ บั ขอ้ มลู อาจรับขอ้ มูลจากคยี บ์ อร์ด แฟม้ ข้อมลู หรอื แสดงผลข้อมลู ทางจอภาพ เครือ่ งพมิ พ์ หรือแฟม้ ขอ้ มลู กไ็ ด้

Flow chart Process (การปฏิบัตงิ าน) สัญลกั ษณ์แทนการดาเนนิ การ / ประมวลผลขอ้ มูล เช่น การดาเนินการค่าคงที่ การกาหนดคา่ ขอ้ มลู ใหก้ บั ตัวแปร การคณู

Flow chart Decision (การตัดสินใจ) สัญลกั ษณ์แทนการเปรยี บเทยี บเพ่ือให้ตดั สนิ ใจเลอื ก โดยจะมีเส้นออกจากสัญลักษณน์ ้ี เพื่อชี้ไปยังการทางานตามเงื่อนไขทีเ่ ป็นจริง และชไ้ี ปยงั การทางานตามเง่อื นไขท่เี ปน็ เทจ็

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

Flow chart Flow line/Direction (ทิศทาง) เส้นแสดงทิศทางของการทางาน (แตล่ ะเสน้ ตอ้ งมีหัวลูกศรเดยี วเทา่ น้นั )

ประเภทของผงั งาน ผงั งานระบบ (System flowchart) ผงั งานโปรแกรม (Program flowchart)

ประเภทของผงั งาน ผังงานระบบ (System flowchart) เปน็ ผังงานทีใ่ ชม้ องภาพรวมกวา้ งๆ ของระบบงานหรอื ระบบใน องคก์ รวา่ เร่มิ ตน้ ทางานอย่างไร มีข้อมูลอะไรบ้าง มกี ระบวนการทางานหรอื ข้นั ตอนอย่างไร ผลลัพธเ์ ป็นอย่างไร จนกระทง่ั สิ้นสุดการทางาน ตวั อย่าง การจดั ทาผังการทางานของฝ่ายการเงนิ

ประเภทของผังงาน ผงั งานโปรแกรม (Program flowchart) เปน็ ผังงานทใี่ ช้แสดง ลาดบั ขน้ั ตอนการทางานตงั้ แต่ เรมิ่ ต้น รบั ขอ้ มลู ประมวลผล แสดงผลลพั ธ์ ฯลฯ ตัวอย่าง

รูปแบบของผังงานโปรแกรม รูปแบบของผงั งานโปรแกรม (Program flowchart) มี 3 รปู แบบ ดงั น้ี 1. ผงั งานเรยี งลาดบั 2. ผังงานแบบมเี ง่อื นไข 3. ผงั งานแบบทาซ้า

ผังงานแบบเรยี งลาดับ เรม่ิ ต้น การทางาน 1 เป็นรูปแบบผังงานที่ง่ายที่สุด ไม่ การทางาน 2 ซับซ้อน และไม่มีการเปรียบเทียบเง่ือนไขใด การทางาน 3 ๆ โดยแสดงขั้นการทางานไปตามลาดับ ตง้ั แต่ตน้ จนสิ้นสดุ การบวนการ จบ

ผังงานแบบเรียงลาดับ เรม่ิ ตน้ หยบิ เสอ้ื ตวั อย่างท่ี 1.1 การใสเ่ สอ้ื สวมแขนซา้ ย สวมแขนขวา 1. เรมิ่ ต้น ตดิ กระดุม 2. หยิบเส้ือ 3. สวมแขนซ้าย จบ 4. สวมแขนขวา 5. ติดกระดมุ 6. จบ

ผังงานแบบเรยี งลาดบั เริม่ ต้น ตัวอย่างท่ี 1.2 คานวณพนื้ ทสี่ เ่ี หล่ยี ม รบั ค่า ความยาวดา้ น 1. เรม่ิ ตน้ 2. รับคา่ ความยาวด้าน คานวณ 3. คานวณตามสูตร พ้ืนที่ส่ีเหล่ียมจัตรุ ัส พนื้ ท่ีสเ่ี หลย่ี มจัตุรัส = ดา้ น x ด้าน แสดงผล 4. แสดงผลลพั ธ์ พน้ื ที่สี่เหลีย่ มจัตรุ ัส 5. จบ จบ

ผังงานแบบเรียงลาดบั ตัวอยา่ งท่ี 1.3 คานวณหาคา่ ตัวแปร 1. เรมิ่ ต้น เรม่ิ ตน้ 2. กาหนดคา่ ตัวแปร A = 5, B = 3 A = 5, B = 3 3. กาหนดใหต้ ัวแปร C = A + B C=A+B 4. จบ จบ

แบบฝกึ หดั คาชแี้ จง:: ใหน้ กั เรียนเขียนผังงานแบบเรียงลาดังต่อไปน้ี ขอ้ ที่ 1 ขอ้ ที่ 2 1. เริ่มต้น 1. เริ่มตน้ 2. กาหนดคา่ ตัวแปร A = 37, B = 4 2. รบั ค่าความยาวดา้ น 3. กาหนดให้ตวั แปร C = A + B 3. คานวณพ้ืนท่สี ี่เหลีย่ ม = ด้าน x ด้าน 4. แสดงค่า C 4. แสดงผลลพั ธ์ 5. จบ 5. จบ

เฉลยแบบฝกึ หดั เริม่ ตน้ A = 37, B = 4 ข้อที่ 1 1. เร่ิมต้น C=A+B 2. กาหนดค่าตัวแปร A = 37, B = 4 C = 41 3. กาหนดให้ตวั แปร C = A + B 4. แสดงค่า C จบ 5. จบ

เฉลยแบบฝกึ หัด เริ่มตน้ ขอ้ ท่ี 2 ความยาวด้าน 1. เริ่มตน้ 2. รบั คา่ ความยาวดา้ น คานวณพืน้ ท่ีสี่เหลีย่ ม 3. คานวณพื้นทส่ี ่เี หลีย่ ม = ดา้ น x ด้าน = ดา้ น x ดา้ น 4. แสดงผลลัพธ์ 5. จบ แสดงผลลพั ธ์ จบ

ผังงานแบบมีเง่อื นไข เงอื่ นไข เทจ็ จริง  เป็นรูปแบบที่มกี ารสรา้ งเงอ่ื นไขเพ่อื เลอื กทางานในข้นั ต่อไป คาสงั่  โดยใชเ้ ง่ือนไขการตัดสนิ ใจเพียง 2 ทางเลือก เช่น - จริง หรอื เท็จ - ใช่ หรือ ไม่ใช่ - ถกู หรอื ผดิ - ผา่ น หรอื ไม่ผา่ น


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