ทบทวนความรู้ก่อนเรียน
เขียน หน้าขอ้ ความที่ถกู
แนวคิดเชิงนามธรรม (Abstraction)
เปน็ ส่วนหนึ่งของแนวคิดเชิงคานวณ
---------------------------------------------
แนวคิดเชิงนามธรรมเป็นการคัดแยกรายละเอียด
ทีจ่ าเปน็ ออกจากรายละเอียดทีไ่ ม่จาเป็น
ปญั หาในชีวิตประจาวัน
การเดินทางไปสถานที่ไม่ร้จู ัก
การซักเสื้อผ้าให้สมาชิกทกุ คนในครอบครัว
การซ้ือตั๋วชมภาพยนตร์
ลองทาดู
ถ้าผ้เู รียนต้องการเดินทางจากบ้านไปสถานทีท่ ีไ่ ม่ร้จู กั
นักเรียนจะเดินทางอย่างไร
ระบุปัญหา/ ค้นหาข้อมูล
ตั้งคาถาม เพื่อตอบคาถาม
คาถามย่อยและคาตอบ
ต้องการเดินทางจากบ้านไปสถานที่ที่ไมร่ ู้จัก
1.ต้องการไปสถานที่ใด หอสมุดประจาจังหวดั
2.เดินทางโดยวิธีการใด
3.ระหว่างทางมีอะไรบ้าง ตึก 2 ชั้น จกั รยาน
4. สถานที่นั้น มหี ลังคาทรง
ตลาด วดั
มีลกั ษณะอย่างไร ไทย ร้านขนม
คาถาม
คาถามและคาตอบ
ต้องการเดินทางจากบ้านไปสถานที่ทีไ่ มร่ ู้จัก
5. เส้นทางเป็นอย่างไร 1.ปนั่ จักรยานไปทางตลาด
2.ผ่านตลาดเลี้ยวขวาที่แยกไฟแดง
คาถาม
4.แล้วตรงไปอีก 200 เมตร 3.ตรงไป 500 เมตร แล้วเลยี้ วซา้ ย
ช่วยกันคิดคาถามย่อย บัตรชว่ ยกันคิดคาถามย่อย
สถานการณ์
แบ่งเป็นกล่มุ กล่มุ ละ 4 คน ------------------------
รบั บัตรช่วยกนั คิดคาถามย่อย คาถามย่อย
กาหนดสถานการณ์เอง หรือ
---------------------
เลือกสถานการณ์ที่เตรียมให้
วิเคราะห์แล้วตั้งคาถามย่อย คาตอบ
ตอบคาถามย่อย
------------------------
ตวั อย่างสถานการณ์
ต้องการซ้อื เมาส์ อ่านหนังสือให้จบ 1 บท
ทาการบ้านอย่างไรให้สาเรจ็ เล่นเกม OX ให้เป็นผ้ชู นะ
สอนน้องบวกเลข 2 หลัก ซักผ้าให้สะอาด
มีเงิน 100 ต้องการซ้อื ส้ม ใช้เงินให้ประหยัด
ซ้ือสินค้าให้คุ้มค่า
และฝรง่ั จะได้กีก่ ิโลกรมั
การทาข้าวผดั
แบ่งปัญหาใหญ่ การพิจารณา การคิด การออกแบบ
เชิงนามธรรม อลั กอริทึม
เป็นปญั หายอ่ ย รปู แบบ
แนวคิดเชิงคานวณ
ศึกษาเนื้อหาในหนังสือเรียน (5 นาที)
ให้ผ้เู รียนแต่ละกล่มุ ศึกษาเน้ือหาในหนงั สือ ตามหัวข้อต่อไปน้ี
1.1 การแบ่งปัญหาใหญ่เปน็ ปญั หาย่อย
1.2 การพิจารณารปู แบบ
1.3 การคิดเชิงนามธรรม
1.4 การออกแบบอัลกอริทึม
ร่วมกนั อภิปรายสรปุ
การแบ่งปัญหาใหญ่เป็นปัญหาย่อย
เป็นการแตกปัญหาที่ซับซอนออกเป็นปญั หาย่อยที่มี
ความซับซ้อนน้อยลง เพือ่ ช่วยในการวิเคราะห์ปัญหาและ
ออกแบบขั้นตอนการแก้ปัญหาย่อยแต่ละปญั หาให้ง่ายข้นั
การแบง่ ปัญหาใหญเ่ ป็นปัญหายอ่ ย
ตวั อย่าง การสอนเดก็ ที่สามารถบวกเลขได้เพียงหลกั เดียว
ให้สามารถบวกเลขทีม่ ี 2 หลกั ได้
วิธีการบวกเลขหลักสิบ? วิธีการบวกเลขหลักหน่วย?
?
การพิจารณารปู แบบ
เป็นการหารปู แบบที่เหมือนหรือคล้ายคลึงกนั ระหว่าง
ปัญหาย่อยที่แตกออกมา หรือความคล้ายคลึงกบั ปญั หาอื่น
ๆ เพื่อนาวิธีการแก้ปัญหาไปประยุกต์ใช้กบั การแก้ปัญหา
ย่อยอื่น ๆ เปน็ การช่วยลดข้นั ตอนในการออกแบบวิธีการ
แก้ปัญหาได้
การคิดเชิงนามธรรม
o การคดั แยกรายละเอียดที่จาเป็นต่อการแก้ปัญหา ออก
จากรายละเอียดที่ไม่จาเปน็ ทาให้ออกแบบวิธีการ
แก้ปัญหาในภาพรวมทาได้ง่ายข้นึ
o การแทนกลุ่มของปัญหา ข้นั ตอน และกระบวนการทีม่ ี
รายละเอียดปลีกย่อยหลายข้นั ตอนให้เป็นข้ันตอนเดียว
อัลกอริทึม
รายการคาสง่ั ที่อธิบายขั้นตอนการแก้ปญั หา โดย
คาส่งั ทีใ่ ช้จะต้องไม่กากวมผ้อู ื่นสามารถนาไปปฏบิ ตั ิ
ตามได้ ซึ่งคาสัง่ มักอยู่ในรูปของรหัสลาลอง (pseudo
code) หรือผงั งาน (flowchart)
อลั กอริทมึ ใหค้ นนาไปปฏิบัติ หรอื คอมพิวเตอร์นาไปปฏิบัติ
ร่วมกนั สรปุ ตวั อย่าง ภาพวาดหม่บู า้ น
โดยใช้แนวคิดเชิงคานวณในการแก้ปัญหา (คลิกเพ่ือเปิ ดไฟลส์ รปุ )
ใบกิจกรรมที่ 3.1 วาดแบบแปลนอาคาร
** หลังคาเป็นสามเหลีย่ นดา้ นเทา่ ซง่ึ ในรปู ไมใ่ ชส่ ัดสว่ นท่แี ทจ้ รงิ
2.1 การแบ่งปญั หาใหญ่เป็นปญั หาย่อย
ในภาพมีอาคารกี่หลัง
ข้นั ตอนในการวาดอาคาร I Shopping Mall เป็นอย่างไร
และอย่ทู ี่ตาแหน่งใด
ข้นั ตอนในการวาดอาคาร P IT Center เปน็ อย่างไร
และอย่ทู ี่ตาแหน่งใด
ข้นั ตอนในการวาดอาคาร S Salon เป็นอย่างไร และอย่ทู ีต่ าแหน่งใด
ข้นั ตอนในการวาดอาคาร T Sport Center เปน็ อย่างไร
และอย่ทู ี่ตาแหน่งใด
2.2 การพิจารณารูปแบบ
ปัญหาย่อยที่ 1 ในภาพมีอาคารกี่หลัง
มีอาคาร 4 หลัง
2.2 การพิจารณารปู แบบ
ปัญหาย่อยที่ 2 อาคาร I Shopping Mall มขี ้นั ตอนการวาดอย่างไร
และอยู่ที่ตาแหนง่ ใด
ตัวอาคาร วาดด้วยรปู สีเ่ หลี่ยมจตุรัสสีเทา
ขนาด ด้านละ 40 หน่วย
ตั้งอย่บู น มมุ ลา่ งซ้าย ทีพ่ ิกดั (0,0)
ด้านบนสีเ่ หลี่ยมวาด หลงั คา ด้วยรูปสามเหลีย่ ม
ด้านเท่าสีเขียวขนาดด้านละ 40 หน่วย
2.2 การพิจารณารูปแบบ
ปญั หาย่อยที่ 3 อาคาร P IT Center มขี น้ั ตอนการวาดอยา่ งไร
และอยทู่ ีต่ าแหน่งใด
ตัวอาคาร วาดด้วยรูปสี่เหลี่ยมจตรุ สั สีฟ้า
ขนาด ด้านละ 20 หน่วย
ตั้งอย่บู น มมุ ล่างซ้าย ทีพ่ ิกดั (50,10)
ไม่มี หลงั คา
2.2 การพิจารณารูปแบบ
ปญั หาย่อยที่ 4 อาคาร S Salon มขี ้นั ตอนการวาดอย่างไร
และอย่ทู ีต่ าแหนง่ ใด
ตัวอาคาร วาดด้วยรูปสีเ่ หลี่ยมจตุรัสสีฟ้า
ขนาด ด้านละ 20 หน่วย
ตั้งอย่บู น มมุ ล่างซ้าย ทีพ่ ิกดั (60,40)
ไม่มี หลงั คา
2.2 การพิจารณารปู แบบ
ปญั หาย่อยที่ 5 อาคาร T Sport Center มขี ้นั ตอนการวาดอยา่ งไร
และอยทู่ ีต่ าแหน่งใด
ตวั อาคาร วาดด้วยรูปสี่เหลี่ยมจตุรัสสีน้าเงิน
ขนาด ด้านละ 30 หน่วย
ต้ังอย่บู น มมุ ลา่ งซา้ ย ทีพ่ ิกดั (80,0)
ด้านบนสีเ่ หลีย่ มวาด หลงั คา ด้วยรูปสามเหลีย่ ม
ด้านเท่าสีเหลือง ขนาดด้านละ 30 หน่วย
2.2 การพิจารณารปู แบบ
สรุปการพิจารณารปู แบบ
รูปแบบโครงสร้างอาคารภายในโครงการ มีจดุ ร่วมกัน ดังน้ี
ตวั อาคาร เป็นรปู สีเหลีย่ มจตรุ สั
หลังคา เป็นรูปสามเหลี่ยมด้านเท่าวางบนตัวอาคาร (มี/ไม่มี)
มุมล่างซ้าย จดุ พิกดั เริม่ ต้นในการวางตวั อาคาร
2.3 การคิดเชิงนามธรรม
อาคาร I Shopping Mall
หลงั คา ขนาด 40 หน่วย สเี ขียว
ตัวอาคาร ขนาด 40 หน่วย สีเทา
มุมล่างซ้าย พิกัด (0,0)
*
2.3 การคิดเชิงนามธรรม
อาคาร P ITCenter
หลังคา ไม่มี
ตวั อาคาร ขนาด 20 หน่วย สฟี ้า
มุมลา่ งซ้าย พิกดั (50,10)
*
2.3 การคิดเชิงนามธรรม
อาคาร S Salon
หลงั คา ไม่มี
ตัวอาคาร ขนาด 20 หน่วย สฟี ้า
มมุ ล่างซา้ ย พิกัด (60,40)
*
2.3 การคิดเชิงนามธรรม
อาคาร T Sport Center
หลงั คา ขนาด 30 หน่วย สเี หลือง
ตวั อาคาร ขนาด 30 หน่วย สีนา้ เงิน
มมุ ลา่ งซา้ ย พิกดั (80,0)
*
2.4 การออกแบบอลั กอริทึม
ขั้นตอนหลัก
เริ่มต้น
วาดแปลนอาคาร มีหลังคา ขนาด 40 หน่วย ที่ตาแหน่ง (0,0)
วาดแปลนอาคาร ไม่มีหลงั คา ขนาด 20 หน่วย ทีต่ าแหน่ง (50,10)
วาดแปลนอาคาร ไม่มีหลังคา ขนาด 20 หน่วย ทีต่ าแหน่ง (60,40)
วาดแปลนอาคาร มีหลังคา ขนาด 30 หน่วย ทีต่ าแหน่ง (80,0)
จบ
2.4 การออกแบบอลั กอริทึม
ขั้นตอนย่อยที่ 1
วาดรปู สี่เหลี่ยมจัตุรสั ขนาด s หน่วย
1. ทาคาส่ังต่อไปนี้ซ้า 4 รอบ
1.1 เดินหน้า s หน่วย
1.2 หนั ซ้าย 90 องศา
2.4 การออกแบบอัลกอริทึม
ข้ันตอนยอ่ ยที่ 2
วาดรูปสามเหลี่ยมด้านเท่าขนาด s หน่วย
1. ทาคาสั่งต่อไปนี้ซ้า 3 รอบ
1.1 เดินหน้า s หน่วย
1.2 หนั ซ้าย 120 องศา
2.4 การออกแบบอัลกอริทึม
ขน้ั ตอนยอ่ ยที่ 3 วาดแปลนอาคารขนาด s หน่วยที่ตาแหน่ง (x, y) หลงั คา (ม/ี ไม่ม)ี
1. ยกปากกา 6. ถ้ามีหลังคา
2. เคลือ่ นทไี่ ปยงั ตาแหน่ง (x, y) 6.1 หนั ซ้าย 90 องศา
3. วางปากกา 6.2 เดินหน้า s หน่วย
4. กาหนดทิศทางไปด้านขวา 6.3 หันขวา 90 องศา
5. วาดรปู สี่เหลีย่ มจัตรุ ัสขนาด s 6.4 วาดรปู สามเหลี่ยมด้านเท่า
ขนาด s
ลองมาดตู วั อย่างอื่นกนั บา้ ง
หาราคารวมสนิ คา้ ต่อไปน้ี
การแบง่ ปญั หาใหญเ่ ปน็ ปัญหาย่อย
ลองแบ่งเป็นปญั หาย่อย
สบ่กู ี่บาท แก้วกีบ่ าท
ยาสระผมกีบ่ าท ไม้บรรทดั กีบ่ าท
หนังสือกี่บาท กรรไกรแบบที่ 1 กีบ่ าท
แปรงสีฟนั กีบ่ าท กรรไกรแบบที่ 2 กีบ่ าท
การแบง่ ปัญหาใหญ่เปน็ ปญั หายอ่ ย
ลองตอบคาถามของปญั หาย่อยราคารวมสินค้า
สบกู่ ี่บาท ราคาสบู่ = ราคาสบู่ต่อหน่วย x จานวนสบู่
ยาสระผมกีบ่ าท ราคายาสระผม = ราคายาสระผมต่อหน่วย x จานวนยาสระผม
หนังสือกี่บาท ราคาหนังสือ= ราคาหนงั สือต่อหน่วย x จานวนหนงั สือ
กรรไกรแบบที่ 1 กี่บาท ราคากรรไกรแบบท่ี 1= ราคากรรไกรแบบท่ี 1 ต่อหน่วย x จานวนกรรไกรแบบที่ 1
กรรไกรแบบที่ 2 กีบ่ าท ราคากรรไกรแบบท่ี 2= ราคากรรไกรแบบท่ี 2 ต่อหน่วย x จานวนกรรไกรแบบที่ 2
…
การพิจารณารูปแบบ
จากคาตอบมีอะไรที่เหมือนกันบ้าง
สบกู่ ี่บาท ราคาสบู่ = ราคาสบู่ต่อหน่วย x จานวนสบู่
ยาสระผมกีบ่ าท ราคายาสระผม = ราคายาสระผมต่อหน่วย x จานวนยาสระผม
หนงั สือกี่บาท ราคาหนงั สือ= ราคาหนงั สือต่อหน่วย x จานวนหนังสือ
กรรไกรแบบที่ 1 กีบ่ าท ราคากรรไกรแบบที่ 1= ราคากรรไกรแบบที่ 1 ต่อหน่วย x จานวนกรรไกรแบบที่ 1
กรรไกรแบบที่ 2 กี่บาท ราคากรรไกรแบบท่ี 2= ราคากรรไกรแบบท่ี 2 ต่อหน่วย x จานวนกรรไกรแบบที่ 2
…
การพิจารณารูปแบบ
จากคาตอบมีอะไรทีเ่ หมือนกันบ้าง
สบกู่ ีบ่ าท ราคาสบู่ = ราคาสบู่ต่อหน่วย x จานวนสบู่
ยาสระผมกีบ่ าท ราคายาสระผม = ราคายาสระผมต่อหน่วย x จานวนยาสระผม
หนังสือกีบ่ าท ราคาหนังสือ= ราคาหนงั สือต่อหน่วย x จานวนหนังสือ
กรรไกรแบบที่ 1 กี่บาท ราคากรรไกรแบบที่ 1= ราคากรรไกรแบบที่ 1 ต่อหน่วย x จานวนกรรไกรแบบที่ 1
กรรไกรแบบที่ 2 กีบ่ าท ราคากรรไกรแบบท่ี 2= ราคากรรไกรแบบท่ี 2 ต่อหน่วย x จานวนกรรไกรแบบที่ 2
…
การพิจารณารูปแบบ
ลองเขียนสิ่งเหมือนกัน แล้วขีดเสน้ ใตส้ ่วนทีต่ า่ งกนั
สบกู่ ี่บาท ราคาสบู่ = ราคาสบู่ต่อหน่วย x จานวนสบู่
ยาสระผมกีบ่ าท ราคายาสระผม = ราคายาสระผมต่อหน่วย x จานวนยาสระผม
หนงั สือกีบ่ าท ราคาหนังสือ= ราคาหนงั สือต่อหน่วย x จานวนหนังสือ
กรรไกรแบบที่ 1 กีบ่ าท ราคากรรไกรแบบที่ 1= ราคากรรไกรแบบที่ 1 ต่อหน่วย x จานวนกรรไกรแบบที่ 1
กรรไกรแบบที่ 2 กี่บาท ราคากรรไกรแบบท่ี 2= ราคากรรไกรแบบท่ี 2 ต่อหน่วย x จานวนกรรไกรแบบที่ 2
…
ราคา.....................= ราคา........... ตอ่ หนว่ ย x จานวน........
อัลกอริทึมในการรวมราคาสินค้า
ขนั้ ตอนหลัก ข้ันตอนย่อย หาราคารวมสินค้า y
1. รบั ราคาสินคา้ y และ จานวนสนิ ค้า y
2. หาราคารวมสินค้า y 1. ราคารวมสนิ ค้า y = ราคา y x จานวน y
3. ราคารวมสินค้า = ราคารวมสินค้า + ราคารวม y
4. กลบั ไปทาตงั้ แต่ขั้นตอนท่ี 1 จนกวา่ จะครบตามรายการสินคา้
ปญั หาการจัดเรียงหนังสือตามลาดับความสงู
เรียงหนงั สอื ตามลาดบั ความสงู
ลองคิดวิธีการจดั เรียงหนงั สือด้วยตนเอง (ให้เวลา.......นาที)
ส่มุ หาผ้โู ชคดี 2 คน
คนที่ 1 เป็นโปรแกรมเมอร์ป้อนคาส่ังจัดเรียงหนงั สือตามวิธีของตนเอง
คนที่ 2 เปน็ ห่นุ ยนต์รบั คาสัง่ แล้วปฏิบัติตาม
ช่วยกันอภิปรายคาสั่งของโปรแกรมเมอร์ ประเด็นตัวอย่าง เช่น
คาส่ังชดั เจนหรือไม่
ปฏิบตั ิได้จริงหรือไม่
มีคาสงั่ ซ้าหรือไม่
ใบกิจกรรมที่ 3.2 สอนน้องจัดหนังสือ
แบ่งกลุ่ม กล่มุ ละ 4-5 คน
ศึกษาตัวอย่างที่ 1.6 แล้วร่วมกันอภิปรายว่าแตกต่างจาก
วิธีการที่คิดไปก่อนหนา้ น้ีหรอื ไม่ อย่างไร
ระดมสมองหาวิธีจดั เรียงหนังสือที่แตกต่างจากตวั อย่าง
ตอบลงในใบกิจกรรมที่ 3.2
แสดงบทบาทสมมติตามอลั กอรึทึมสอนน้องจัดหนังสือ
ตวั อย่างที่ 1.6 สอนน้องจดั หนังสือ
การแตกปญั หาใหญเ่ ป็นปญั หาย่อย
ปญั หาย่อยที่ 1 หนังสือเล่มใดควรจดั ไว้เปน็ ลาดับแรก
ปัญหายอ่ ยที่ 2 ในกองทีเ่ หลือ หนงั สือเล่มใดควรจดั ไว้เป็นลาดบั 2
ปัญหายอ่ ยที่ 3 ในกองทีเ่ หลือ หนังสือเล่มใดควรจัดไว้เปน็ ลาดบั 3
.
.
ตวั อย่างที่ 1.6 สอนน้องจดั หนงั สือ
การพิจารณารปู แบบ
ปัญหายอ่ ยที่ 1 หนังสือเล่มใดควรจดั ไว้เป็นลาดับแรก
คาตอบ หนังสือที่มีความสงู มากที่สุด
ปัญหาย่อยที่ 2 ในกองทีเ่ หลือ หนังสือเล่มใดควรจัดไว้เป็นลาดบั 2
คาตอบ หนงั สือที่มีความสงู มากทีส่ ดุ ในกองทีเ่ หลือ
ปญั หาย่อยที่ 3 ในกองทีเ่ หลือ หนงั สือเล่มใดควรจดั ไว้เป็นลาดับ 3
คาตอบ หนงั สือทีม่ ีความสูงมากที่สดุ ในกองที่เหลือ
ตัวอย่างที่ 1.6 สอนน้องจดั หนงั สือ
การพิจารณารูปแบบ (ตอ่ )
สรปุ
ปัญหายอ่ ย ในกองหนังสือทีม่ ีอยู่
หนงั สือเล่มใดควรจัดไว้เป็นลาดับถัดไป
คาตอบ หนังสือทีม่ ีความสูงมากที่สดุ ในกองที่เหลือ
ตวั อย่างที่ 1.6 สอนน้องจดั หนังสือ
การคิดเชิงนามธรรม สีปก
ชือ่ หนงั สือ
ปัญหาการจดั เรียงหนังสือตามความสูง
8 6 7 9 abstraction ความสูง
ความหนา
ตวั อย่างที่ 1.6 สอนน้องจดั หนงั สือ
อัลกอริทึมสาหรบั สอนนอ้ งจดั หนังสือ (ในหนังสือเรียน)
ขั้นตอนหลกั
1. ทาขั้นตอนตอ่ ไปน้ซี า้ จนกระท่ังไม่มีหนงั สือเหลืออยใู่ นกอง
1.1 เลือกหนงั สือที่มคี วามสูงมากท่สี ุดในกอง
1.2 นาหนงั สือทเ่ี ลือกจากข้ันตอน 1.1 จัดเรียงไว้บนโตะ๊
โดยวางไว้ถดั จากแถวหนงั สือที่จัดไว้แล้วกอ่ นหน้านี้
ถา้ ยังไม่มีหนังสือในแถวให้วางหนังสือเล่มนีไ้ ว้เป็นเล่มแรก
2. จบถ้ายังไม่มีหนงั สือในแถวให้วางหนงั สือเล่มนี้ไวเ้ ป็นเล่มแรก
ตัวอย่างการจดั เรียง อัลกอริทึม
กองหนังสือทีเ่ หลืออยู่ 1.21 เนลาือหกนหงั นสังือสทือเ่ี ลทือีม่ กคี จวากมขส้ันูงมตาอกนท1่สี .1ดุ ในกอง
สูงสดุ จดั เรียงไว้บนโตะ๊
สงู สุด โถดา้ ยยวงั าไมงไม่ วีห้ถนดั งัจสาือกใแนถแวถหวนใังหส้วือางทหีจ่ นัดงัไสว้แือลเล้ว่มนี้
กไวอ่ ้เปนหน็ นเล้า่มนแ้ี รก
หนังสือที่จัดเรียงแล้ว
ตัวอย่างอลั กอรทิ มึ สาหรับการเรยี งลาดับแบบอืน่
https://www.toptal.com/developers/sorting-algorithms