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

หนังสือเรียนวิทยาการคำนวณ ม.2

Published by sureerat09.09, 2019-05-18 00:51:07

Description: หนังสือเรียนวิทยาการคำนวณ ม.2

Search

Read the Text Version

หนั ส เรยี น รายวิ า น านวทิ ยา าส ร เทคโนโลยี(วทิ ยาการคาำ นวณ) ม. 2นั ั ย ก า ท่ี า า ร านการเรียนรู้แ ัว ีวัด ก ่ สาร การเรียนรู้วิทยา าส ร ั รั ร า ห กั สู รแกนก า การ ก า ัน น าน ท ักรา ู้เรยี เรีย 75.- กสนั เท สิท ิทรากร

หนั ส เรียน รายวิ า น านวิทยา าส ร เทคโนโลยี (วิทยาการคำานวณ) นั ั ย ก า ท่ี า า ร านการเรียนร้แู วั วี ัด ก ่ สาร การเรยี นรวู้ ิทยา าส ร ั รั ร า ห ักสู รแกนก า การ ก า ัน น าน ท กั รา ผู้เรียบเรียง โกสนั ต์ เทพสิทธิทร�กรณ์ ผู้ตรวจ รศ ยืน ภู่วรวรรณ รศ ดร พนั ธปุ์ ติ ิ เปยี มสง่� ชวลติ สวุ รรณเวโช บรรณ�ธกิ �ร รศ ดร ครรชิต ม�ลัยวงศ ์ ร�ชบณั ิต

หนั ส เรียน รายวิ า น านวทิ ยา าส ร เทค น ยี วิทยาการคาำ นวณ) ัน ั ย ก า ท่ี ขอ มลู ทางบรรณานุกรมของสํานกั หอสมุดแหง ชาติ โกสนั ต เทพสทิ ธทิ รากรณ. า า ร านการเรยี นรแู้ วั ีวดั ก ่ สาร การเรียนรู้วิทยา าส ร ั รั ร หนังสอื เรียน รายวชิ าพน้ื ฐานวิทยาศาสตร เทคโนโลยี า ห กั สู รแกนก า การ ก า นั น าน ท กั รา (วทิ ยาการคํานวณ) ชัน้ มัธยมศกึ ษาปท่ี 2.--กรุงเทพฯ : แม็คเอ็ดดเู คชนั่ , 2562. ผเู้ รียบเรยี ง โกสันต์ เทพสิทธิทร�กรณ์ ผูต้ รวจ รศ ยนื ภวู่ รวรรณ 144 หนา. รศ ดร พนั ธุ์ปติ ิ เปียมสง�่ 1. วิทยาศาสตร--การศกึ ษาและการสอน (มัธยมศกึ ษา). ชวลิต สวุ รรณเวโช I. ช่ือเร่ือง. บรรณ�ธกิ �ร รศ ดร ครรชิต ม�ลยั วงศ ์ ร�ชบัณ ติ 507 ISBN 978-616-274-992-6 พมิ พครัง้ ท่ี 1 จํานวน 15,000 เลม สงวนลขิ สิทธิ์ : มนี าคม 2562 สงวนลขิ สทิ ธต์ิ ามกฎหมาย หา มลอกเลยี น ไมว า จะเปน สว นหนง่ึ สว นใด ของหนงั สือเลมน้ี นอกจากจะไดรบั อนุญาตเปน ลายลักษณอ กั ษร จัดท�ำ โดย สง ธนาณัตสิ ่ังจาย ปรษณยี ล �ด ร�้ ว ในนาม บรษิ ทั แม็คเอด็ ดูเคชัน่ จ�ำ กดั 9/99 อาคารแมค็ ซอยลาดพรา ว 38 ถนนลาดพราว แขวงจนั ทรเกษม เขตจตุจักร กรงุ เทพฯ 10900 โทร. 0-2512-0661, 0-2938-2022-7 แฟกซ 0-2938-2028 www.MACeducation.com ิม ที่ บริษทั แปลนพริน้ ทต้ิง จํากัด

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

ตนเอง หรือบ�งหัวข้ออ�จเป็นก�รฝกทักษะให้ชำ�น�ญก่อน สิ่งที่เพิ่มเติมในหนังสือเรียนเล่มนี้ คือ กิจกรรมเพ่ือส่งเสริมคว�มคิดสร้�งสรรค์ เพ่ือให้ผู้เรียนเกิดทักษะก�รคิดสร้�งสรรค์ ก�รคิดวิเคร�ะห์ ก�รแก้ปัญห� นำ�ไปสู่ก�รสร้�งผลิตภัณ ์หรือนวัตกรรม ซ่ึงผู้เรียนและผู้สอนส�ม�รถนำ�ไปประยุกต์ หรือดัดแปลงให้เหม�ะสมกับบริบทของโรงเรียนและผู้เรียน ก�รศึกษ�ค้นคว้�เพิ่มเติมโดยใช้เทคโนโลยี ก�รสื่อส�รและส�รสนเทศ ( เป็นส่ิงจำ�เป็นท่ีต้องค้นคว้�เพ่ิมเติม ดังนั้นในหนังสือเรียนเล่มนี้ จึงได้มีก�รเสริมเนื้อห�เพ่ิมเติมท่ีได้ผ่�นก�รคัดกรองม�แล้วว่�เหม�ะสมกับก�รเรียนรู้ แทรกไว้ใน เนื้อห�บ�งหน่วย โดยใช้สัญลักษณ์ ผู้เรียนส�ม�รถใช้สม�ร์ตโฟนสแกน หรือ เปิดในเว็บไซต์ - ท้�ยหน่วยก�รเรียนรู้ทุกหน่วยจะมีก�รสรุปบทเรียน สำ�หรับให้ผู้เรียนได้ใช้เป็นข้อมูลสำ�คัญในก�รตรวจสอบองค์คว�มรู้ที่ควรได้รับก�รพัฒน�หลังจ�ก เสรจ็ สิ้นก�รเรยี น หรือเปน็ ส�ระสำ�คัญท่ีควรจดจำ�และทำ�คว�มเข�้ ใจให้ถ่องแท้ ซงึ่ นบั ว่�เปน็ สว่ นสำ�คญั อกี สว่ นหนง่ึ ในก�รปรับปรงุ หนังสือเรียนครั้งน้ีทไ่ี ด้พัฒน�ใหช้ ดั เจนยิ่งขนึ้ บริษัท แม็คเอ็ดดูเคช่ัน จำ�กัด หวังเป็นอย่�งย่ิงว่� หนังสือเรียนเล่มน้ีจะมีคุณค่� มีประโยชน์ และช่วยส่งเสริมก�รปฏิรูปก�รศึกษ�เพื่อเป็นร�กฐ�นสำ�คัญท่ีจะช่วยทำ�ให้ประเทศไทยก้�วสู่ประเทศ ทม่ี ีก�รพัฒน�อย�่ งย่ังยืน ด้วยก�รมีพลเมอื งท่ีมคี ุณภ�พ มีคว�มคดิ สร้�งสรรค ์ ต�มเจตน�รมณข์ องก�ร ปรับปรุงหลักสตู รครง้ั นี้ และนโยบ�ยประเทศไทย บริษัท แม็คเอด็ ดูเคช่ัน จ�ำ กดั

คาำ นาำ หนงั สอื เรยี น ร�ยวชิ �พนื้ ฐ�นวทิ ย�ศ�สตร ์ เทคโนโลย ี (วทิ ย�ก�รค�ำ นวณ ชน้ั มธั ยมศกึ ษ�ปที ี่ ได้เรียบเรียงขึ้นเพ่ือช่วยให้สถ�นศึกษ�ส�ม�รถจัดทำ�หลักสูตรได้อย่�งถูกต้องและตรงต�มม�ตรฐ�น ก�รเรียนรู้และตัวชี้วัด กลุ่มส�ระก�รเรียนรู้วิทย�ศ�สตร์ (ฉบับปรับปรุง พ ศ ต�มหลักสูตร แกนกล�งก�รศกึ ษ�ขัน้ พนื้ ฐ�น พทุ ธศกั ร�ช คณะผู้เรียบเรียงได้ศึกษ�ม�ตรฐ�นก�รเรียนรู้ ตัวช้ีวัดช้ันปี ส�ระก�รเรียนรู้แกนกล�ง กระบวนก�รจดั ก�รเรยี นร ู้ และแนวท�งในก�รวดั และประเมนิ ผล น�ำ ม�จดั ท�ำ โครงสร�้ งส�ำ หรบั หลกั สตู ร ชน้ั ประถมศกึ ษ�ปที ่ี ถึงช้นั มธั ยมศกึ ษ�ปีท ่ี รวม เล่ม โดยเลอื กเน้อื ห� กระบวนก�รเรียนก�รสอน ก�รทำ�กิจกรรม ทักษะก�รคิด ก�รวัดผลและประเมินผล ผ่�นก�รนำ�เสนอด้วยก�รเรียนรู้แบบลงมือ ปฏิบตั ิ ( ท่ีเหม�ะสมกับผเู้ รยี นในแต่ละระดับชัน้ เพ่อื พฒั น�ผ้เู รียนให้เกดิ ก�รเรยี นรู้ คว�มเข้�ใจหลักก�รก�รทำ�ง�นของโปรแกรม กระบวนก�รคิดแก้ปัญห�และก�รคิดอย่�งเป็นขั้นตอน พร้อมกับฝกฝนเพ่ือให้ผู้เรียนเกิดทักษะด้�นส�รสนเทศ สื่อ และเทคโนโลยี ซ่ึงเป็นทักษะแห่งศตวรรษ ที ่ ทีส่ �ำ คญั หนังสือเรยี นเลม่ นี้ประกอบดว้ ย หน่วยก�รเรยี นร ู้ แต่ละหนว่ ยก�รเรยี นรไู้ ด้สรปุ ส�ระก�รเรยี นรู้ ของเนือ้ ห� ระบตุ ัวช้วี ดั ชัน้ ป ี มีภ�พและค�ำ ถ�มนำ�เข้�ส่บู ทเรยี น แนวคดิ ส�ำ คัญของแตล่ ะเร่อื ง กิจกรรม ตรวจสอบก�รเรียนรู้ กิจกรรมเพื่อส่งเสริมคว�มคิดสร้�งสรรค์ บทสรุปเนื้อห� และแบบทดสอบวัดผล สัมฤทธเิ พื่อเป็นก�รวดั และประเมินผลก�รเรยี นรู้ของผู้เรียน หวังเป็นอย่�งย่ิงว่�หนังสือเล่มน้ีจะก่อให้เกิดประโยชน์ต่อก�รเรียนก�รสอนต�มแนวปฏิรูป ก�รศึกษ� และมีคุณภ�พตรงต�มม�ตรฐ�นก�รเรียนรู้ตัวช้ีวัดชั้นปี และส�ระก�รเรียนรู้แกนกล�ง ห�กมีขอ้ บกพรอ่ งประก�รใด คณะผู้เรียบเรยี งขอน้อมรับคำ�แนะนำ�ด้วยคว�มขอบคณุ ยง่ิ โกสันต เท สทิ ธิทร�กรณ

าร หนวยก�รเรยี นรทู้ ่ี 1 ก�รออกแบบอลั กอรทิ มึ ทใ่ี ชแ้ นวคดิ เชงิ คำ�นวณในก�รแกป้ ญ ห� 1 (ว ม แนวคิดเชิงคำ�นวณ อัลกอริทึม ตวั อย่�งอลั กอริทึมแก้ปญั ห� ข้ันตอนก�รเรียงล�ำ ดบั แบบทดสอบวัดผลสัมฤทธิ หนวยก�รเรยี นรทู้ ี่ 2 ออกแบบและเขียนโปรแกรมท่ใี ช้ตรรกะและ งกชัน 31 ในก�รแก้ปญ ห� (ว ม ตัวด�ำ เนนิ ก�รบลู นี ฟงั กช์ ัน ก�รออกแบบและเขียนโปรแกรมทมี่ กี �รใชต้ รรกะและฟังก์ชนั ก�รแก้ปัญห�อย่�งเป็นขั้นตอน แบบทดสอบวดั ผลสมั ฤทธิ หนว ยก�รเรยี นร้ทู ่ี 3 ออกแบบและเขยี นโปรแกรมดว้ ย �ษ� ทอน (ว ม ออกแบบและเขียนโปรแกรมดว้ ยภ�ษ�ไพทอน โปรแกรมไพทอน แบบทดสอบวดั ผลสัมฤทธิ

หนว ยก�รเรียนรทู้ ี่ 4 องคป ระกอบและหลกั ก�รทำ�ง�นของระบบคอม ิวเตอร 3 และเทคโนโลยีส�รสนเทศ (ว ม ฮ�รด์ แวร ์ ซอฟต์แวร์ ขอ้ มลู บุคล�กรท�งคอมพิวเตอร ์ ขัน้ ตอนก�รปฏิบตั งิ �น เทคโนโลยกี �รส่อื ส�ร แบบทดสอบวัดผลสมั ฤทธ ิ หนวยก�รเรยี นรู้ที่ ประยกตใ ช้ง�นระบบคอม วิ เตอรและเทคโนโลยกี �รส่อื ส�ร 111 และก�รแกป้ ญห�เบื้องต้น (ว ม ก�รใชเ้ ทคโนโลยีส�รสนเทศอย�่ งปลอดภยั ภัยจ�กก�รใชเ้ ทคโนโลยีส�รสนเทศ คว�มรบั ผดิ ชอบของผู้ใช้เทคโนโลยสี �รสนเทศ ก�รใช้เทคโนโลยีส�รสนเทศอย่�งปลอดภัยและมีคว�มรับผิดชอบ ก�รสร�้ งและก�รแสดงสิทธใิ นก�รเผยแพร่ผลง�น ข้อควรรู้เก่ยี วก�รคมุ้ ครองสทิ ธ ิ แบบทดสอบวัดผลสมั ฤทธ ิ บรรณ�นกรม 132 อ ธิ �นศั ท 133



4 1 23 5 89 67 10 15 11 13 14 1หนว่ ยการเรยี นรทู้ ่ี 12 การออกแบบอัลกอรทิ มึ ที่ใช้ แนวคิดเชงิ คำานวณในการแกป้ ญั หา ส�ระก�รเรยี นรู้ 1 แนวคดิ เชงิ ค�ำ นวณ 2 อลั กอริทึม 3 ตัวอย่�งอัลกอรทิ ึมแกป้ ญั ห� 4 ข้ันตอนก�รเรยี งลำ�ดับ ตัวช้ีวัดช้นั ปี ออกแบบอลั กอรทิ ึมท่ีใช้แนวคิดเชิงค�ำ นวณในก�รแก้ปัญห�หรอื ก�รท�ำ ง�นทพี่ บในชวี ิตจรงิ (ว 4.2 ม.2/1)

2 เทคโนโลยี (วิทย�ก�รคำ�นวณ) ม.2 ทุก ๆ เช้�นักเรียนต้องม�เข้�แถวหน้�เส�ธงหรือ เข�้ แถวหน�้ หอ้ งเรยี นเพอ่ื เค�รพธงช�ต ิ เหตใุ ดจงึ ตอ้ งเข�้ แถว เรยี งต�มล�ำ ดบั คว�มสงู ส�ม�รถเรยี งต�มล�ำ ดบั น�้ำ หนกั หรอื เรียงต�มเลขที่ได้หรือไม่ และทำ�ไมคนหัวแถวจึงต้องอยู่ ท�งขว�มือเสมอ

หนว่ ยก�รเรยี นรูท้ ี่ 1 ก�รออกแบบอลั กอรทิ มึ ที่ใช้แนวคิดเชิงค�ำ นวณในก�รแก้ปัญห� 3 1. แนวคดิ เชงิ ค�ำ นวณ แนวคิดสำาคัญ ก�รคดิ โดยทวั่ ไปแบง่ ออกเปน็ แบบต�่ ง ๆ ได้ ดงั น้ี การคดิ คอื การดาำ เนนิ การทเี่ กดิ ขน้ึ ในสมอง เปน็ กระบวนการตามธรรมชาตขิ องมนษุ ยท์ บ่ี างครง้ั 1. ก�รคดิ แบบทิศท�งเดยี ว คือ ก�รคิด กไ็ มไ่ ดเ้ ปน็ ไปตามการกระทาำ แตถ่ า้ นกั เรยี นสามารถ เก่ยี วกับเร่อื งใดเรอื่ งหนึง่ เพยี งอย่�งเดยี ว ควบคมุ การคดิ ใหด้ าำ เนนิ ไปตามเรอื่ งราวทร่ี บั ฟงั มา หรอื ตามเนอื้ เรอ่ื งทอ่ี า่ น จะไดร้ บั ความรแู้ ละสามารถ 2. ก�รคิดแบบเส้นขน�น คือ ก�รคิด นาำ ไปปฏบิ ตั ไิ ด้ ซงึ่ นอกจากการคดิ ตามเนอื้ หาทพ่ี บ เกย่ี วกบั เรอื่ งร�วหล�ยเรอื่ งแตล่ ะเรอ่ื งไมเ่ กยี่ วขอ้ งกนั แล้วยังสามารถใช้เหตุผลทางคณิตศาสตร์เข้าช่วย ในการเปรยี บเทยี บระหวา่ งตวั เลอื กในการแกป้ ญั หา 3. ก�รคดิ วเิ คร�ะห์ คอื ก�รคดิ แบบแยกแยะ การวิเคราะหข์ อ้ มูล การจัดลำาดับเหตุการณ์ เพือ่ ปญั ห�ออกเปน็ สว่ นย่อย ๆ เพอื่ ห�วิธีแก้ แก้ปญั หาทพ่ี บ การใชเ้ ครอ่ื งมือต่าง ๆ ดังกลา่ วใน การแก้ปัญหาเรยี กวา่ แนวคดิ เชงิ คำานวณ 4. ก�รคดิ แบบสงั เคร�ะห ์ คอื ก�รคดิ เพอ่ื สร�้ งสิ่งใหม่ ๆ ข้นึ ม� 5. ก�รคดิ โดยใชต้ รรกศ�สตรแ์ ละเหตผุ ล ท�งคณิตศ�สตร์ หลกั ของก�รคดิ เชงิ คำ�นวณ แนวคดิ เชิงค�ำ นวณ (Computational Thinking : CT) เปน็ ก�รคดิ เชงิ วเิ คร�ะห์และใช้เหตผุ ล ท�งคณิตศ�สตร์เพ่ือห�วิธีแก้ปัญห� โดยก�รกำ�หนดปัญห�และห�วิธีแก้ปัญห� ในด้�นคอมพิวเตอร์ จะน�ำ วธิ แี กป้ ญั ห�ทคี่ ดิ ไวไ้ ปเขยี นเปน็ โปรแกรมใหค้ อมพวิ เตอรด์ �ำ เนนิ ก�ร ในก�รเรยี นวชิ �อนื่ ๆ กส็ �ม�รถ นำ�แนวคิดเชิงคำ�นวณไปใช้แก้ปัญห�ได้ทุกวิช� ตลอดจนใช้แก้ปัญห�ในชีวิตประจำ�วันได้ ซ่ึงมีหลักของ ก�รคิดเชงิ คำ�นวณ ไดแ้ ก่ ก�รจ�ำ แนก ก�รจ�ำ แนก (Decomposition) คอื ก�รแยกปญั ห�ออกเป็นสว่ นยอ่ ย ๆ เพ่อื น�ำ ม�วิเคร�ะห์และ แก้ปัญห� เช่น อย�กทร�บว่�ไฟฉ�ยทำ�ง�นอย่�งไร ส�ม�รถถอดแยกชิ้นส่วนออกม�ดูและศึกษ� ก�รทำ�ง�นของแต่ละส่วนได้ โดยปกติถ้�ต้องก�รศึกษ�ก�รทำ�ง�นของไฟฉ�ยต้องถอดช้ินส่วนถัดไป ซง่ึ ม ี 2 สว่ นใหญ ่ คือ สว่ นบนเปน็ หลอดไฟ และส่วนล�่ งท่เี ป็นฝ�ปดิ ท้�ยของกระบอกไฟฉ�ย

4 เทคโนโลยี (วทิ ย�ก�รคำ�นวณ) ม.2 แยกชน้ิ สว่ นเพอื่ ศกึ ษ�แลว้ ตอ้ ง ส�ม�รถประกอบกลบั ไปเหมอื นเดมิ และใชง้ �นได ้ ไมใ่ ชก่ �รท�ำ ล�ย เมอื่ มที กั ษะในก�รถอดและประกอบได้ แลว้ จงึ ค่อย ๆ แยกชิ้นส่วนอุปกรณ์ อ่นื ๆ ที่ซบั ซอ้ นตอ่ ไป โดยปกตกิ �รถอดชน้ิ สว่ นของไฟฉ�ยเปน็ ก�รถอดเพอ่ื เปลยี่ น เซลลไ์ ฟฟ�้ หรอื ทเ่ี รยี กว�่ ถ�่ นไฟฉ�ย ซง่ึ ใชเ้ ซลลไ์ ฟฟ�้ ชนดิ AAA จ�ำ นวน 3 เซลล์ AB C ฝ�ปิดท้�ยของ กระบอกไฟฉ�ย (D) มี แกนทองเหลอื งทม่ี สี ปรงิ อยู่ภ�ยในเช่ือมต่อกับ D ขั้วลบของเซลลไ์ ฟฟ�้ สว่ นบนมองเหน็ จ�กภ�ยนอก คอื หลอดไฟ แตส่ �ม�รถถอดออกม�ไดอ้ กี ภ�ยใน จะมีสว่ นประกอบอีก 3 สว่ นรวมอยู่ในฝ�ครอบเดียวกัน ไดแ้ ก่ หลอดแอลอีดี (Light Emitting Diode: LED) หรือเรยี กเป็นภ�ษ�ไทยว่� ไดโอดเปลง่ แสง เป็นรปู สี่เหลีย่ ม ตดิ ตง้ั บนแผน่ วงจรควบคมุ (A), กรวยสะทอ้ นแสงท�ำ หน�้ ทค่ี วบคมุ แสงใหพ้ งุ่ ไปข�้ งหน�้ (B) และส่วนท่ีต่อกับขั้วบวกของแบตเตอรี ่ (C) กิจกรรมฝกทกั ษะที่ 1.1 ใหน้ กั เรียนสืบคน้ ขอ้ มลู ดงั ตอ่ ไปนี้ 1. อกั ษร AAA ใชบ้ อกอะไร และมเี ซลลไ์ ฟฟ�้ ทง้ั หมดกแ่ี บบ แตล่ ะแบบมพี ลงั ง�นศกั ยไ์ ฟฟ�้ เท�่ ไร 2. ไดโอดเปลง่ แสงมีกีช่ นิด เฉพ�ะตวั ไดโอดเปล่งแสงใชแ้ รงดนั เท�่ ไร

หนว่ ยก�รเรยี นรู้ที่ 1 ก�รออกแบบอลั กอริทึมท่ีใช้แนวคดิ เชงิ คำ�นวณในก�รแก้ปัญห� 5 ก�รรู้จำ�แบบ ก�รรจู้ �ำ แบบ (Pattern recognition) เป็นก�รจ�ำ แนก วัตถุ (Object) ออกเป็นหมวดหมู่ (Classes) ต�มรปู แบบของวตั ถุ (Pattern) แต่ละประเภท เช่น รูปร่�ง ลักษณะเด่นท่ีน่�สนใจ ตวั อย่�งคอื โปรแกรมจำ�ล�ยนิว้ มอื โปรแกรมจำ�ใบหน้� จะตอ้ ง บันทึกข้อมูลในลักษณะของภ�พถ่�ยและกำ�หนดจุดเด่นหรือ จดุ ทน่ี �่ สงั เกตเกบ็ ในหนว่ ยคว�มจ�ำ ของระบบไวก้ อ่ น สว่ นโปรแกรมจดจ�ำ เสยี งจะเกบ็ ขอ้ มลู ในรปู แบบของ คล่ืนเสียงเพ่ือเปลี่ยนสัญญ�ณเสียงเป็นคลื่นไฟฟ้�เก็บไว้เป็นข้อมูล เมื่อต้องก�รตรวจสอบหรือค้นห� จะสแกนใบหน้�หรือล�ยนิ้วมือของผู้ท่ีต้องก�รตรวจสอบแล้วนำ�ไปเปรียบเทียบกับข้อมูลท่ีเก็บไว้ว่� ตรงกนั หรอื ไม ่ สว่ นขอ้ มลู เสยี งจะตอ้ งพดู หรอื สง่ เสยี งเปน็ ขอ้ คว�มต�มทกี่ �ำ หนดไวผ้ �่ นไมโครโฟนแลว้ น�ำ คลื่นไฟฟ้�จ�กก�รแปลงสัญญ�ณไปเปรียบเทียบในฐ�นข้อมูล ห�กพบว่�ตรงกันจะแสดงข้อมูลของ ผ้ทู ี่เปน็ เจ�้ ของล�ยน้วิ มือ ใบหน้� หรือเสียงใหท้ ร�บ นอกจ�กนี้โปรแกรมยังส�ม�รถค�ดคะเนไดว้ �่ เมือ่ เวล�ผ่�นไปอีกหล�ยปี ภ�พใบหน้�ของคนจะเปลี่ยนแปลงไปอย่�งไรบ้�ง ส่วนเสียงต่�งๆ เม่ือผ่�น ไมโครโฟนจะถูกแปลงสัญญ�ณไปเป็นคล่ืนไฟฟ้�ระบบดิจิทัลแล้วบันทึกเป็นแฟ้มเสียงต�มคว�มถี่ ของเสียง เช่น ก�รเปดิ ใชง้ �นสม�ร์ตโฟนด้วยรหัสเสยี งจะต้องมีก�รบนั ทกึ เสียงของผ้เู ปน็ เจ�้ ของไว้กอ่ น เม่อื ผูเ้ ป็นเจ้�ของพูดใสไ่ มโครโฟนในสม�รต์ โฟน เครอ่ื งจะนำ�ข้อมลู เสยี งไปเปรียบเทียบกบั ข้อมลู ทบ่ี ันทกึ ไว้ ถ้�ตรงกนั จะเปิดระบบใหส้ �ม�รถเข้�ใชง้ �นได้

6 เทคโนโลยี (วิทย�ก�รคำ�นวณ) ม.2 ก�รคดิ เชิงน�มธรรม ก�รคดิ เชงิ น�มธรรม (Abstraction) หม�ยถงึ ก�รคดิ เพอื่ คดั แยกน�ำ เฉพ�ะสว่ นส�ำ คญั ในปญั ห� ทพ่ี บม�เปน็ ขอ้ มูลทใ่ี ชใ้ นก�รแกป้ ัญห�โดยทจ่ี ะตัดสว่ นที่ไม่ส�ำ คญั ออกไป ตวั อย�่ ง รุ้งกนิ นำ้� รงุ้ กนิ น�ำ้ เปน็ ปร�กฏก�รณธ์ รรมช�ตทิ มี่ กั เกดิ หลงั ฝนตก หรือเกิดในบริเวณพ้ืนที่ท่ีมีละอองน้ำ�ม�กๆ เช่น บริเวณน้ำ�ตก โดยก�รหกั เหของแสงทสี่ อ่ งผ�่ นละอองน�้ำ ในอ�ก�ศเกดิ เปน็ แถบ สเปคตรมั เสน้ โคง้ บนผิวโลกมีสตี �่ งๆ ต�มคว�มถ่ขี องแสง รวม 7 สี คอื มว่ ง คร�ม นำ้�เงิน เขยี ว เหลอื ง ส้ม และแดง ในบ�งครง้ั ก็อ�จเห็นรุ้งกินนำ้�สองตัว โดยท่ีรุ้งตัวแรกมีสีม่วงอยู่ช้ันบน ส่วนรงุ้ ตวั ที่สองจะสลับสีเปน็ สแี ดงอยชู่ นั้ บน และสอี น่ื ๆ จะเรียงกลับสีกบั รุ้งตวั แรก รุ้งกินนำ้�ท่ีมีสีแดงอยู่ช้ันบนน้ันเกิดจ�กก�รหักเหของแสงผ่�นละอองนำ้�ครั้งเดียว เรียกว่� รุ้งปฐมภูมิ ส่วนรุ้งท่ีสลับสีกับรุ้งตัวแรกเกิดจ�กก�รหักเหผ่�นละอองนำ้�สองครั้ง เรียกว่� รุ้งทุติยภูมิ ก�รมองเห็นรงุ้ กินน้ำ� จะต้องหนั หลังให้ดวงอ�ทิตย์ ก�รคดิ เชงิ น�มธรรมในเรอ่ื งนกี้ ค็ อื จะแสดงก�รเกดิ รงุ้ กนิ น�ำ้ ไดอ้ ย�่ งไร ซง่ึ เรอ่ื งสี ค�ำ ถ�มชวนคดิ ??? และชนิดของรุ้งกินนำ้�เป็นส่วนประกอบ ทไ่ี มใ่ ช่ส่วนสำ�คญั ของปญั ห�น้ ี กถ �้�มรเีนก�ำ้ดิ อรยงุ้ กหู่ นินนึง่ ขำ�้ นัได ้อนยกั �่เรงยีไรนจะส�ธติ ก�รออกแบบอลั กอรทิ ึม ก�รออกแบบอลั กอรทิ มึ (Algorithmic design) คอื ก�รออกแบบขนั้ ตอนต�่ ง ๆ ในก�รแกป้ ญั ห� ก่อนเขียนโปรแกรมจริง ขั้นตอนก�รทำ�ง�นต้องกระชบั ไมซ่ ้ำ�ซอ้ น เพอ่ื ให้ได้ผลลพั ธท์ ี่ถกู ตอ้ งและรวดเร็ว สรปุ คำ�จ�ำ กดั คว�มของก�รคิดเชิงคำ�นวณ - ก�รคดิ เชงิ ค�ำ นวณไมไ่ ดถ้ กู จ�ำ กดั แตเ่ พยี งก�รคดิ ในวชิ �คณติ ศ�สตรห์ รอื วทิ ย�ก�รคอมพวิ เตอร์ เท่�น้นั แต่เปน็ ก�รคิดเพือ่ ทำ�คว�มเข�้ ใจกับปัญห� ส�ม�รถใช้ตรรกะในก�รแกป้ ัญห�อย่�งมเี หตุผล - ก�รคดิ เชิงคำ�นวณชว่ ยให้เข�้ ใจปญั ห�ที่ซบั ซ้อนได้ง�่ ยขน้ึ เปน็ ประโยชน์ในชีวติ ประจำ�วนั - ก�รคิดเชิงคำ�นวณในก�รออกแบบโปรแกรมช่วยในก�รออกแบบและเขียนโปรแกรมให้ คอมพิวเตอรแ์ ก้ปัญห�ได้อย�่ งรวดเรว็

หน่วยก�รเรยี นรทู้ ี่ 1 ก�รออกแบบอลั กอรทิ ึมทใี่ ชแ้ นวคิดเชิงคำ�นวณในก�รแกป้ ญั ห� 7 กจิ กรรมตรวจสอบก�รเรียนรูท้ ่ี 1.1 1. จ�กตัวอย่�งเรอื่ งไฟฉ�ยท่ใี ช้หลอด LED ถ�้ ใส่ร�งแบตเตอรีก่ ลับด�้ นโดยสลับข้วั บวกเปน็ ลบแล้ว เปิดสวติ ช์ หลอด LED จะเปล่งแสงหรือไม่ เพร�ะเหตใุ ด 2. รหัสแทง่ และคิวอ�ร์โคด้ แตกต�่ งกนั อย�่ งไร 3. ในก�รบอกย่ีหอ้ ของรถยนต์ทแี่ ลน่ บนถนนจะใชแ้ นวคดิ เชงิ น�มธรรมอย�่ งไร 2. อัลกอริทมึ อลั กอริทึม (Algorithm) แปลว่� ขัน้ ตอนวธิ ี เป็นวิธีเขียนข้ันตอนก�รทำ�ง�นหรือเขียนลำ�ดับ แนวคดิ สาำ คัญ ก�รท�ำ ง�นเพื่อให้ไดผ้ ลลัพธท์ ร่ี วดเรว็ ท่สี ุด ส�ม�รถ นำ�ไปใช้ได้กับง�นต่�ง ๆ ทุกส�ข�วิช� ส่วนในวิช� อัลกอริทึม คือ การเขียนวิธีแก้ปัญหาที่มี วิทย�ก�รคำ�นวณ หม�ยถึง ก�รออกแบบขั้นตอน ลำาดับขั้นตอน เข้าใจได้ง่าย บอกว่านำาเข้าอะไร เขียนเป็นโปรแกรมเพ่ือให้คอมพิวเตอรท์ ำ�ง�นต�ม และได้ผลลัพธ์อย่างไรมีการทำางานอะไรบ้าง เช่น คว�มต้องก�ร ก�รออกแบบอัลกอริทึมส�ม�รถเขียน การทำาซ้ำา การกำาหนดเงื่อนไข โดยใช้ตรรกะและ ได้หล�ยรูปแบบ เช่น เขียนเป็นขั้นตอนด้วยภ�ษ� การเปรยี บเทยี บ การทาำ งานอยา่ งเดยี วกนั อาจเขยี น ท่ัวไป เขียนเป็นแผนภ�พ เขียนเป็นรหัสเทียม อัลกอริทึมที่ต่างกันได้หลายแบบและผลลัพธ์ที่ได้ อาจเหมือนกันหรอื แตกตา่ งกนั ได้ (Pseudo code) และเขียนเป็นผังง�น (Flowchart) โดยใชส้ ญั ลักษณม์ �ตรฐ�นของผังง�น สัญลักษณ์ของผังง�นมใี หใ้ นโปรแกรมประมวลผลค�ำ เม่อื ใชค้ ำ�ส่งั Insert Shapes และ Flowchart ส่วนขน�ดของสัญลักษณ์ผู้เขียนผังง�นต้องกำ�หนดเอง ต้องคำ�นึงถึง คว�มเหม�ะสมว�งรูปแบบให้สวยง�มดว้ ย รหัสเทยี ม (Psudo code) ไม่ใชค่ �ำ สง่ั ของภ�ษ�คอมพิวเตอร์ แต่เป็นก�รเขียนผงั ก�รท�ำ ง�นเลยี นแบบ ภ�ษ�คอมพวิ เตอร์

8 เทคโนโลยี (วิทย�ก�รคำ�นวณ) ม.2 ตวั อย่�งก�รเขียนอัลกอรทิ ึมดว้ ยภ�พ จ�กแผนภ�พท่ี 1.1 เป็นอัลกอริทึมแสดง ขน้ั ตอนก�รพับกระด�ษเปน็ นก โดยใช้ภ�พ ตวั เลข 1 2 3 45 ลกู ศรเปน็ ตวั ชลี้ �ำ ดบั ขนั้ ตอน ตงั้ แตข่ นั้ ท ่ี 1 ถงึ ขนั้ ตอน ท่ี 23 ถ้�ผู้ปฏิบัติทำ�ต�มจนครบทุกขั้นตอนจะได้ 10 9 8 6 นกกระด�ษต�มหม�ยเลขท ่ี 23 7 ก�รเขียนขั้นตอนใช้ลูกศรช้ีไปยังข้ันตอน ตอ่ ไปเปน็ ทเี่ ข�้ ใจของผปู้ ฏบิ ตั ิ แตถ่ �้ เปน็ สญั ลกั ษณอ์ น่ื 11 13 14 ท่ีผู้เขียนขั้นตอนกำ�หนดข้ึนม�เอง ต้องมีคำ�อธิบ�ย 12 แยกออกม�เพื่อให้ผอู้ �่ นเข้�ใจ (Semantics) เช่น ใน ข้ันตอนท ่ี 9 ถึง 10 มลี ูกศรม้วนซึ่งต�่ งกับลกู ศรอื่น ๆ 18 17 16 15 จงึ ตอ้ งมคี �ำ อธบิ �ยว�่ หม�ยถงึ อะไร นอกจ�กนย้ี งั อ�จ ใช้เคร่ืองหม�ยอื่น ๆ เพ่ิมในก�รเขียนข้ันตอนได้ 19 20 21 22 ดังต�ร�งท ี่ 1.1 23 แผนภาพที่ 1.1 ขน้ั ตอนในการพบั กระดาษเปน นก ต�ร�งท่ี 1.1 ตัวอย�่ งสญั ลกั ษณ์ท่ีใชใ้ นก�รพับกระด�ษ สัญลักษณ์ (Syntax) คว�มหม�ย (Semantics) ลูกศรมว้ น พลกิ กระด�ษกลับด�้ น แรเง�ทีด่ ้�นหน่งึ ของกระด�ษ พลิกด�้ นทแี่ รเง� เสน้ ประใหญ่ แสดงแนวก�รพบั ขนึ้ เส้นประเล็ก แสดงแนวก�รพบั ลง เส้นประโคง้ พบั ต�มแนวโคง้ หัวลกู ศรใหญ่ กดกระด�ษลงต�มลูกศร

หนว่ ยก�รเรยี นรทู้ ี่ 1 ก�รออกแบบอัลกอริทมึ ท่ีใชแ้ นวคิดเชงิ ค�ำ นวณในก�รแก้ปญั ห� 9 อกี ตัวอย�่ งหนึ่งทีร่ จู้ ักกันทกุ คนกค็ อื ต�ำ ร�ท�ำ อ�ห�ร เชน่ ตำ�ร�ขนม ต�ำ ร�จะบอกสว่ นประกอบ ต�่ ง ๆ และสดั สว่ นทคี่ วรใชใ้ หผ้ ทู้ ศ่ี กึ ษ�ก�รท�ำ ขนม เปน็ ก�รจ�ำ แนกว�่ ขนมประเภทใด ตอ้ งใสส่ ว่ นประกอบ อะไรบ้�ง สว่ นขนมทท่ี ำ�ต�มต�ำ ร�จะมรี สช�ติอรอ่ ยหรือไมข่ ึน้ อยกู่ ับประสบก�รณ์ของผู้ทำ� รูปที่ 1.1 ขั้นตอนการทําแยมสตรอเบอรร์ ี่ ในภ�ษ�คอมพิวเตอร์มคี �ำ ส่ัง (Command) และคำ�หลัก (Keyword) ทเี่ ปน็ เครื่องมือในก�รเขยี น โปรแกรม นอกจ�กตวั โปรแกรมแลว้ โครงสร�้ งขอ้ มลู ทอ่ี อกแบบไวก้ เ็ ปน็ สว่ นประกอบทส่ี �ำ คญั เมอื่ ตอ้ งก�ร ผส�นโปรแกรมและโครงสร้�งข้อมูลเข้�ด้วยกันต้องใช้ข้ันตอนวิธีหรืออัลกอริทึมกำ�หนดก�รทำ�ง�น เปรียบเหมือนตำ�ร�ทำ�อ�ห�ร อัลกอริทึมของผู้เขียนแต่ละคนจะมีคว�มแตกต่�งกันไป เปรียบเสมือน พ่อครัวแต่ละคนจะมีวิธีในก�รทำ�แกงที่ต่�งกันไปต�มคว�มถนัดของแต่ละคน แต่ผลลัพธ์ที่ได้ก็คือ อ�ห�รชนดิ เดียวกนั 3. ตวั อย�งอลั กอริทึมแกป้ ญห� แนวคิดสาำ คัญ เคยสงั เกตกนั ไหมว�่ เกมท่ีเคยเล่นกนั มักจะมวี ิธีก�ร เกมและการเรียงลำาดับสิ่งของต่าง ๆ เป็น ตัวอย่างการแก้ปัญหาโดยใช้อัลกอริทึมแบบหนึ่ง ที่เปน็ ขนั้ เปน็ ตอนเสมอ การเลน่ เกมโดยใชค้ วามคดิ ในการพยายามเอาชนะ ฝายตรงขา้ ม ก็คอื การคิดแบบอลั กอริทึมนั่นเอง

10 เทคโนโลยี (วทิ ย�ก�รค�ำ นวณ) ม.2 3.1 เกมโอเอกซ เกมโอเอกซ์ (Tic-Tac- กตกิ �ก�รเลน่ ใหผ้ เู้ ลน่ คนหนงึ่ เขยี นอกั ษร Toe) เปน็ เกมท่ีเลน่ กนั O ลงในช่องต�ร�ง ส่วนผู้เล่นอกี คนจะเขียนอกั ษร X ระหว�่ งผเู้ ลน่ 2 คน โดย ลงในต�ร�งสลับกัน โดยต้องกันไม่ให้ฝ�ยตรงข้�ม ใชต้ �ร�ง 9 ชอ่ ง เขียนสัญลักษณ์ได้ครบ ผู้เล่นคนใดส�ม�รถเขียน สัญลักษณ์ของตนเองเรียงเป็นแถวต�มแนวต้ัง แนวนอน หรอื แนวทแยงครบ 3 ชอ่ งไดก้ อ่ นเปน็ ผชู้ นะ แนวท�งพัฒน�โปรแกรม เกมโอเอกซ์ เป็นก�รคิดเพ่ือเอ�ชนะและคิดเพ่ือป้องกันฝ�ยตรงข้�มในเกม ก่อนเริ่มเล่นเกม ต้องมีหัวข้อเพ่ือเลือกว่�จะเล่นระหว่�งผู้เล่นกับคอมพิวเตอร์ หรือผู้เล่นคนที่ 1 เล่นกับผู้เล่นคนที่ 2 หลังจ�กเลือกแลว้ เข้�สกู่ �รเล่นเกม ก�รพฒั น�เกมลกั ษณะน้ใี ชแ้ นวท�งท่เี รยี กว�่ เทคนคิ ปัญญ�ประดิษฐ์ (AI techniques) โครงสร้�งขอ้ มลู ผู้เล่น เลือกสัญลักษณ์ที่จะก� กระด�น (Board) เปน็ ต�ร�งแบบ ก�รตรวจสอบข้อมูลในต�ร�ง ในต�ร�ง เม่ือคลิกแล้วจะแสดง 3 แถว แถวละ 3 ชอ่ ง ในโปรแกรม แตล่ ะชอ่ ง ถ�้ เปน็ ชอ่ งว�่ งยงั ไมม่ ี สญั ลกั ษณใ์ นชอ่ งนน้ั คอมพวิ เตอร์ จะมีตัวเลขกำ�กับไว้เพื่อแสดง ก�รเติมเครื่องหม�ยให้ช่องนั้น หรอื ผเู้ ล่นคนที ่ 2 จะใช้สญั ลักษณ์ สัญลักษณเ์ ม่ือคลิก มีค่�เป็นศูนย์ ถ้�มีอักษร O ให้ ตรงข้�ม ค�่ เปน็ 1 ถ้�มีอกั ษร X ใหค้ ่�เปน็ 2 เชน่ เมอื่ เรม่ิ เลน่ ต�ร�งหม�ยเลข 1 ถงึ 9 เท�่ กบั ศนู ย์

หน่วยก�รเรียนรูท้ ่ี 1 ก�รออกแบบอัลกอรทิ มึ ที่ใช้แนวคิดเชงิ ค�ำ นวณในก�รแก้ปัญห� 11 อัลกอริทึม 1. ก�ำ หนดใหค้ อมพิวเตอร์หรือผูเ้ ล่นคนที่ 2 ใชส้ ญั ลกั ษณเ์ ปน็ อกั ษร O 2. ผ้เู ล่นคนท ี่ 1 ใช้สัญลกั ษณ์เปน็ อกั ษร X 3. มองกระด�นเปน็ ต�ร�งเมทรกิ ซแ์ บบ 3 แถว แถวละ 3 ช่อง แตล่ ะชอ่ งมตี วั เลข 1 – 9 กำ�กับ เพอ่ื ใชอ้ �้ งองิ ในก�รตรวจสอบก�รก�เคร่อื งหม�ย 4. ตรวจสอบว่�ผู้เล่นคนท่ ี 1 คลกิ หม�ยเลขใด 5. ถ้�คลิกช่องหม�ยเลข 1 ให้ตรวจสอบว่�ว่�งหรอื ไม่ ถ้�ไมว่ �่ ง (ไม่ใช่ 0) ใหส้ ง่ เสยี งเตอื นและ คืนค่�กลับไป 6. ถ�้ หม�ยเลข 1 ว่�งให้ใสส่ ญั ลักษณ ์ X 7. คอมพิวเตอร์ตรวจสอบช่องท่ีสัมพันธ์กับหม�ยเลข 1 คือ ช่องท่ี 2 ช่องท่ี 5 และช่องท่ี 4 ถ้�ช่องใดว่�งใหใ้ สส่ ัญลักษณ ์ O ลงไป 1 ชอ่ ง 8. ตรวจสอบแถวต�มแนวนอน แนวตงั้ และแนวทแยงว่�มสี ัญลกั ษณใ์ ดเรยี งล�ำ ดบั ครบ 3 ชอ่ ง ถ้�เรียงด้วย X ให้แสดงขอ้ คว�ม You win. ถ้�เรียงด้วย O ให้แสดงข้อคว�ม I win. ถ้�ไมพ่ บใหต้ รวจสอบ ตอ่ ไป 9. ตรวจสอบชอ่ งถดั ไปต�มขอ้ 5 ถึง 7 โดยเปล่ยี นตวั เลขจนครบถึงช่องหม�ยเลข 9 เขียนค�ำ สง่ั ตรวจสอบ 9 ต�มผงั ง�นชดุ โดยเปลยี่ นเง่อื นไขไปต�มต�ร�ง เขยี นอัลกอรทิ ึมเปนผงั ง�น นักเรียนได้เรยี นรเู้ รื่องก�รเขียนผังง�นในชั้นมัธยมศกึ ษ�ปีที ่ 1 ม�แลว้ ขน้ั ตอนนจี้ งึ นำ�อลั กอรทิ มึ ของเกมโอเอกซ์ม�เขียนเปน็ ผงั ง�นอย�่ งง่�ยดงั นี้ Start รับขอ้ มลู ก�รคลิกในต�ร�ง หม�ยเหตุ โปรแกรมนี้ใช้เวล�ในก�รตรวจสอบม�ก input p ถ�้ คลกิ ช่องท่ี 1 เพร�ะต้องตรวจสอบต�ร�งต้ังแต่หม�ยเลข pϭ1 T print O ถ้�ต�ร�งที่ 2 ว�่ งใส ่ O 1-9 หม�ยเลขละ 3 เงอ่ื นไข คอื ถ้�ว�่ งค�่ ของ ต�ร�งเป็นศูนย์ให้ทำ�อย�่ งไร มีอกั ษร O อย ู่ c2 ϭ '' '' T print O ถ้�ต�ร�งท ่ี 5 ว�่ งใส ่ O (เปน็ 1) ตอ้ งท�ำ อะไร หรอื มอี กั ษร X อย ู่ (เปน็ F 2) ต้องทำ�อย่�งไร เท่�กับต้องตรวจสอบ 3 เงือ่ นไขทง้ั 9 ชอ่ ง (39 ϭ 19,683) ต้องตรวจสอบ c5 ϭ '' '' ถงึ 19,683 รอบในก�รก�เครอ่ื งหม�ยแตล่ ะครงั้ F ทำ�ให้ใชเ้ วล�ม�ก c4 ϭ '' '' T print O ถ้�ต�ร�งท่ี 4 ว่�งใส่ O Stop รปู ที่ 1.2 ผงั งานโปรแกรมเกมโอเอกซ์

12 เทคโนโลยี (วิทย�ก�รค�ำ นวณ) ม.2 3.2 อลั กอรทิ มึ ก�รเข้�แถวต�มลำ�ดับคว�มสูงของนกั เรยี น ก�รเข�้ แถวต�มล�ำ ดบั คว�มสงู ถ้�มองด้วยส�ยต�ส�ม�รถเห็นคว�ม แตกต่�งของคว�มสูงและเข้�แถวเรียง ลำ�ดับได้ทันที แต่ถ้�ต้องเขียนเป็น โปรแกรมสง่ั ใหค้ อมพวิ เตอรเ์ รยี งล�ำ ดบั คว�มสงู ต้องท�ำ อย่�งไร รปู ท่ี 1.3 ความสงู ของนักเรียน ข้อมูล ก่อนให้คอมพิวเตอร์เรียงลำ�ดับต้องมีข้อมูล ซึ่งก็คือคว�มสูงของนักเรียนแต่ละคน และจำ�นวน นักเรียนท้งั หมดทเ่ี ข้�แถว อัลกอริทึม ก�รเรยี งล�ำ ดับม ี 2 แบบ คือ เรียงจ�กนกั เรยี นท่มี ีคว�มสูงทส่ี ุดไปห�นักเรยี นท่มี ีคว�มสูงนอ้ ย ท่ีสดุ ซ่งึ เปน็ ก�รเรยี งลำ�ดบั จ�กจำ�นวนม�กไปห�จ�ำ นวนน้อย (Descending) และเรยี งล�ำ ดับจ�กนักเรยี น ท่มี ีคว�มสูงนอ้ ยที่สดุ ไปห�นักเรยี นที่มีคว�มสงู ม�กทส่ี ุด (Ascending) วิธีง่�ย ๆ ในก�รเรียงลำ�ดับ คือ ให้นักเรียนทั้งหมดม�เข้�แถวเป็นหน้�กระด�นโดยไม่ต้อง เรยี งล�ำ ดับคว�มสูง แลว้ เปรยี บเทียบคว�มสงู ของนักเรยี นครงั้ ละ 1 ค ู่ เขียนคว�มสงู ของนักเรียนแต่ละคน ลงในต�ร�ง เริม่ จ�กหม�ยเลข 0 ถงึ หม�ยเลข 4 รวม 5 คน 01234 157 152 155 164 148 เง่อื นไขก�รเปรยี บเทยี บ เรียงลำ�ดับจ�กนักเรียนที่มีคว�มสูงม�กที่สุดไปน้อยที่สุด ถ้�นักเรียนคนซ้�ยสูงกว่�นักเรียน คนท�งขว� ผลก�รเปรียบเทียบเป็นจรงิ (True) ใหเ้ ลือ่ นไปเปรยี บเทียบคู่ถัดไป (Shift left) ถ�้ นกั เรียน คนซ้�ยสงู นอ้ ยกว�่ คนขว� ผลก�รเปรียบเทียบเป็นเท็จ (False) ให้สลับต�ำ แหน่งกัน (Exchange)

หนว่ ยก�รเรยี นรูท้ ี่ 1 ก�รออกแบบอัลกอรทิ มึ ทใ่ี ชแ้ นวคดิ เชงิ คำ�นวณในก�รแกป้ ัญห� 13 1. เปรียบเทียบคว�มสูงระหว่�งนกั เรยี นคนท ี่ 1 (หม�ยเลข 0) กบั นกั เรียนคนที่ 2 (หม�ยเลข 1) ต�มเงื่อนไขก�รเปรียบเทียบ ผลลพั ธ์เป็นจริง ไม่ตอ้ งสลับทจี่ งึ เล่ือนไปเปรียบเทยี บชดุ ถัดไป 01234 157 152 155 164 148 t 2. เปรียบเทียบคว�มสูงนักเรียนคนที่ 2 (หม�ยเลข 1) กับนักเรียนคนที่ 3 (หม�ยเลข 2) ต�มเง่อื นไขก�รเปรียบเทยี บผลลพั ธเ์ ป็นเท็จ จงึ สลบั ต�ำ แหน่งกนั 01234 157 152 155 164 148 f 01234 157 155 152 164 148 exchange 3. เปรยี บเทยี บนกั เรียนคนท่ี 3 (หม�ยเลข 2) กับนักเรียนคนที่ 4 (หม�ยเลข 3) ต�มเงือ่ นไข ก�รเปรยี บเทยี บผลลัพธ์เปน็ เท็จ สลับต�ำ แหนง่ กนั 01234 157 155 152 164 148 f 01234 157 155 164 152 148 exchange 4. เปรียบเทียบนกั เรียนคนที ่ 4 (หม�ยเลข 3) กับนักเรียนคนที่ 5 (หม�ยเลข 4) ต�มเง่อื นไข ก�รเปรียบเทยี บผลลพั ธเ์ ปน็ เทจ็ สลบั ต�ำ แหนง่ กนั 01234 157 155 164 152 148 f 01234 157 155 164 148 152 exchange

14 เทคโนโลยี (วิทย�ก�รคำ�นวณ) ม.2 5. จบก�รตรวจสอบและเรียงลำ�ดับรอบที่ 1 ก�รเรียงลำ�ดับยังไม่สมบูรณ์ต้องเปรียบเทียบ รอบใหมโ่ ดยจบั คหู่ ม�ยเลข 0 กบั หม�ยเลข 1 แลว้ เปรยี บเทยี บอกี จนครบต�มจ�ำ นวนนกั เรยี นทง้ั หมด คอื 5 รอบ 01234 157 155 164 148 151 จบก�รตรวจสอบและเรียงลำ�ดบั รอบท่ี 1 01234 152 155 157 164 148 ก�รเรียงลำ�ดับแบบตรวจสอบเป็นคู่น้ีเรียกว่� ก�รเรียงลำ�ดับแบบฟอง (Bubble sort) ซ่ึง ต้องทำ�ก�รเรียงลำ�ดับและตรวจสอบค่�ต้ังแต่คู่แรกไปจนถึงคู่สุดท้�ย แล้วย้อนกลับม�ตรวจสอบและ เรยี งลำ�ดบั ใหม่จนครบทุกค ู่ ในรปู ตวั อย�่ งมตี ัวเลขอย่ ู 5 ชดุ ดังนั้นก�รเรียงล�ำ ดบั ตัวเลขให้ครบทั้งหมด ต้องตรวจสอบเท่�กบั 5ϫ5 ϭ 25 คร้งั หรอื เท่�กบั จ�ำ นวนขอ้ มลู ยกก�ำ ลงั สองนน่ั เอง กจิ กรรมตรวจสอบก�รเรยี นรทู้ ่ี 1.2 52784316 จ�กตวั เลขใหเ้ ขียนอัลกอรทิ มึ ในก�รเรยี งลำ�ดับใหมจ่ �กน้อยไปม�ก

หนว่ ยก�รเรยี นรทู้ ี่ 1 ก�รออกแบบอลั กอริทมึ ทใ่ี ช้แนวคิดเชิงคำ�นวณในก�รแก้ปญั ห� 15 4. ขน้ั ตอนก�รเรียงล�ำ ดบั ก�รเรยี งล�ำ ดบั (Sorting) คือ ก�รจดั เรียง ต�มปรมิ �ณเวกเตอร์ เช่น คว�มสูง นำ�้ หนัก ขน�ด ของคน สตั ว ์ หรือส่งิ ของ ท�ำ ไดห้ ล�ยวิธ ี แตล่ ะวธิ ใี ช้ แนวคดิ สำาคญั เวล�ทต่ี ่�งกนั ดงั นี้ การเรยี งลาำ ดับทาำ ไดห้ ลายวิธี แตล่ ะวิธจี ะมี 1. ก�รเรยี งล�ำ ดบั แบบเลือก (Selection sort) ความเรว็ ตา่ งกนั ขน้ึ อยกู่ บั ปรมิ าณของขอ้ มลู วา่ มาก 2. ก�รเรียงล�ำ ดับแบบเรว็ (Quick sort) หรอื นอ้ ย 3. ก�รเรยี งล�ำ ดบั แบบฮีป (Heap sort) 4. ก�รเรียงล�ำ ดบั แบบฟอง (Bubble sort) 5. ก�รเรียงลำ�ดบั แบบแทรก (Insertion sort) 6. ก�รเรยี งลำ�ดับแบบเชลล ์ (Shell sort) 7. ก�รเรียงลำ�ดับแบบผส�น (Merge sort) ในหน่วยก�รเรียนรู้น้ีจะแสดงตัวอย่�งอัลกอริทึมของก�รเรียงลำ�ดับท่ีนิยมใช้กันบ�งวิธีเพื่อให้ นักเรยี นท�ำ คว�มเข�้ ใจ

16 เทคโนโลยี (วทิ ย�ก�รค�ำ นวณ) ม.2 4.1 ก�รเรียงลำ�ดบั แบบเลือก ก�รเรียงล�ำ ดับแบบเลอื ก (Selection Sort) เป็นวธิ ีเรียงลำ�ดับโดยก�รเลือกค�่ ทีน่ ้อยออกไป เรียงล�ำ ดับใหม่ วิธีเรยี งล�ำ ดบั ด้วยมอื วิธีเรียงลำ�ดับด้วยมือ เป็นก�รเรียงลำ�ดับโดยไม่ใช้โปรแกรมคอมพิวเตอร์ แต่ใช้ก�รสังเกต ตวั เลขในต�ร�งแลว้ เลือกตวั เลขที่มคี �่ น้อยกว่�ตวั เลขจำ�นวนแรกในต�ร�ง (ล�ำ ดับที่ 0) นำ�ไปเรียงล�ำ ดับ ในต�ร�งใหมด่ ังขนั้ ตอนตอ่ ไปน้ี 012345678 1. ห�ตวั เลขท่มี คี �่ นอ้ ยในต�ร�ง เชน่ ตวั เลขทนี่ อ้ ยกว่� 23 23 17 5 90 12 44 38 84 77 012345678 2. น�ำ ตวั เลขทเ่ี ลอื กไปเรียงลำ�ดับใหม่ในต�ร�งใหม ่ 23 17 5 90 12 44 38 84 77 012345678 5 12 17 วิธีตัดขอ้ มลู ท่ีท�ำ ดว้ ยมอื โดยก�รมองขอ้ มลู ท�ำ ให้ ตรวจสอบไดย้ �กว�่ ไดต้ ัดขอ้ มูลจ�ำ นวนใดแล้วบ�้ ง

หนว่ ยก�รเรยี นรูท้ ่ี 1 ก�รออกแบบอลั กอริทึมที่ใช้แนวคิดเชงิ คำ�นวณในก�รแก้ปญั ห� 17 ก�รเขียนโปรแกรม นอกจ�กก�รเรยี งล�ำ ดบั ดว้ ยมอื แลว้ ยงั ส�ม�รถเขยี นเปน็ โปรแกรมคอมพวิ เตอรโ์ ดยใชอ้ ลั กอรทิ มึ พ้ืนฐ�นน ี้ โดยก�ำ หนดตวั แปรเปน็ แถวล�ำ ดบั คือ ตัวแปรชอ่ื เดยี วแต่มีขอ้ มูลม�กกว่�หน่งึ ชดุ เชน่ numbers ϭ [23, 17, 5, 90, 12, 44, 38, 5, 77] จะไดต้ ัวแปรชอื่ numbers ทมี่ ีข้อมูล 9 ชดุ เรยี กว�่ แถวลำ�ดับหรอื อะเรย์ (array) เรยี กใชโ้ ดยระบุลำ�ดบั ท่ีของอะเรย์ เช่น print (numbers[3]) จะได้ 90 คอื ข้อมลู ชดุ ท ี่ 3 นบั จ�ก 0 ถงึ 3 012345678 23 17 5 90 12 44 38 5 77 รูปท่ี 1.4 ขอ้ มลู ตวั เลขที่ถกู จดั ในรูปแบบอะเรย์ ก�รเขียนโปรแกรมจะกำ�หนดตัวแปร start แทนค่�ท�งซ้�ย และ min แทนค่�ท่ีน้อยที่สุด เมอื่ พบแล้วจะสลับตำ�แหนง่ กนั start min 012345678 23 17 5 90 12 44 38 84 77 exchange 345678 012 90 12 44 38 84 77 23 17 5 sorted exchange รปู ท่ี 1.5 การตรวจหาคา่ ทีน่ ้อยทีส่ ดุ เพือ่ สลับตํ่าแหน่งกบั อะเรยท์ ่ี 0 แถวบนเรมิ่ ท่ีจ�ำ นวนแรก (Start) คอื อะเรย์ท ่ี 0 แล้วตรวจห�ค�่ น้อยทีส่ ดุ ไปท�งขว� พบเลข 5 ทอ่ี ะเรย ์ 2 เปน็ ค�่ น้อยท่สี ุด (min) จึงสลบั ตำ�แหน่งกนั แล้วเล่ือนไปท่ีอะเรย์ถัดไป คอื ทลี่ �ำ ดับ 1 เปน็ เลข 17 ตรวจห�ค่�นอ้ ยทสี่ ุดท�งขว� คอื 12 แลว้ สลับตำ�แหน่ง start min 012345678 5 17 23 90 12 44 38 84 77 exchange 012345678 5 12 23 90 17 44 38 84 77 sorted exchange รปู ท่ี 1.6 การตรวจหาค่าท่นี ้อยท่ีสดุ เพ่ือสลบั ต่าํ แหน่งกับอะเรย์ท่ี 1 ก�รตรวจสอบจะท�ำ ซำ�้ กนั ไปเปน็ รอบ ๆ จนกว่�ข้อมูลจะเรียงล�ำ ดับครบทกุ อะเรยใ์ นต�ร�ง

18 เทคโนโลยี (วิทย�ก�รค�ำ นวณ) ม.2 4.2 ก�รเรยี งลำ�ดบั แบบเรว็ ก�รเรียงลำ�ดับแบบเร็ว (Quick Sort) เป็นวิธีเรียงลำ�ดับที่เร็วกว่�ก�รเรียงลำ�ดับแบบฟอง โดยก�รจบั คตู่ ัวเลขหัวและท�้ ย คือ ตัวท ี่ 1 และตัวสุดท้�ยม�เปรยี บเทยี บกนั ถ�้ ตวั เลขท�งท้�ยน้อยกว�่ ท�งหวั ใหส้ ลับทแ่ี ล้วเลื่อนเข�้ ห�กนั ทั้ง 2 ด�้ น และเปรียบเทียบตวั เลขคู่ต่อไป ขน้ั ตอนท่ี 1 เปรียบเทียบตัวเลขด�้ นซ้�ยสดุ คือ 14 และขว�สดุ คือ 15 พบว�่ ตัวเลขด้�นขว� ม�กกว�่ ตวั เลขด�้ นซ้�ยจึงไม่ตอ้ งสลบั ท่ ี เลื่อนตวั กร�ด (Scan) เข�้ ไป 1 ชอ่ ง ท้งั ซ�้ ยและขว� 14 17 4 8 24 1 13 7 15 Scan Stop Stop Scan ขัน้ ตอนท่ี 2 ตรวจสอบตวั เลขท�งซ�้ ยคือ 17 ท�งขว�คอื 7 ซึง่ นอ้ ยกว่�ท�งซ้�ยจึงสลบั ทีข่ อง ตัวเลขท�งขว�และซ�้ ย 14 17 4 8 24 1 13 7 15 Scan Stop Stop Scan 14 7 4 8 24 1 13 17 15 ขนั้ ตอนที่ 3 สแกนคู่ 4 กบั 13 ไมต่ อ้ งสลับคู่ 14 17 4 8 24 1 13 7 15 Scan Stop Stop Scan ขน้ั ตอนที่ 4 สลับที่ 8 กับ 1 14 17 4 1 24 8 13 7 15 ขน้ั ตอนท่ี 5 สลบั ท่ ี 13 กับ 24 แลว้ สแกนต่อไป พบ 14 และ 1 14 7 4 8 13 1 24 7 15 Scan Stop Scan

หน่วยก�รเรียนรู้ที่ 1 ก�รออกแบบอัลกอรทิ ึมที่ใช้แนวคิดเชิงค�ำ นวณในก�รแก้ปัญห� 19 ขั้นตอนที่ 6 สลับท่ี 14 กบั 1 1 7 4 8 13 14 24 17 15 Scan Stop Scan ขั้นตอนที่ 7 สแกนไปจนครบทกุ ข้อมลู 1 7 4 8 13 14 15 17 24 รหัสเทยี มของขัน้ ตอนก�รเรียงลำ�ดับแบบเรว็ จำ�นวนครั้งท่ีกร�ดตรวจและสลับท่ีข้อมูลวิธีน้ีจะน้อยกว่�ก�รเรียงลำ�ดับแบบฟอง ซ่ึงเขียนเป็น รหัสเทียมไดด้ งั น้ี 1. ข้อมูลเปน็ ค�่ ของ list ในตวั แปรชือ่ L1 ต�มจ�ำ นวนท่ีปอ้ น โดยเค�ะเวน้ วรรคค่ันระหว�่ งข้อมลู แต่ละชุด ครบแลว้ กดแปน้ Enter 2. ถ�้ ข้อมลู เปน็ ชอ่ งว่�งใหจ้ บก�รทำ�ง�น 3. กำ�หนดตัวแปร start เป็นค่�เรม่ิ ต้นและตัวแปร last เปน็ ค�่ สุดท้�ยใน list 4. ตรวจสอบว�่ ตัวสดุ ท้�ยในร�ยก�รม�กกว่�ตัวแรกหรือไม ่ ถ้�ใช ่ ให้สลับทีก่ นั ก�รสลับที่กัน ทนั ทจี ะทำ�ใหข้ อ้ มูลเปน็ ค�่ เดียวกัน เชน่ A ϭ 5, B ϭ 8 ถ�้ เขียนคำ�สั่งใหส้ ลบั ทเี่ ปน็ A ϭ B ค่�ของ A จะเท่�กับ B ทนั ที ดังน้ันก่อนสลับท่ีตอ้ งกำ�หนดตวั แปรใหมม่ �รบั ค�่ ของ A ไวก้ อ่ น

20 เทคโนโลยี (วิทย�ก�รคำ�นวณ) ม.2 ก�รระบุต�ำ แหน่งของ List จ�กซ�้ ยไปขว�ใชค้ �่ บวก เช่น l1[2] หม�ยถงึ ขอ้ มูลชดุ ท ่ี 2 ในร�ยก�ร จ�กซ้�ยไปขว� สว่ นก�รระบจุ �กท�้ ยม�หน้�ใช้เคร่อื งหม�ยลบ เช่น l1[-2] หม�ยถึง ขอ้ มูลชุดที่ 2 จ�ก ขว� 5. ตรวจสอบขอ้ มลู ชดุ ต่อไปต�มเง่ือนไขในข้อ 3 โดยเปลีย่ นค่�ตัวแปร start และ last จนครบ ถ�้ ข้อมลู จำ�นวนม�กให้ใชก้ �รวนซำ้� (Loop) เช่น for j in range lenll1 กำ�หนดจ�ำ นวนรอบในก�รเปรยี บเทยี บ ต�มจำ�นวนขอ้ มูลท้ังหมดทรี่ ับเข้� 6. แสดงร�ยก�รท้งั ชุดทป่ี อ้ นและชดุ ทีเ่ รียงล�ำ ดับแลว้ 4.3 ก�รเรยี งลำ�ดบั แบบฮปี ฮปี (Heap) คือ โครงสร้�งขอ้ มลู ต�มแนวคิดแบบต้นไม้ โดยจะเรยี กขอ้ มลู แต่ละชดุ ว่� โหนด (node) ซงึ่ แตล่ ะโหนดจะมเี สน้ โยงถึงกนั แบบร�กของตน้ ไม ้ โหนดทอี่ ยดู่ �้ นบนจะต้องมีค�่ ตัวเลขม�กกว�่ โหนดล่�ง เรียกว�่ รทู (root) สว่ นโหนดที่อยู่ด�้ นล่�งจะเปน็ โหนดลกู ซึง่ มสี องโหนดท�งซ้�ย (left child) และโหนดขว� (right child) ก�รเรียงลำ�ดบั แบบฮีป (Heapsort) เป็นวิธีเรยี งล�ำ ดบั ทเ่ี ร็วกว�่ วธิ อี ื่น ๆ อัลกอรทิ ึมของฮปี ใช้ โครงสร�้ งขอ้ มลู พเิ ศษเรยี กว�่ ฮปี (Heap) ภ�ยใน ฮปี บรรจดุ ว้ ยโหนด (Node) ทมี่ ขี อ้ มลู และเสน้ โยงขอ้ มลู โหนดบนสุดป็นรูท (Root) ของฮีป แต่ละโหนดจะมีตัวชี้ (Index) เป็นตัวเลข 0, 1, 2 และต่อ ๆ ไป โดยเรียงจ�กบนลงล่�ง และจ�กซ้�ยไปขว� โดยเริ่มต้นจ�กรูท แต่ละโหนดอ�จมีโหนดลูก (Children) เป็นศนู ย ์ หนึ่ง หรอื สองโหนดกไ็ ด้ ถ�้ มีเพยี ง 1 โหนดลกู จะตอ้ งว�งท�งซ้�ยของโหนดเสมอ 0 index root 90 12 84 44 34 56 77 12 5 38 78 17 23 left child right child of of 44 44 รูปท่ี 1.7 โครงสร้างของฮปี Left child of 44 คอื โหนดลกู ท�งซ้�ยของรทู 44 และ right child of 44 คือโหนดลกู ท�งขว�ของ รูท 44

หนว่ ยก�รเรียนร้ทู ่ี 1 ก�รออกแบบอัลกอรทิ ึมท่ีใช้แนวคิดเชงิ คำ�นวณในก�รแก้ปญั ห� 21 อล้ กอรทิ มึ แบบฮปี 012345678 23 17 5 90 12 44 38 84 77 จ�กต�ร�งเป็นข้อมลู ทยี่ งั ไม่ได้เรยี งล�ำ ดับจำ�นวน 9 ชุดนำ�ไปเรยี งล�ำ ดบั แบบฮปี ดังน้ี 0 2 5 23 1 17 1. นำ�ข้อมูลแรกท�งซ้�ยสดุ คือ 23 ว�งลงในรูทเปน็ โหนด 0 2. สร้�งโหนดลกู สองโหนด คือ โหนด 1 และโหนด 2 แลว้ น�ำ ขอ้ มลู ถดั ไปม�ว�งท�งซ้�ยเป็น 17 ท�งขว�เป็น 5 3. ตรวจสอบว่�ตัวเลขในโหนดลูกม�กกว่�รูทหรือไม่ ถ้�ม�กกว่�ให้สลับที่กันถ้�ไม่ม�กกว่�ให้ คงไว้ 4. เพิ่มโหนดใหม่ท่ ี 3 ท�งซ�้ ยโดยใหโ้ หนดที่ 1 เป็นรูท ใสข่ อ้ มูลล�ำ ดบั ถดั ไปคอื 90 ลงในโหนด 0 23 1 2 17 5 3 90 5. ตรวจสอบว่�ข้อมูลในโหนดลูกม�กกว่�รูทหรอื ไม่ 90 ม�กกว่� 17 จึงสลบั ที่กนั 0 23 1 2 90 5 3 17

22 เทคโนโลยี (วิทย�ก�รคำ�นวณ) ม.2 6. หลังจ�กสลบั ท่ตี �มขอ้ 5 แล้วตรวจสอบโหนดที ่ 1 กับโหนด 0 พบว�่ ม�กกว�่ จึงสลบั ทอ่ี กี 0 90 1 2 23 5 3 17 7. เพิ่มโหนดลูกท�งขว�เป็นโหนดท ่ี 4 คือ 12 ไมต่ ้องสลบั ที่ 0 2 5 90 1 23 34 14 12 8. เพ่ิมโหนดลูกท่ีโหนดหม�ยเลข 2 ใส่ขอ้ มลู คือ 44 0 90 2 1 5 23 5 34 17 12 44 9. 44 ม�กกว�่ 5 จึงสลบั ทกี่ บั โหนด 2 0 90 12 23 44 34 5 17 12 5

หน่วยก�รเรียนรูท้ ่ี 1 ก�รออกแบบอลั กอริทึมที่ใช้แนวคิดเชงิ ค�ำ นวณในก�รแก้ปญั ห� 23 10. เพมิ่ โหนดลกู จนหมดขอ้ มลู 0 90 12 23 44 34 56 17 12 5 38 78 84 77 11. ตรวจข้อมลู ถ�้ โหนดลกู ม�กกว�่ รทู ใหส้ ลบั ท่ที กุ โหนด เชน่ โหนดท ่ี 7 คือ 84 ม�กกว่� 17 จึงสลบั ท ี่ แลว้ ตรวจสอบกบั โหนดที ่ 1 คอื 23 84 ม�กกว่� 23 สลบั ท ่ี โหนดท่ี 1, 3 และ 7 จงึ เป็น 17 23 84 เพม่ิ โหนดลกู ที ่ 8 ข้อมูล คอื 77 เทยี บกับ 23 ม�กกว่�จงึ สลับที่ 0 90 12 84 44 34 56 77 12 5 38 78 17 23 หลังจ�กเรียงลำ�ดับแล้ว ให้นำ�ตัวเลขที่เรียงลำ�ดับในรูทม�เรียงลำ�ดับลงในต�ร�งแถวลำ�ดับ จ�กขว�ไปซ�้ ย ดังนี้ 1. น�ำ ตัวเลขในรูทบนสดุ คอื 90 ใส่ในต�ร�งช่องขว�สุด 012345678 90 0 90 12 84 44 34 56 77 12 5 38 78 17 23

24 เทคโนโลยี (วิทย�ก�รค�ำ นวณ) ม.2 2. เลอ่ื นโหนดถดั ไป คือ 84 และ 44 โหนดซ�้ ยคอื 84 มคี �่ ตวั เลขม�กกว�่ 44 จึงเล่อื นม�แทนท่ี เป็นรทู แรก แลว้ ตดั ไปใสใ่ นต�ร�งช่องถัดไป 012345678 84 90 0 84 12 77 44 34 56 23 12 5 38 7 17 3. เล่ือนโหนดถัดไปท่มี ตี ัวเลขม�กท่ีสุดในระดับเดยี วกัน คอื 77 ม�แทนที่รูทแรก และเลอ่ื น 12 ซึ่งเป็นโหนดลูกของ 77 ลงไปเป็นโหนดขว�ของ 23 012345678 77 84 90 0 77 12 23 44 34 56 17 12 5 38 4. เลอื่ นรทู 44 ม�เป็นโหนดแรก และเลื่อนโหนด 38 ม�แทนท่ี 012345678 44 77 84 90 0 44 12 23 38 34 5 14 12 5

หนว่ ยก�รเรยี นรทู้ ่ี 1 ก�รออกแบบอัลกอริทึมท่ใี ชแ้ นวคิดเชงิ คำ�นวณในก�รแกป้ ัญห� 25 5. โหนด 38 ท�งขว�มคี ่�ม�กกว�่ โหนด 23 ท�งซ้�ย จงึ เลอ่ื นขึ้นม�เปน็ โหนดแรก 012345678 38 44 77 84 90 0 2 38 5 1 23 34 17 12 6. เลอ่ื นโหนดถดั ไป คอื 23 ม�เป็นโหนดแรก 012345678 23 38 44 77 84 90 0 23 1 2 5 17 3 12 7. เลื่อนโหนดทีม่ คี �่ ม�กกว�่ คอื 17 ม�เป็นโหนดแรก 012345678 17 23 38 44 77 84 90 0 2 17 5 1 12

26 เทคโนโลยี (วทิ ย�ก�รคำ�นวณ) ม.2 8. นำ�โหนด 12 ม�เป็นโหนดแรกใส่ในต�ร�ง 012345678 12 17 23 38 44 77 84 90 0 12 1 5 9. โหนด 5 เป็นโหนดสุดท้�ยนำ�ม�ใส่ในชอ่ งแรกท่ีเหลือของต�ร�ง 012345678 5 12 17 23 38 44 77 84 90 ต�ร�งท่ี 1.2 เปรยี บเทยี บคว�มเรว็ ในก�รเรยี งลำ�ดับข้อมลู (ต�ม KPI) ชนดิ ของก�รเรยี งล�ำ ดบั วิธีก�รโดยยอ่ คว�มเรว็ 1. ก�รเรยี งล�ำ ดบั แบบเลือก n-1 (Selection sort) สลบั ที่คร้ังละคู่จ�กซ�้ ยไปขว�จน เข้�ใจง่�ยแต่ใช้เวล�ในก�รเรียง ครบแล้ววนกลับม�สลับค่�รอบ ล�ำ ดบั ม�ก เหม�ะกบั ขอ้ มลู จ�ำ นวน 2. ก�รเรยี งลำ�ดับแบบฟอง ต่อไปจนครบทกุ คู่ ไมม่ �ก (Bubble sort) 3. ก�รเรียงล�ำ ดบั แบบแทรก เรยี งจ�กนอ้ ยไปม�ก ห�ค�่ ทนี่ อ้ ย ใชเ้ วล�นอ้ ย เหม�ะกบั ขอ้ มลู จ�ำ นวน กว่�ม�ว�งท�งซ้�ยของข้อมูลท่ี ม�ก (Insertion sort) ม�กกว่�แล้วเปรียบเทียบข้อมูล รอบใหม่จนครบ 4. ก�รเรียงล�ำ ดบั แบบเชลล์ แบ่งข้อมูลครั้งละคร่ึงแล้วเรียง ใชเ้ วล�นอ้ ยกว�่ แบบแทรก เหม�ะ ล�ำ ดับ เชน่ มขี อ้ มลู 10 ชุดใหเ้ ร่มิ กับขอ้ มลู ขน�ดใหญ่ (Shell sort) จ�ก 10/2 คือชุดท่ี 5 แล้วเรียง ลำ�ดับ 5. ก�รเรียงลำ�ดับแบบฮปี ใช้โครงสร้�งแบบต้นไม้ทวิภ�ค เข้�ถึงข้อมูลสำ�คัญสูงได้ง่�ย ใช้ (Binary heap) ในก�รเปรยี บเทยี บ เวล�นอ้ ย (Heap sort) ขอ้ มูลและสลับท่ี 6. ก�รเรยี งลำ�ดบั แบบผส�น แบ่งข้อมูลเป็นสองส่วนคล้�ยกับ ใชเ้ วล�นอ้ ย เหม�ะกบั ขอ้ มลู ขน�ด แบบเชลลแ์ ล้วเปรียบเทียบ ใหญ่ (Merge sort)

หน่วยก�รเรียนรทู้ ี่ 1 ก�รออกแบบอัลกอรทิ ึมท่ีใชแ้ นวคิดเชิงคำ�นวณในก�รแก้ปญั ห� 27 ต�ร�งที่ 1.2 เปรียบเทียบคว�มเร็วในก�รเรยี งล�ำ ดับข้อมูล (ต�ม KPI) (ต่อ) ชนิดของก�รเรยี งลำ�ดบั วิธกี �รโดยย่อ คว�มเรว็ 7. ก�รเรยี งลำ�ดับแบบเร็ว ห�ค่�กล�งสำ�หรับเทียบตัวเลข ใช้เวล�น้อย เหม�ะสำ�หรับข้อมลู โดยน�ำ เลขทม่ี คี �่ ม�กกว�่ ว�งท�ง จ�ำ นวนม�ก (Quick sort) ขว�ตัวเลขท่นี อ้ ยกว่�ว�งท�งซ้�ย กิจกรรมตรวจสอบก�รเรียนรทู้ ่ี 1.3 1. ก�รเรียงล�ำ ดบั คว�มสงู ของเส� จ�กรปู เปน็ เส�ทป่ี กั บนพนื้ ใหเ้ ขยี นอลั กอรทิ มึ จดั เรยี งเส�ใหมโ่ ดยเรยี งล�ำ ดบั จ�กเส�ตน้ ทเี่ ตย้ี สดุ ไปห�ตน้ ที่สงู ท่ีสุด (Ascending) 0 12 3 4 5 6 2. จัดเรียงเสอ้ื ใหห้ �ได้ง่�ยท่ีสดุ ถ้�นักเรยี นมเี สอื้ แบบต�่ งๆ ดงั ตอ่ ไปนี้ ชุดนกั เรียน ชดุ ล�ำ ลอง ชดุ ใสเ่ ทย่ี ว ชดุ นอน ชุด ชุดช้ันใน เคร่ืองแบบ เส้อื กันหน�ว ออกก�ำ ลงั ก�ย ลกู เสือ ใหเ้ ขยี นอลั กอรทิ มึ ในก�รเรียงล�ำ ดบั ของเสือ้ ใหห้ �ง�่ ยทสี่ ดุ

28 เทคโนโลยี (วทิ ย�ก�รค�ำ นวณ) ม.2 ทบทวนคว�มรหู้ นว่ ยก�รเรยี นรู้ท่ี 1 nowledge หลักของก�รคดิ เชิงค�ำ นวณ - ก�รจำ�แนก เป็นก�รแยกปัญห�เป็นส่วนย่อยๆ เพ่ือวิเคร�ะห์และ แก้ปญั ห� - ก�รรูจ้ ำ�แบบ เป็นก�รคดิ โดยสงั เกตและจ�ำ รูปแบบ - ก�รคิดเชิงน�มธรรม เป็นก�รคิดเก่ียวกับข้อเท็จจริงและร�ยละเอียด ก�รคดิ ท่ัวไป ต่�งๆ - ก�รคิดแบบทิศท�งเดียว - ก�รคิดแบบเสน้ ขน�น - ก�รออกแบบอลั กอรทิ มึ เปน็ ก�รออกแบบข้ันตอนในก�รแกไ้ ขปญั ห� - ก�รคิดวเิ คร�ะห์ - ก�รคิดแบบสงั เคร�ะห์ - ก�รคิดโดยใช้ตรรกศ�สตร์ แนวคดิ เชิงค�ำ นวณ ที่ใชแ้ นวคกิด�รเชอิงอคก�ำแนบวบณอใัลนกกอ�รรทิ แมึ ก้ปญั ห� และเหตผุ ลท�งคณิตศ�สตร์ แนวคิดเชิงคำ�นวณ หม�ยถึง ก�รคิด อัลกอรทิ ึม เชงิ วิเคร�ะห์และใชเ้ หตุผลท�งคณิตศ�สตร์ ขัน้ ตอนวธิ เี รยี งลำ�ดับ เพอ่ื ห�วธิ แี กป้ ญั ห� โดยในส�ยคอมพวิ เตอร์ จะน�ำ วธิ แี กป้ ญั ห�ทคี่ ดิ ไวไ้ ปเขยี นเปน็ โปรแกรม ใหค้ อมพวิ เตอร์ด�ำ เนนิ ก�ร ประเภทของวธิ ีก�รเรียงลำ�ดับ วิธกี �รเรียงล�ำ ดับ 1. ก�รเรยี งลำ�ดับแบบเลือก เปน็ ก�รจัดเรียงต�ม 2. ก�รเรยี งลำ�ดบั แบบฟอง ปรมิ �ณเวกเตอร์ อลั กอรทิ มึ เป็นวธิ ีเขียนขน้ั ตอนก�รทำ�ง�น 3. ก�รเรยี งล�ำ ดบั แบบแทรก หรือเขียนลำ�ดับก�รทำ�ง�นเพื่อให้ได้ผลลัพธ์ 4. ก�รเรยี งลำ�ดบั แบบเชลล์ ท่ีรวดเร็วที่สุด ซึ่งเขียนได้ท้ังแบบแผนภ�พ 5. ก�รเรยี งล�ำ ดบั แบบฮีป รหสั เทียม และผงั ง�น 6. ก�รเรียงล�ำ ดับแบบผส�น 7. ก�รเรียงลำ�ดบั แบบเร็ว rocess ttribute 1. อธิบ�ยแนวคดิ เชงิ ค�ำ นวณ 1. ตงั้ ใจ ใฝเรยี นรู้ 2. ออกแบบอลั กอริทมึ โดยใช้แนวคิดเชิงค�ำ นวณในก�รแก้ปัญห� 2. มงุ่ มนั่ ในก�รทำ�ง�น 3. จำ�แนกวิธีก�รเรยี งล�ำ ดบั 4. คว�มส�ม�รถในก�รใช้เทคโนโลยีส�รสนเทศ 5. คิดแบบมีวจิ �รณญ�ณและคิดแก้ปญั ห�

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

30 เทคโนโลยี (วทิ ย�ก�รคำ�นวณ) ม.2 แบบทดสอบวัดผลสัมฤทธิ์ 1. เขียนอัลกอรทิ มึ ในก�รหงุ ข้�วด้วยหม้อไฟฟ�้ โดยใช้รปู ประกอบข้อคว�ม 2. อธบิ �ยอัลกอรทิ มึ ก�รเรียงลำ�ดบั 2 แบบ และยกตัวอย่�งประกอบให้ชัดเจน 3. ก�รเรียงล�ำ ดบั มีประโยชนใ์ นก�รเขยี นโปรแกรมอย�่ งไร 4. บอกวธิ ีเรยี งล�ำ ดับท่นี ิยมใชก้ ันม�ก 2 วธิ ี

หนงั สอื เรยี น รายวชิ าพน้ื ฐานวทิ ยาศาสตร์ เทคโนโลยี (วทิ ยาการคาำ นวณ) ชน้ั มธั ยมศกึ ษาปที ่ี 2 ราคา 75 บาท


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