หน่วยท่ี 2
การแก้ปัญหาและข้นั ตอนวิธี
ร า ย วิ ช า ว 3 1 1 0 4 วิ ท ย า ก า ร คา น ว ณ
โ ร ง เ รี ย น ห้ ว ย ย อ ด ส พ ม . ต รั ง ก ร ะ บ่ี
การแกป้ ญั หา
ปญั หาคืออะไร
ปญั หา คอื ส่งิ ที่เรายังไมท่ ราบคาตอบ
และ ยังไมท่ ราบขน้ั ตอนวิธีในการแก้
รายวิชา ว31104 วทิ ยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรงั กระบี่
คดิ สนุก
ตวั อกั ษรแต่ละตวั A B C B +
แทนตวั เลขโดดทีต่ ่างกัน B D C B
จงหาวา่ ตัวอักษรแต่ละตัว CEAA
แทนตวั เลขอะไร ท่ีทาให้
มผี ลลัพธ์ดงั น้ี
รายวชิ า ว31104 วทิ ยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรัง กระบ่ี
เฉลยคดิ สนุก
คาตอบ A = 4 B = 2 C= 7 D = 8 E= 1
A B C B + 4272
B D C B 2 8 7 2+
CEAA 7 1 4 4
รายวชิ า ว31104 วิทยาการคานวณ โรงเรียนหว้ ยยอด สพม.ตรงั กระบ่ี
หลกั การแก้ปัญหา
หากเรานาวิธีการแกป้ ัญหาตา่ งวิธีนนั้ มาวิเคราะหใ์ หด้ ี จะพบว่าสามารถ
สรุปวิธีการเหล่านน้ั เปน็ ทฤษฎีซึ่งมรี ูปแบบทีแ่ นน่ อนได้ และบางคร้งั ต้อง
อาศัยการเรยี นรใู้ นระดบั สงู เพอื่ แกป้ ญั หาบางอย่างใหส้ มบรู ณแ์ บบ
จากการศกึ ษาพฤติกรรมในการเรยี นรแู้ ละแก้ปญั หาของมนษุ ยพ์ บว่า
โดยปกติมนุษยม์ กี ระบวนการในการแกป้ ญั หา ซง่ึ ประกอบดว้ ย
4 ขัน้ ตอน
รายวิชา ว31104 วิทยาการคานวณ โรงเรียนหว้ ยยอด สพม.ตรงั กระบี่
ข้นั ตอนการในการแก้ปญั หา
ขัน้ ตอนท่ี 1 การวิเคราะหแ์ ละกาหนดรายละเอียดของปัญหา
(State the problem)
ขนั้ ตอนที่ 2 การเลอื กเครอื่ งมือและออกแบบขัน้ ตอนวธิ ี
(Tools and Algorithm development)
ขั้นตอนที่ 3 การดาเนินการแก้ปัญหา
(Implementation)
ขั้นตอนที่ 4 การตรวจสอบและปรับปรงุ
(Refinement)
รายวชิ า ว31104 วทิ ยาการคานวณ โรงเรยี นห้วยยอด สพม.ตรงั กระบี่
การวเิ คราะห์และกาหนดรายละเอียดของปัญหา
การระบุข้อมลู ออก (output)
ได้แก่ การพจิ ารณาสงิ่ ทีต่ ้องหาคาตอบ
การระบขุ ้อมูลเข้า (input)
ไดแ้ ก่ การพจิ ารณาข้อมลู และเงอ่ื นไขทก่ี าหนดมาในปัญหา
การกาหนดวธิ ปี ระมวลผล (processing)
ได้แก่ การพิจารณาขน้ั ตอนวิธีหาคาตอบหรอื ข้อมูลออก
รายวชิ า ว31104 วิทยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรัง กระบี่
การวิเคราะหแ์ ละกาหนดรายละเอยี ดของปญั หา
ตัวอย่าง แสดงวิธีการวิเคราะหแ์ ละกาหนดรายละเอยี ดของการหาค่าเฉลยี่
ของจานวนเตม็ 5 จานวน
การระบขุ อ้ มูลออก
ค่าเฉลี่ยของจานวนเต็ม 5 จานวน
การระบุขอ้ มลู เขา้
จานวนเตม็ 5 จานวน
การกาหนดวิธกี ารประมวลผล
1) รับค่าจานวนเตม็ 5 จานวน
2) นาจานวนเตม็ 5 จานวนมาบวกกัน
3) นาผลลพั ธ์จากข้อ 2) มาหารดว้ ย 5
รายวชิ า ว31104 วิทยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรัง กระบี่
การออกแบบข้นั ตอนวธิ ใี นการแก้ปญั หา
ข้นั ตอนวิธี (Algorithm)
ข้นั ตอนวธิ ี คือ ลาดับขน้ั ตอนในการแกป้ ัญหา หรอื การ
ทางานที่ชดั เจน
รายวชิ า ว31104 วิทยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรัง กระบี่
การออกแบบขั้นตอนวธิ ีในการแกป้ ญั หา
ขน้ั ตอนวธิ ี (Algorithm)
รายวชิ า ว31104 วิทยาการคานวณ โรงเรยี นห้วยยอด สพม.ตรัง กระบี่
เครือ่ งมือในการออกแบบขน้ั ตอนวิธี
1. รหสั ลาลอง (Pseudo code)
เปน็ การจาลองขัน้ ตอนวิธแี กป้ ัญหา โดยการอธบิ ายด้วยคาพูด
ทเ่ี ข้าใจง่ายเป็นขนั้ ๆ
2. ผังงาน (Flowchart)
เปน็ การใชส้ ัญลักษณ์ในการแสดงรายละเอยี ดและลาดับของ
แตล่ ะขัน้ ตอนทใี่ ชแ้ ก้ปญั หา
รายวิชา ว31104 วทิ ยาการคานวณ โรงเรียนหว้ ยยอด สพม.ตรัง กระบี่
ตัวอย่าง รหัสลาลอง (PSEUDO CODE)
การวางแผนการไปโรงเรยี น การหาผลบวกของเลขจานวนเต็ม 2
ตัวแลว้ แสดงผลลพั ธอ์ อกทางจอภาพ
เริ่มตน้
ตืน่ นอน เร่ิมต้น
อาบนา้ รับคา่ จานวนเต็มเกบ็ ไวใ้ น x
ไปโรงเรยี น รับค่าจานวนเต็มเกบ็ ไวใ้ น y
c ←x+y
จบ แสดงคา่ C
จบ
รายวิชา ว31104 วทิ ยาการคานวณ โรงเรยี นห้วยยอด สพม.ตรัง กระบ่ี
แบง่ เปน็ 2 ประเภท ผังงาน (FLOW CHART)
1. ผงั งานระบบ
2. ผังงานโปรแกรม
(System Flowchart) (Program Flowchart)
รายวิชา ว31104 วิทยาการคานวณ โรงเรยี นห้วยยอด สพม.ตรงั กระบี่
สัญลักษณ์หรอื แผนภาพ (FLOW CHART)
สญั ลักษณ์ ชื่อเรียก ความหมาย
แทนจุดเริ่มต้นและลงทา้ ยของผังงานของโปรแกรมหลักและ
เรม่ิ ต้นและลงท้าย โปรแกรมย่อย
(terminal) แทนจุดทีจ่ านาขอ้ มูลเขา้ หรือออกจากระบบคอมพวิ เตอร์โดย
ไม่ระบชุ นดิ ของอุปกรณ์
การนาข้อมูลเข้า – ออกโดยทั่วไป แทนจดุ ท่ีจะตอ้ งเลอื กปฏิบตั อิ ยา่ งใดอยา่ งหนงึ่
(general input/output)
แทนจุดที่มีการปฏบิ ตั งิ านอย่างใดอย่างหน่งึ
การตัดสนิ ใจ
(decision) แทนจุดเชอ่ื มต่อของผงั งานเมื่อใชส้ ัญลักษณเ์ พอ่ื ให้ดูง่าย
แทนจุดเช่อื มตอ่ ของผังงานท่ีอยคู่ นละหน้ากระดาษ
การปฏบิ ัติงาน
(process) แทนทิศทางข้ันตอนการดาเนนิ งานซง่ึ จะปฏบิ ตั ติ อ่ เนื่องกัน
ตามหัวลกู ศรช้ี
จุดเชอ่ื มต่อ (connector)
จดุ เชอื่ มตอ่ หนา้ กระดาษ
(off page connector)
ทศิ ทาง (flow line)
ตวั อย่างการจาลองความคดิ
การวางแผนการไปโรงเรียน เรมิ่ ต้น
ตนื่ นอน
เร่มิ ตน้ อาบน้าแต่งตัว
ตนื่ นอน ไปโรงเรยี น
อาบน้าและแต่งตวั
ไปโรงเรยี น จบ
จบ
รายวิชา ว31104 วิทยาการคานวณ โรงเรียนหว้ ยยอด สพม.ตรัง กระบี่
โครงสรา้ งการโปรแกรม
โครงสร้างแบบลาดบั SEQUENTIAL STRUCTURE
คาสัง่ ท่ี 1 โ ค ร ง ส ร้ า ง แ ส ด ง ขั้ น ต อ น
คาสงั่ ที่ 2 การทางานที่เป็นไปตามลาดับก่อนหลัง
และแต่ละขั้นตอนจะถูกประมวลผล
เพียงครัง้ เดยี วเทา่ นน้ั
คาสง่ั ท่ี n
รายวิชา ว31104 วิทยาการคานวณ โรงเรียนห้วยยอด สพม.ตรงั กระบี่
กจิ กรรมเพ่ือนคูค่ ดิ ... THINK PAIR SHARE
ลาดบั กจิ กรรม 4 ข้นั ตอน
ขนั้ ท่ี 1 ครูตง้ั ปัญหาหรอื ขอ้ คาถาม
ขนั้ ท่ี 2 นกั เรียนคิดหาคาตอบดว้ ยตนเองตามเวลาทีค่ รกู าหนด
(THINK)
ขั้นที่ 3 นกั เรยี นจบั คู่อภิปรายคาตอบ (PAIR)
ขั้นที่ 4 ครสู มุ่ นักเรยี นให้ตอบปัญหาให้ฟังทัว่ ทง้ั หอ้ งเรียน (SHARE)
ทมี่ า : HTTP://EDU.VRU.AC.TH/SCT/CHEET%20DOWNDLOAD/2.PDF
รายวิชา ว31104 วิทยาการคานวณ โรงเรียนห้วยยอด สพม.ตรงั กระบี่
กจิ กรรมเพื่อนคูค่ ิด... THINK PAIR SHARE
ข้อที่ 1 แสดงวธิ กี ารวเิ คราะหแ์ ละกาหนดรายละเอยี ดของการหาพนื้ ท่ี
สี่เหลย่ี มผนื ผ้า
การระบุขอ้ มูลออก
พนื้ ทีส่ เ่ี หลี่ยมผืนผา้
การระบุขอ้ มูลเข้า
ความกว้างและความยาว
การกาหนดวิธกี ารประมวลผล
1) รับคา่ ความกว้างและความยาว
2) พ้นื ที่สีเ่ หลี่ยมผืนผา้ = ความกวา้ ง x ความยาว
3) แสดงผลพน้ื ที่สี่เหลีย่ มผืนผ้า
รายวิชา ว31104 วทิ ยาการคานวณ โรงเรยี นห้วยยอด สพม.ตรงั กระบี่
กจิ กรรมเพอื่ นคูค่ ิด... THINK PAIR SHARE
โครงสร้างแบบลาดบั SEQUENTIAL STRUCTURE
start ผงั งานการหาพนื้ ทส่ี ่ีเหลีย่ มผนื ผ้า
Input W, L สงั เกตวา่ แต่ละข้ันตอน
area W*L จะถกู ประมวลผลเพียงครงั้
เดยี วเทา่ นน้ั
Output area
end
รายวิชา ว31104 วทิ ยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรัง กระบ่ี
กิจกรรมเพอื่ นคคู่ ดิ ... THINK PAIR SHARE
ข้อท่ี 2 แสดงวธิ ีการวิเคราะหแ์ ละกาหนดรายละเอียดของการหาผลบวก
ของจานวนเต็ม 2 จานวน และแสดงผลลพั ธ์ออกทางจอภาพ
Output Input Process
ผลบวกของจานวนเตม็ คา่ จานวนเตม็ 2 จานวน 1) รบั คา่ จานวนเต็ม A และ B
2 จานวน แทนจานวนท่ี 1 ด้วย A 2) C A+B
แทนจานวนท่ี 2 ด้วย B 3) แสดงคา่ C
รายวชิ า ว31104 วิทยาการคานวณ โรงเรยี นห้วยยอด สพม.ตรงั กระบ่ี
กิจกรรมเพ่ือนคคู่ ดิ ... THINK PAIR SHARE
โครงสรา้ งแบบลาดบั SEQUENTIAL STRUCTURE
start
Input A ผังงานการหาผลบวกของเลข
Input B จานวนเต็ม 2 ตัว แล้วแสดงผลลัพธ์
ออกทางจอภาพ
C A+B
Display C
end
รายวิชา ว31104 วทิ ยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรัง กระบี่
ฝึกทกั ษะออกแบบขน้ั ตอนวธิ ใี นการแก้ปญั หา
กจิ กรรมที่ 2.1
ให้นักเรียนวิเคราะห์และกาหนดรายละเอียดของการหาพนื้ ท่ี
สามเหล่ียม พรอ้ มทั้งเขยี นผังงานของการหาพน้ื ท่สี ามเหลีย่ ม
Output Input Process
รายวิชา ว31104 วิทยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรงั กระบี่
เฉลยกิจกรรมฝึกทกั ษะ
กิจกรรมท่ี 2.1 ให้นักเรยี นวเิ คราะห์และกาหนดรายละเอยี ดของการหาพ้นื ที่
สามเหล่ยี ม พร้อมท้ังเขียนผงั งานของการหาพน้ื ที่สามเหลีย่ ม
Output Input Process
พื้นทีส่ ามเหลย่ี ม แทน รบั ค่าฐาน แทนดว้ ย W 1) รับค่า W และ H
ด้วย Area รบั ค่าสูง แทนดว้ ย H 2) Area 1/2*W*H
3) แสดงค่า Area
รายวชิ า ว31104 วทิ ยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรัง กระบ่ี
เฉลยกจิ กรรมฝึกทกั ษะ
โครงสร้างแบบลาดับ SEQUENTIAL STRUCTURE
start ผังงานการหาพ้ืนทสี่ ามเหล่ยี ม
Input W, H แทน ฐาน ดว้ ยตัวแปร W
Area 1/2*W*H แทน สูง ดว้ ยตัวแปร H
Output Area
end
รายวชิ า ว31104 วิทยาการคานวณ โรงเรียนหว้ ยยอด สพม.ตรงั กระบี่
ฝกึ ทักษะออกแบบขัน้ ตอนวธิ ีในการแกป้ ัญหา
กิจกรรมท่ี 2.2
ใหน้ กั เรียนวิเคราะหแ์ ละกาหนดรายละเอียดของการหาพ้นื ท่ี
วงกลม พรอ้ มท้งั เขียนผงั งานของการหาพื้นท่ีวงกลม
Output Input Process
รายวชิ า ว31104 วทิ ยาการคานวณ โรงเรียนห้วยยอด สพม.ตรัง กระบี่
เฉลยกิจกรรมฝกึ ทักษะ
กิจกรรมที่ 2.2 ใหน้ กั เรียนวิเคราะหแ์ ละกาหนดรายละเอียดของการหาพ้นื ที่
วงกลม พร้อมทัง้ เขยี นผงั งานของการหาพื้นทีว่ งกลม
Output Input Process
พ้ืนทวี่ งกลม แทนดว้ ย รบั คา่ รัศมี แทนดว้ ย r 1) รบั ค่า r
area 2) area 22/7*r*r
3) แสดงค่า area
รายวชิ า ว31104 วทิ ยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรงั กระบ่ี
เฉลยกจิ กรรมฝกึ ทกั ษะ
โครงสรา้ งแบบลาดบั SEQUENTIAL STRUCTURE
start ผังงานการหาพ้ืนทว่ี งกลม
Input r สงั เกตวา่ แต่ละขน้ั ตอน
จะถูกประมวลผลเพียงครงั้
area 22/7*r*r เดยี วเทา่ น้ัน
Output area
end
รายวิชา ว31104 วทิ ยาการคานวณ โรงเรยี นหว้ ยยอด สพม.ตรงั กระบี่
รายวิชา ว31104 วิทยาการคานวณ
โรงเรียนหว้ ยยอด สพม.ตรงั กระบ่ี