Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
ผเรยบเรยงนายพฒพงษ อมรวงศ
ผตรวจนายภชงค จนทรเปลง
นายววฒน สวนนทวงศนายสทน โรจนประเสรฐ
บรรณาธการนายวเชยร วสงเร
ชวงชนท 3
(วทยาการค�านวณ)
หนงสอเรยน รายวชาพนฐานวทยาศาสตร เทคโนโลย (วทยาการคำานวณ) ชนมธยมศกษาปท ๑
ตามมาตรฐานการเรยนรและตวชวด กลมสาระการเรยนรวทยาศาสตร (ฉบบปรบปรง พ.ศ.๒๕๖๐)
ตามหลกสตรแกนกลางการศกษาขนพนฐาน พทธศกราช ๒๕๕๑
หนงสอเรยนรายวชาพนฐานวทยาศาสตร เทคโนโลย (วทยาการคำานวณ)
ชน ม.๑ น มเนอหาครอบคลมตงแต การออกแบบอลกอรทม การออกแบบโปรแกรม
อยางงาย การรวบรวมและประมวลผลขอมล การนำาเสนอขอมลและสารสนเทศ และ
การใชเทคโนโลยสารสนเทศอยางปลอดภย มสาระการเรยนรทางเทคโนโลยตรง
ตามผลการเรยนร คอ “เขาใจและใชแนวคดเชงคำานวณในการแกปญหาทพบในชวต
จรงอยางเปนขนตอนและเปนระบบ ใชเทคโนโลยสารสนเทศและการสอสารในการ
เรยนร การทำางาน และการแกปญหาไดอยางมประสทธภาพ รเทาทนและมจรยธรรม”
ซงทงหมดนเปนพนฐานทสำาคญในพฒนาโปรแกรม การนำาเสนอขอมลและสารสนเทศ
และความปลอดภยในการใชเทคโนโลยสารสนเทศ
ในการจดทำาหนงสอรายวชาพนฐานวทยาศาสตร เทคโนโลย (วทยาการคำานวณ)
ชน ม.๑ น ผเขยนไดเนนเนอหาในเชงการฝกปฏบตในการออกแบบโปรแกรมอยางงาย
ดวยภาษาไพทอนดวย โดยออกแบบขนตอนการใหเนอหาจากงายไปยากใหผเรยนปฏบต
ตาม และมภาพประกอบเพอเสรมการเรยนร ผเรยนจงสามารถใชหนงสอนเปนคมอ
การเรยนไดทงการเรยนรดวยตนเอง และฝกปฏบตในชนเรยน แตละบทมกจกรรมและ
การประเมนผลการเรยนรใหผเรยนไดฝกทกษะและทบทวนความร อนจะทำาใหผเรยนม
ความร ความเขาใจ และมทกษะการเขยนโปรแกรมภาษาไพทอนเพมขน
ผเขยนหวงเปนอยางยงวา หนงสอเลมนจะเปนแนวทางใหผเรยนไดพฒนา
ศกยภาพในการออกแบบอลกอรทม การออกแบบโปรแกรมภาษาไพทอน สามารถ
รวบรวมและนำาเสนอขอมล และใชเทคโนโลยสารสนเทศอยางปลอดภยตอไป
พฒพงษ อมรวงศ
หนงสอเรยน รายวชาพนฐานวทยาศาสตร เทคโนโลย (วทยาการคำานวณ) ชนมธยมศกษาปท ๑
ตามมาตรฐานการเรยนรและตวชวด กลมสาระการเรยนรวทยาศาสตร (ฉบบปรบปรง พ.ศ.๒๕๖๐)
ตามหลกสตรแกนกลางการศกษาขนพนฐาน พทธศกราช ๒๕๕๑
เทคโนโลย (วทยาการคำานวณ) ชน ม.๑ พฒพงษ อมรวงศ
ราคา ๙๐ บาทสงวนลขสทธ © พ.ศ. ๒๕๖๒ โดย พฒพงษ อมรวงศ หามการลอกเลยนไมวาสวนหนงสวนใดของหนงสอเลมน นอกจากจะไดรบอนญาต
พมพครงท ๑ พ.ศ. ๒๕๖๒
จำานวน ๓,๐๐๐ เลม
ขอมลทางบรรณานกรมของหอสมดแหงชาต พฒพงษ อมรวงศ เทคโนโลย (วทยาการคำานวณ) ชน ม.๑ -- ปทมธาน: มเดย อนเทลลเจนซ เทคโนโลย, ๒๕๖๒. ๑๔๐ หนา. 1. เทคโนโลยสารสนเทศ (การใชโปรแกรมคอมพวเตอร) I. ชอเรอง
ISBN 978-616-7319-77-3
จดพมพและจดจำาหนายโดย
บรษท มเดย อนเทลลเจนซ เทคโนโลย จำากด
Media Intelligence Technology Co.,Ltd.
๔๙/๘๓ หม ๗ ต.คลองสอง อ.คลองหลวง จ.ปทมธาน ๑๒๑๒๐
โทรศพท ๐-๒๕๑๖-๕๖๙๐-๑ โทรสาร ๐-๒๕๑๖-๕๖๙๒
www.mitmedia.com e-mail : [email protected]
ออกแบบ : KanomDesign Studio
พมพท : บรษท เยลโลการพมพ (1988) จำากด
ค�าน�า
สารบญ
หนวยท 1 การออกแบบอลกอรทม 1 1.1 ความรพนฐานเกยวกบอลกอรทม 2 กจกรรม 1-1 เขยนอลกอรทมทางกลบบานหลงเลกเรยน 8 1.2 การออกแบบอลกอรทมโดยใชผงงาน (Flowchart) 8 กจกรรม 1-2 การเขยนผงงานการเดนกลบบาน 13 1.3 การออกแบบอลกอรทมโดยใชรหสเทยม (Pseudo-code) 14 กจกรรม 1-3 การเขยนรหสเทยมของการหาพนทสามเหลยม 16 1.4 การออกแบบอลกอรทมเพอแกปญหาทางคณตศาสตร วทยาศาสตรอยางงาย 18 กจกรรม 1-4 การเขยนรหสเทยมค�านวณหาพนทแผนหญา 23 สรป 23 การวดและประเมนผลการเรยนร หนวยท 1 26
หนวยท 2 การออกแบบโปรแกรมอยางงาย 27 2.1 ประเภทของตวแปลภาษา 28 2.2 คณลกษณะของภาษาไพทอน 29 2.3 การดาวนโหลดและตดตงชดพฒนาโปรแกรมภาษาไพทอน 30 2.4 การใชงานแบบโตตอบ 35 2.5 การสรางโปรแกรม และบนทกโปรแกรม 37 2.6 การทดสอบโปรแกรม และการแกไขทผด 43 กจกรรม 2-1 การสรางโปรแกรมนามบตร 46 2.7 การออกแบบและเขยนโปรแกรมทมการใชตวแปร 46 กจกรรม 2-2 การสรางโปรแกรมเพอก�าหนดขอมลแบบจ�านวนเตม 50 กจกรรม 2-3 การเพมขอความประกอบการแสดงคาของตวแปร 51 กจกรรม 2-4 การเพมขอความประกอบการแสดงคาของตวแปร 52
2.8 การออกแบบและเขยนโปรแกรมทมการใชเงอนไข 53 กจกรรม 2-5 การเขยนผงงานและโปรแกรมเพอก�าหนดคาของตวแปร 57
กจกรรม 2-6 การเขยนผงงานและโปรแกรมเพอก�าหนดคาของตวแปร 58 กจกรรม 2-7 สรางโปรแกรมเพอปอนคา 61 กจกรรม 2-8 เขยนผงงานและสรางโปรแกรมเพอปอนคา 62 กจกรรม 2-9 เขยนผงงานและสรางโปรแกรม mygrade.py 62 2.9 การออกแบบและเขยนโปรแกรมทมการวนซำา 65 กจกรรม 2-10 สรางโปรแกรม count10.py 68 กจกรรม 2-11 ออกแบบโปรแกรมส�าหรบวนซ�าพมพขอความ 68 กจกรรม 2-12 โปรแกรม forCount.py 71 กจกรรม 2-13 โปรแกรม forDown.py 72 2.10 การออกแบบและเขยนโปรแกรม เพอแกปญหาทางคณตศาสตร วทยาศาสตรอยางงาย 72 กจกรรม 2-14 โปรแกรมค�านวณหาพนทสเหลยมคางหม 76 กจกรรม 2-15 โปรแกรมค�านวณหาความเรวในการวงของนกเรยน 76 กจกรรม 2-16 โปรแกรมค�านวณดชนมวลกาย 77 สรป 78 การวดและประเมนผลการเรยนร หนวยท 2 80
หนวยท 3 การรวบรวมและประมวลผลขอมล 81 3.1 ขอมล และประเภทของขอมล 82 กจกรรม 3-1 ขอมลและประเภทของขอมล 83 3.2 การรวบรวมขอมลปฐมภม 83 กจกรรม 3-2 การรวบรวมขอมล 86 3.3 การประมวลผลขอมล 86 กจกรรม 3-3 การประมวลผลขอมล 87 3.4 ขนตอนการประมวลผลขอมล 87 กจกรรม 3-4 การสบคนขอมล 88 3.5 การใชโปรแกรมประมวลผลขอมลอยางงาย 89 กจกรรม 3-5 การค�านวณหาคาเฉลย 95 กจกรรม 3-6 การหาคา BMI ทศนยม 2 ต�าแหนง 98 กจกรรม 3-7 การหาค�านวณหาคาดชนมวลกายของนกเรยน 99
มาตรฐานการเรยนร
1. บอกความรพนฐานเกยวกบอลกอรทมได
2. ออกแบบอลกอรทมโดยใชผงงานได
3. ออกแบบอลกอรทมโดยใชรหสเทยมได
4. ออกแบบอลกอรทมเพอแกปญหาทางคณตศาสตร วทยาศาสตรอยางงายได
ตวชวดและสาระแกนกลาง
1. ความรพนฐานเกยวกบอลกอรทม
2. การออกแบบอลกอรทมโดยใชผงงาน (Flowchart)
3. การออกแบบอลกอรทมโดยใชรหสเทยม (Pseudo-code)4. การออกแบบอลกอรทมเพอแกปญหาทางคณตศาสตร วทยาศาสตรอยางงาย
การออกแบบอลกอรทม
หนวยท 1 สรป 99 การวดและประเมนผลการเรยนร หนวยท 3 101
หนวยท 4 การน�าเสนอขอมลและสารสนเทศ 102 4.1 ลกษณะของการน�าเสนอขอมลและสารสนเทศ 103 กจกรรม4-1การน�าเสนอขอมลในรปขอความกงตาราง 104 4.2 การน�าเสนอโดยใชตาราง 104 กจกรรม4-2การน�าเสนอขอมลในรปตาราง 105 4.3 การน�าเสนอขอมลโดยใชแผนภม 105 กจกรรม4-3การน�าเสนอขอมลเปนแผนภมรปภาพ 106 กจกรรม4-4การน�าเสนอขอมลในรปแผนภมแทง 109 กจกรรม4-5การน�าเสนอขอมลในรปแผนภมเสน 111 4.4 การสรางกราฟผลการทดลอง และวเคราะหแนวโนม 112 กจกรรม4-6การสรางงานน�าเสนอขอมลดวยแผนภม 126 สรป 126 การวดและประเมนผลการเรยนร หนวยท 4 128
หนวยท 5 การใชเทคโนโลยสารสนเทศอยางปลอดภย 129 5.1 การใชเทคโนโลยสารสนเทศอยางปลอดภย 130 กจกรรม5-1คนหาเวบไซตทมเครองหมายSecuredsite 132 5.2 การจดการอตลกษณ 133 กจกรรม5-2การหามใชรหสผานเดยวกบทกบญช 134 5.3 การพจารณาความเหมาะสมของเนอหา 134 กจกรรม5-3เวบไซตทไมเหมาะสม 135 5.4 ขอตกลง ขอก�าหนดในการใชสอ หรอแหลงขอมลตางๆ 135 กจกรรม5-4คนหาเวบไซตทมสญลกษณขอตกลงของครเอทฟคอมมอนส 138 สรป 138 การวดและประเมนผลการเรยนร หนวยท 5 139
บรรณานกรม 140
1.1.1 ความหมายของอลกอรทมอลกอรทม หมายถง ชดขนตอนการท�างานตามล�าดบทคอมพวเตอร และอปกรณ
อจฉรยะอนๆ (เชน สมารทโฟน) สามารถท�าได เพอท�าการค�านวณ ประมวลผลขอมล และ
ท�างานทตองใชเหตผลอยางอตโนมต (Association for Computing Machinery, 2017)
โดยทวไปแลว อลกอรทม หมายถง ล�าดบขนตอนทถกออกแบบไวอยางชดเจนในการ
แกปญหาใดปญหาหนง หรอขนตอนวธการท�างานของงานใดงานหนงใหส�าเรจ ปญหาทตองแก
อาจเปนปญหาในเรองตางๆ หรอการท�างานในชวตจรง เชน ขนตอนการปรงอาหาร ขนตอนการ
เดนทางไปเทยวตางจงหวด ขนตอนการแกปญหาทางคณตศาสตรดวยคอมพวเตอร ฯลฯ
ค�าวา “อลกอรทม” มาจากชอของ al-Kwarizmi นกคณตศาสตรชาวเปอรเซยใน
ศตวรรษท 8 ในภาพท 1.3 ซงเขยนหนงสอเกยวกบพชคณตของการค�านวณเชงตวเลข จนไดรบ
การยกยองใหเปน “บดาแหงพชคณต” และเปนผรเรมใชตวเลขแบบฮนด-อารบค 1, 2, 3, …
ซงท�าใหการค�านวณงายกวาการใชตวเลขแบบโรมน I, II, III, …
ภาพท1.3MuhammadibnMusaal-Khwarizmi(WobbeVegter,April2005)
1.1 ความรพนฐานเกยวกบอลกอรทม
ค�าวา “อลกอรทม (Algorithm)” หลายคนอาจจะไมเคยรจก แตบางคนทใชอนเทอรเนต
ส�าหรบคนหาขอมลหรอภาพดวยกเกล อาจเคยเหนขาวการปรบปรงอลกอรทมของกเกลดงภาพ
ท 1.1
ภาพท1.1การปรบปรงอลกอรทมของกเกล
หรอคนทใชเฟซบคกอาจเคยเหนการปรบปรงอลกอรทมดงภาพท 1.2
ภาพท1.2การปรบปรงอลกอรทมของเฟซบค
ในหนวยท 1 นนกเรยนจะไดศกษาเกยวกบอลกอรทมหมายถงอะไร มความส�าคญ และ
มประโยชนอยางไรในชวตจรงของเรา การออกแบบและปรบปรงอลกอรทมท�าไดอยางไร
ลองพจารณาศกษาดในบทน
2 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 3
ภาพท1.5การคดเชงค�านวณ(Computationalthinking)
1.1.3 การคดเชงค�านวณการคดเชงค�านวณ เปนกระบวนการคดทตองใชทกษะและเทคนคเพอแกปญหาในเชง
นามธรรม
การคดเชงค�านวณ ประกอบดวย
1) การแบงยอยปญหา (Decomposition) เมอมปญหา สามารถวเคราะหหรอ
แบงปญหาออกเปนปญหายอยๆ ได แลวท�าการแกปญหาทละปญหายอย
2) การมองรปแบบของปญหา (Pattern recognition) สามารถรจ�ารปแบบ (Pattern)
ของปญหา หรอสถานการณทเกดขนซ�าๆ กนได เพอหาวธแกปญหาทคลายกน
3) การมองภาพรวม หรอแนวคดเชงนามธรรม (Abstraction) เปนการประเมน
ความส�าคญในรายละเอยดของปญหา แยกแยะสวนทเปนสาระส�าคญออกจากสวนทไมใชสาระ
ส�าคญ
4) การออกแบบอลกอรทม (Algorithm design) เปนสวนทส�าคญทสด นนคอ
การออกแบบล�าดบการท�างานทสามารถก�าหนดขนตอนวธการแกปญหา คดหาวธการท�างานให
เรวและสนทสดจนไดผลลพธตามทก�าหนด
1.1.4 คณสมบตของอลกอรทมในการออกแบบอลกอรทมไมวาจะเปนอลกอรทมทใชกบชวตจรงหรออลกอรทมทใชกบ
คอมพวเตอรจะตองมคณสมบตดงตอไปน
1.1.2 ความส�าคญของอลกอรทมในชวตประจ�าวน ทกคนตองเคยพบกบปญหาตางๆ ไมวาจะเปนปญหาดานการเงน
การงาน การเรยน หรอแมแตการเลนเกม เมอพบกบปญหา แตละคนมวธทจะจดการ หรอ
คดอลกอรทมหรอขนตอนในการแกปญหาเหลานนแตกตางกนไป ซงแตละวธการอาจใหผลลพธ
ทเหมอนกน หรอแตกตางกนบาง ทงนขนอยกบความร ความสามารถ และประสบการณของ
บคคลผนน
การน�าคอมพวเตอรมาชวยในการแกปญหา กตองมขนตอนเชนกน คอ วเคราะหปญหา
แลวออกแบบขนตอนการท�างาน หรออลกอรทมกอน เมอตรวจสอบความถกตองของอลกอรทม
ดแลว จงจะน�าอลกอรทมไปออกแบบและเขยนโปรแกรมสงการใหคอมพวเตอรท�างานตามท
ตองการตอไป ดงภาพท 1.4
ภาพท1.4ขนตอนการแกปญหาดวยคอมพวเตอร
ถาการออกแบบอลกอรทมท�าไดไมด หรอไมสามารถท�าได การออกแบบโปรแกรม
กท�าไดไมด หรอไมสามารถท�าไดเชนกน แตถาออกแบบอลกอรทมด การออกแบบและเขยน
โปรแกรมกท�าไดอยางรวดเรวและงายขน ดงนน นกคอมพวเตอร จะตองหาวธการทจะใหไดมา
ซงอลกอรทมทดและมประสทธภาพมากทสด นนคอ สามารถแกปญหาไดในเวลาอนรวดเรวทสด
และใชทรพยากรนอยทสด
การออกแบบอลกอรทมจงถกจดใหเปนสวนส�าคญอกสวนหนงทนกคอมพวเตอรจะตอง
สามารถท�าได โดยนกคอมพวเตอรทดจะตองมวธการคดเชงค�านวณ (Computational thinking)
ซงประกอบดวยแนวคดแบบตางๆ ดงภาพท 1.5
4 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 5
การเขยนอลกอรทม
เมอท�าการวเคราะหปญหาเสรจแลว เขยนเปนอลกอรทมแบบบรรยาย และแบบขนตอน
ไดดงน
อลกอรทมแบบบรรยาย ใสคะแนนสอบทง 7 วชา ค�านวนคาคะแนนเฉลยโดยการบวก
คะแนนทง 7 วชา แลวหารดวย 7 ถาคาคะแนนเฉลยต�ากวา 50 แสดงขอความ “สอบไมผาน”
แตถาคาคะแนนเฉลยมากกวา หรอเทากบ 50 แสดงขอความ “สอบผาน”
อลกอรทมแบบขนตอน
ขนตอนท 1 ใสคะแนนสอบทง 7 วชา
ขนตอนท 2 บวกคะแนนทง 7 วชา
ขนตอนท 3 ค�านวนคาคะแนนเฉลย โดยหารดวย 7
ขนตอนท 4 ถาคาคะแนนเฉลยต�ากวา 50 แสดงขอความ “สอบไมผาน”
ขนตอนท 5 ถาคาคะแนนเฉลยมากกวา หรอเทากบ 50 แสดงขอความ “สอบผาน”
ส�าหรบตวอยางของอลกอรทมแบบผงงาน และแบบรหสเทยม โปรดดในหวขอท
เกยวของตอไป
1.1.6 ประโยชนของอลกอรทมประโยชนของอลกอรทม มดงน
1) ท�าใหการท�างาน หรอการแกปญหาชดเจนขน เพราะทกอยางจะถกแยกแยะกจกรรม
จดเรยงเปนขนตอน มวธการ และทางเลอกไว
2) ชวยในการแกปญหา
3) ท�าใหการท�างานส�าเรจอยางรวดเรว
4) อลกอรทมทออกแบบไวดแลว สามารถน�าไปใชไดอก หรออาจน�าไปใชกบงานอนได
1.1.7 ตวอยางของการใชอลกอรทมในปจจบนการควบคมไฟจราจร
การแปลงเลขฐานสบ เปนเลขฐานสองในคอมพวเตอร
การเขารหส และการถอดรหสขอมล
การหาเสนทางทดทสด
การเรยงล�าดบขอมล
การตดตอสอสาร
การบบอดขอมล
ฯลฯ
1) มการท�างานทชดเจน และท�าไดจรง ไมคลมเครอ เชน รบคาตวเลข 2 คา ไมใชรบ
อะไรกได
2) มล�าดบขนตอนการท�างานทชดเจน จนจบการท�างาน ไมใชท�างานจนไมมการหยด
3) ดงาย หรอตรวจสอบแกไขได
4) มความถกตอง ทงการท�างาน และผลลพธ
5) ท�างานไดครบทกเงอนไข
6) มประสทธภาพ คอ ใชเวลา และหนวยความจ�าทเหมาะสม
1.1.5 ลกษณะของอลกอรทมอลกอรทมเขยนไดหลายรปแบบดงตอไปน
1) แบบบรรยาย (Narrative description)
2) แบบขนตอน (Step by step)
3) แบบผงงาน (Flowchart)
4) แบบรหสเทยม (Pseudo-code)
5) แบบโปรแกรม (Program)
การเขยนอลกอรทมแบบบรรยายและแบบขนตอนเหมาะส�าหรบใชกบการท�างานทวไป
แบบทนยมใชกบคอมพวเตอรคอ ผงงาน และรหสเทยม เนองจากดงายกวา และไมขนอยกบ
ภาษาคอมพวเตอร สวนแบบโปรแกรมขนอยกบภาษาทใช
ตวอยางท 1 การเขยนอลกอรทมแบบบรรยาย และแบบขนตอน
ปญหา ตองการหาคะแนนเฉลยของการสอบ 7 วชา ถาคะแนนเฉลยต�ากวา 50 สอบไม
ผาน แตถาคะแนนเฉลยตงแต 50 ขนไป สอบผาน
การวเคราะหปญหา
จากปญหา สามารถวเคราะหปญหาไดโดยแบงการท�างานออกเปน 3 สวนตามลกษณะ
การท�างานของคอมพวเตอร คอ สวนน�าเขาขอมล (Data input) สวนประมวลผล (Processing)
และสวนแสดงผลขอมล (Data output) โดยก�าหนดรายละเอยดของขอมลเขา วธการประมวลผล
และการแสดงผล ดงตอไปน
ขอมลเขา : คะแนนสอบ 7 วชา
การประมวลผล : การหาคาเฉลย คอการรวมคะแนนสอบทง 7 วชา แลวหารดวยจ�านวนวชา
การแสดงผล : แสดงตามเงอนไข ดงน ถาคาคะแนนเฉลยต�ากวา 50 แสดงขอความ
“สอบไมผาน” แตถาคาคะแนนเฉลย มากกวา หรอเทากบ 50 แสดงขอความ “สอบผาน”
6 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 7
1.2.2 เครองมอทใชในการเขยนผงงานการเขยนผงงานอาจเขยนดวยมอหรอใชเครองมอชวยดงตอไปน
1) บรรทดแบบส�าหรบเขยนผงงาน (Flowchart template ruler) การเขยนผงงาน
ดวยมอใชส�าหรบการรางแบบ หรอออกแบบตามวธคดแบบคราวๆ อาจไดผงงานทไมสวย แตถา
ใชบรรทดแบบส�าหรบเขยนผงงานดงภาพท 1.6 ชวยกจะท�าใหเขยนไดเรว และสวยขน
ภาพท1.6บรรทดแบบส�าหรบเขยนผงงาน
ตารางท 1.2 สญลกษณทเกยวกบขอมลเขา/ออกกจกรรม 1-1 เขยนอลกอรทมทางกลบบานหลงเลกเรยน
ในการเดนทางกลบบานของนกเรยนหลงเลกเรยน ตองท�าอยางไรบางจงจะถงบาน
ใหเขยนเปนอลกอรทมแบบขนตอนตามทสามารถท�าไดจรง
1.2 การออกแบบอลกอรทมโดยใชผงงาน (Flowchart)
การเขยนผงงานเปนการออกแบบอลกอรทมทใช รปภาพสญลกษณแทนขนตอน
การท�างานตางๆ ในแตละขน และใชเสนหวลกศรเชอมตอ เพอแสดงเสนทางการท�างาน
1.2.1 สญลกษณทใชเขยนผงงาน และความหมายสญลกษณทใชในการเขยนผงงาน ตามมาตรฐาน ISO (International Organization for
Standardization) บางสวนทควรทราบ มดงตารางท 1.1 และตารางท 1.2
ตารางท 1.1 สญลกษณทใชในการเขยนผงงาน (บางสวน)
8 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 9
5) ใชค�าอธบายการท�างานในแตละขนตอนดวยขอความทสน กะทดรด ชดเจน
และเขาใจไดงาย ถาตองการเขยนหมายเหตเพมเตมใหใชสญลกษณของหมายเหต ดงตวอยางใน
ภาพท 1.8
6) ใชสญลกษณจดตอในหนาเดยวกน แทนการโยงเสนยาวๆ หรอเสนทตดกน
7) ถาไมสามารถเขยนในหนาเดยวได ใหใชสญลกษณจดตอระหวางหนา
8) ทดสอบความถกตองของการท�างานกอน จงน�าไปใชเขยนโปรแกรมตอไป
9) เขยนใหครบทกฟงกชนทใช และก�าหนดขนตอนและรายละเอยดใหชดเจน
เพอทจะไดตรวจสอบการท�างานของโปรแกรมไดถกตอง เชน คาทรบเขาตองมหนวยเปนอะไร
สตรทใชในการค�านวณเปนอยางไร ผลลพธทไดมอะไรบาง และจะแสดงทจอ หรอพมพเปน
เอกสาร
10) ก�าหนดชอผงงาน เพอใหทราบวาเปนอลกอรทมส�าหรบท�าอะไร
1.2.4 โครงสรางของผงงานในการออกแบบอลกอรทมโดยใชผงงาน สามารถเขยนโดยใชโครงสรางหลก 3 แบบ
ซงอาจเขยนแบบใดแบบหนง หรอผสมกนหลายแบบได ดงตอไปน
1) โครงสรางแบบตามล�าดบ (Sequence) เปนการแสดงขนตอนการท�างาน
ตามล�าดบ ตวอยางดงภาพท 1.8
ภาพท1.8โครงสรางแบบตามล�าดบ
2) ซอฟตแวร หรอโปรแกรมส�าหรบเขยนผงงาน (Flowchart software) ในปจจบน
มโปรแกรมส�าหรบเขยนผงงานจ�านวนมาก ทงแบบไมเสยคาใชจาย เชน draw.io ซงเปนแบบ
ออนไลนและแบบทตองซอมาตดตงส�าหรบมออาชพ เชน ไมโครซอฟตวสโอ (Microsoft
visio) หรอถามโปรแกรมไมโครซอฟตเวรดหรอเอกเซลอยแลว กสามารถใชเขยนผงงานได
เชนกน โดยเลอกรปราง (Shapes) ตามขนตอนดงภาพท 1.7
ภาพท1.7การเลอกรปรางส�าหรบเขยนผงงาน
1.2.3 หลกการเขยนผงงานทดหลกการเขยนผงงานทด ควรท�าดงตอไปน
1) ใชสญลกษณตรงตามทก�าหนดไว มขนาด และระยะหางทเหมาะสม
2) มจดเรมตน (Start) และจดสนสด (End) เพยงชดเดยว
3) ใชเสนหวลกศรแสดงทศทางการไหลของขอมล หรอล�าดบการท�างาน จากบนลง
ลาง และซายไปขวา ยกเวนการยอนกลบหรอวนซ�า
4) เสนลกศรตองตอเชอมกบสญลกษณ โดยตอเขาทางเดยว และออกทางเดยวตรง
กลางสญลกษณ ยกเวนสญลกษณการตดสนใจทเขาทางเดยว แตออกไดหลายทาง (ดตวอยางใน
ภาพท 1.9)
10 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 11
หมายเหต
ในการเขยนเงอนไขเครองหมาย≥หมายถง“มากกวาหรอเทากบ”
ในการเขยนทางเลอกค�าวา“จรง”อาจเขยนดวยTrueหรอTหรออาจใชYesหรอYกได
สวนค�าวา“เทจ”อาจเขยนดวยFalseหรอFหรออาจใชNoหรอNกได
3) โครงสรางแบบวนซ�า (Iteration) เปนการแสดงขนตอนการท�างานแบบวน
ซ�า ซงจะมการทดสอบเงอนไข ถาเงอนไขเปนจรงใหวนซ�าการท�างานอก ถาเปนเทจใหหยดการ
วนซ�า ตวอยางดงภาพท 1.10
ภาพท1.10โครงสรางแบบวนซ�า
1.2.5 ประโยชนของผงงานการเขยนผงงานมประโยชนดงน
1) ชวยจดล�าดบขนตอนการท�างานของโปรแกรม และสามารถน�าไปเขยนโปรแกรม
ไดงายขน
2) ชวยในการตรวจสอบ และแกไขโปรแกรมไดงาย เมอเกดขอผดพลาด
3) ชวยใหการดดแปลง แกไข ท�าไดอยางสะดวกและรวดเรว
4) ชวยใหผอนสามารถศกษาการท�างานของโปรแกรมไดอยางสะดวก และรวดเรว
มากขน
ผงงานตวอยางตามภาพท 1.8 เปนการท�างานแบบตามล�าดบส�าหรบงานการค�านวณ
ทวไป โดยเรมตน (ใชสญลกษณเรมตน หรอ Start) จากรบคาขอมล (ใชสญลกษณการปอนขอมล)
โดยคาข อมลเปนตวเลขไมเกน 100 ล�าดบตอไปคอ ท�าการค�านวณตามสตรทก�าหนด
(ใชสญลกษณการประมวลผล) ล�าดบสดทายคอ แสดงผลลพธทได (ใชสญลกษณขอมลออก)
แลวสนสดการท�างานท จบ หรอ End (ใชสญลกษณสนสด หรอ End)
หมายเหต
ในการเขยนผงงานส�าหรบการท�างานทวๆ ไป เชน การก�าหนดคา ใหใชสญลกษณการ
ประมวลผล
2) โครงสรางแบบทางเลอก (Selection) เปนการแสดงขนตอนการท�างานตาม
เงอนไขใหเลอกท�า ซงจะมการทดสอบเงอนไขเพอแยกแยะการเลอกท�างานใหเปนไปตามกรณ
ทตองการ ถาเงอนไขเปนจรงจะใหท�าอะไร และถาเงอนไขเปนเทจจะใหท�าอะไร ตวอยาง
ดงภาพท 1.9
ภาพท1.9โครงสรางแบบทางเลอกตามเงอนไขกรณ
ผงงานตวอยางตามภาพท 1.9 แสดงการท�างานแบบทางเลอก (ใชสญลกษณ
การตดสนใจ หรอ Decision) ตอจากการรบคาคะแนน โดยเปรยบเทยบคะแนนวา มากกวา หรอ
เทากบ 50 จรงหรอไม ถาเปนจรง ใหแสดงขอความ “สอบผาน” แลวจบการท�างาน แตถาเปน
เทจ ใหแสดงขอความ “สอบไมผาน” แลวจบการท�างาน
12 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 13
หมายเหต
ตวแปร ใชส�าหรบเกบคาขอมลทใชในการประมวลผล ส�าหรบรายละเอยดใหดในหวขอ
ทเกยวของตอไปในบทท 2
ตารางท 1.3 ค�าสงทใชในการเขยนรหสเทยม (ตอ)
การท�างาน ค�าสง ตวอยาง
การวนซ�า (Iteration)
WHILE … ENDWHILE a , 1 WHILE a < 4 DISPLAY a a , a + 1 ENDWHILE
หมายเหต
ตวแปร หมายถงทเกบคาขอมล โดยใชชอแทน เชน ตวแปรชอ count
ในการค�านวณ ใชเครองหมายทางคณตศาสตรดงตารางท 1.4
ตารางท 1.4 เครองหมายทางคณตศาสตร (Arithmetic operators)
การค�านวณ เครองหมาย ตวอยาง
การบวก การลบ การคณ การหาร
+ - * /
a , b + c z , x - y area , x * y average , sum / n
1.3.2 หลกการเขยนรหสเทยมทดหลกการเขยนรหสเทยมทด ควรท�าดงตอไปน
1.3.2.1 ก�าหนดชออลกอรทม เพอใหทราบวาเปนอลกอรทมส�าหรบท�าอะไร
1.3.2.2 เรมจากค�า BEGIN, START หรอ เรมตน
1.3.2.3 สนสดดวยค�า END, STOP หรอ จบ หรอหยด
1.3.2.4 ค�าสงตางๆ อยระหวาง BEGIN และ END โดยจดใหเยองกนไป
1.3.2.5 ใชค�าสงเดยวในแตละบรรทด
1.3.2.6 ค�าสงหลกใชตวพมพใหญ
1.3.2.7 ใช Comment หรอหมายเหตเพอใหเขาใจงายขน โดยใชเครองหมาย # น�าหนา
ตามดวยขอความอะไรกไดเพอเปนหมายเหต ไมใชค�าสงใหท�างาน โดยอาจเขยนตอทายบรรทด
ค�าสง หรอคนระหวางแตละค�าสง หรอกลมค�าสงกได
กจกรรม 1-2 การเขยนผงงานการเดนกลบบาน
จากอลกอรทมแบบขนตอนของการเดนทางกลบบานของกจกรรม 1-1 ใหนกเรยนเขยน
ผงงานของการเดนทางกลบบาน โดยเลอกใชสญลกษณการท�างานใหถกตอง
1.3 การออกแบบอลกอรทมโดยใชรหสเทยม (Pseudo-code)
การเขยนรหสเทยม เปนการเขยนขนตอนการท�างานโดยใชรหสเทยม หรอค�าสงเทยมท
ไมใชค�าสงของภาษาคอมพวเตอร แทนการท�างานในแตละขน (โดยไมตองใชสญลกษณเหมอน
ผงงาน) โดยทวไปเขยนเปนภาษาองกฤษ อาจใชภาษาไทยกไดขนอยกบความสะดวกของผเขยน
และกจกรรมทจะท�า
1.3.1 ค�าสงทใชในการเขยนรหสเทยมค�าสงทใชจะเปนค�าสงพนฐานในการท�างานของคอมพวเตอร เขยนดวยตวพมพใหญ ดง
ตวอยางในตารางท 1.3
ตารางท 1.3 ค�าสงทใชในการเขยนรหสเทยม
การท�างาน ค�าสง ตวอยาง
การก�าหนดคา ใหกบตวแปร
SET SET count TO 0 หรอ count , 0
การน�าขอมลเขา (Input)
GET INPUT
GET user_name INPUT side
การน�าขอมลออก (Output)
DISPLAY PRINT
DISPLAY counter PRINT area
การค�านวณ (Compute)
COMPUTE CALCULATE
COMPUTE area = width * length หรอ area , width * length
การเพมคา (Add one)
INCREMENT INCREMENT counter
การท�างานตามเงอนไข (Selection)
IF … THEN … ELSE … ENDIF
IF score >50 THEN PRINT “Pass” ELSE PRINT “Fail” ENDIF
14 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 15
2) โครงสรางแบบทางเลอก เปนการแสดงขนตอนการท�างานตามเงอนไขใหเลอกท�า ซง
จะมการทดสอบเงอนไขเพอแยกแยะการเลอกท�างานใหเปนไปตามกรณทตองการ ถาเงอนไขเปน
จรงจะใหท�าอะไร และถาเงอนไขเปนเทจจะใหท�าอะไร ดงตวอยาง
Algorithm_2: Check_OTSTART NormalMax , 10 GET HoursWorked # Decision Making
IF HoursWorked > NormalMax THEN DISPLAY “Overtime” ELSE DISPLAY “Regular time”ENDIFSTOP
จากตวอยาง เปนอลกอรทมของการตรวจสอบชวโมงการท�างานวามการท�างานเกนเวลา
หรอไม โดยก�าหนดใหอตราชวโมงการท�างานปกต (NormalMax) ไมเกน 10 ชวโมง ล�าดบตอไป
คอ รบคาชวโมงทท�างานจรง (HoursWorked) จากนนท�าการทดสอบเงอนไข ถาชวโมงทท�างาน
จรง มากกวา อตราชวโมงการท�างานปกต ใหแสดงขอความ “เวลาเกน” แลวจบการตรวจสอบ
แตถาไมใช ใหแสดงขอความ “เวลาปกต” แลวจบการตรวจสอบ
3) โครงสรางแบบวนซ�า เปนการแสดงขนตอนการท�างานแบบวนซ�า ซงจะมการทดสอบ
เงอนไข ถาเงอนไขเปนจรงใหวนซ�าการท�างานอก ถาเปนเทจใหหยดการวนซ�า ดงตวอยาง
Algorithm_3: IterationSTART a , 1WHILE a < 4 DISPLAY a a , a + 1ENDWHILE STOP
1.3.3 โครงสรางของรหสเทยมในการออกแบบอลกอรทมโดยใชรหสเทยม สามารถเขยนโดยใชโครงสรางหลก 3 แบบ
ซงอาจเขยนแบบใดแบบหนง หรอผสมกนหลายแบบได ดงตอไปน
1) โครงสรางแบบตามล�าดบ เปนการแสดงขนตอนการท�างานตามล�าดบ ดงตวอยาง
Algorithm_1: Area_of_Rectangle
BEGIN
GET R_Width
GET R_Length
# Area Calculation
R_Area , R_Width * R_Length
DISPLAY R_Area
END
จากตวอยาง เปนอลกอรทมของการหาพนทสเหลยมผนผา (Rectangle) โดยท�างาน
ตามล�าดบดงตอไปน (เขยนอลกอรทมเปนภาษาไหย)
เรมตน
รบคา ความกวาง
รบคา ความยาว
# ค�านวณหาพนท
พนท , กวาง * ยาว
แสดง คาพนท
จบ
จากตวอยางดเหมอนจะเขยนงาย แตการทจะเขยนอลกอรทมนไดจะตองวเคราะหกอน
วา ในการหาพนทสเหลยมผนผาหาไดอยางไร ใชสตรอะไร ใชตวแปรอะไรบาง จะตองก�าหนดคา
หรอปอนคาอะไรบาง และจะแสดงคาของอะไรบาง ทส�าคญทสดคอ การเขยนล�าดบการท�างาน
ใหถกตอง เชน ถาแสดงคาของพนทกอนกไมถกตอง หรอค�านวณตามสตรกอน แตยงไมไดปอน
คา เปนตน
16 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 17
ตวอยาง สนามหนาบานหลงหนง กวาง 4 เมตร ยาว 8 เมตร ตองการปหญาในสนาม
โดยหญาหนงผนมความกวาง 50 เซนตเมตร ยาว 100 เซนตเมตร ดงภาพท 1.11 จะใชหญา
ทงหมดกผน
ภาพท1.11แผนหญาทใชในการปสนาม
การวเคราะหงาน
1) สงทตองการ
โปรแกรมค�านวณหาจ�านวนแผนหญา
2) ขอมลทตองน�าเขา
2.1 ขอมลเกยวกบขนาดของสนามทจะปหญา ความกวาง ความยาว
2.2 ขอมลเกยวกบแผนหญา ความกวาง ความยาว
3) ตวแปรทใช ก�าหนดชอตวแปรทใชเกบคาตางๆ และแบบของขอมลไดดงตารางท 1.5
โดยใชตวยอน�าหนาดงน
F หมายถง สนาม (Field)
G หมายถง หญา (Grass)
N หมายถง จ�านวน (Number)
จากตวอยาง เปนอลกอรทมของการวนซ�าดวยค�าสง WHILE … ENDWHILE เพอแสดงคา
ของตวแปร a ไดผลลพธออกมาเปน 1, 2 และ 3 ตามล�าดบ เหมอนกบการท�างานของผงงานตาม
ภาพท 1.10
จากตวอยางเหนไดวา การเขยนรหสเทยมแสดงใหเหนขนตอนการท�างานไดโดยงาย
คลายกบโปรแกรมคอมพวเตอร ดงนนจงสามารถน�าอลกอรทมไปพฒนาโปรแกรมตอไปได
กจกรรม 1-3 การเขยนรหสเทยมของการหาพนทสามเหลยม
ใหนกเรยนเขยนรหสเทยมของการหาพนทของสามเหลยม (Triangle)
1.4 การออกแบบอลกอรทมเพอแกปญหาทางคณตศาสตร วทยาศาสตรอยางงาย
ในการออกแบบอลกอรทมเพอแกปญหาทางคณตศาสตร วทยาศาสตร สวนใหญจะ
เปนการค�านวณหาคาตางๆ ตามสตร สงแรกทจะตองท�ากอนคอ การวเคราะหปญหา หรอ
วเคราะหงานทจะท�า
1.4.1 หลกเกณฑในการวเคราะหงานการวเคราะหงานส�าหรบการออกแบบอลกอรทมทใชท�าโปรแกรมเพอใหไดผลด ควร
พจารณาดงตอไปน
1) สงทตองการ เชน ตองการใหค�านวณหรอประมวลผลหาอะไร หรอตองการใหแสดง
ขอมลอะไรบาง
2) ขอมลทตองน�าเขา หรอขอมลทใชในการประมวลผล มอะไรบาง และควรจะม
ลกษณะ หรอรปแบบอยางไร เชน เปนเลขจ�านวนเตม
3) ตวแปรทใชในโปรแกรม ใชชอตวแปรและแบบขอมลทเหมาะสม ส�าหรบเกบขอมล
ในการประมวลผล โดยเปนไปตามหลกของภาษาทใชเขยนโปรแกรม
4) รปแบบผลลพธทตองการ ควรจะมลกษณะอยางไร มรายละเอยดมากนอยเพยงใด
งานบางอยางอาจมการก�าหนดลกษณะผลลพธเปนรายงานมาใหอยางชดเจน แตถาไมไดก�าหนด
ให ผเขยนโปรแกรมกตองพจารณาก�าหนดรปแบบผลลพธอยางละเอยดรอบคอบ และเหมาะสม
กบงานทตองการ
5) ขนตอนหรอวธการประมวลผล ตองการประมวลผลอยางไรบาง เพอใหการท�างาน
ตามล�าดบ หรอตามเงอนไขอยางถกตองตามความตองการ ซงกคอ การออกแบบอลกอรทม
18 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 19
5.1) อลกอรทมของการหาพนทของสนาม
การค�านวณหาพนท ถาเปนพนทรปสเหลยมผนผา ใชสตร พนท = กวาง x ยาว
เมอใชตวแปรทก�าหนดไว สามารถเขยนอลกอรทมสวนการค�านวณไดดงน
F_area , F_width * F_length
ถาพนทเปนรปอนกตองใชสตรตางกนไป
สามารถก�าหนดขนตอนออกมาเปนอลกอรทมแบบผงงานไดดงภาพท 1.12
ภาพท1.12อลกอรทมของการค�านวณหาพนท
จากอลกอรทมแบบผงงานตามภาพท 1.12 สามารถเขยนเปนอลกอรทมแบบรหสเทยม
ไดดงน
ตารางท 1.5 ชอตวแปรทใชเกบคาตางๆ และแบบของขอมล
ชอตวแปร ใชเกบคา แบบขอมล
F_area พนทของสนาม ตวเลข
F_width ความกวางของสนาม ตวเลข
F_length ความยาวของสนาม ตวเลข
G_area พนทของแผนหญา ตวเลข
G_width ความกวางของหญา ตวเลข
G_length ความยาวของหญา ตวเลข
N_grass จ�านวนแผนหญา ตวเลข
4) รปแบบผลลพธทตองการ
ตองการใหโปรแกรมแสดงผลอะไรออกมาบาง เชน จ�านวนแผนหญา หรอขอมลทงหมด
5) ขนตอน หรอวธการประมวลผล
จากปญหา สามารถแยกแยะและเขยนเปนตาราง ตามลกษณะการประมวลผลของ
คอมพวเตอร คอ ขอมลเขาหรอขอมลทใช การประมวลผล และขอมลออกหรอผลลพธ ตามล�าดบ
การท�างานไดดงตารางท 1.6
ตารางท 1.6 ขนตอนการประมวลผล
ขอมลเขา/ขอมลทใช การประมวลผล ขอมลออก
ความกวางของสนาม ความยาวของสนาม
ค�านวณหาพนทของสนาม พนทของสนาม
ความกวางของแผนหญา ความยาวของแผนหญา
ค�านวณหาพนทของแผนหญา พนทของแผนหญา
พนทของสนาม พนทของแผนหญา
ค�านวณหาจ�านวนแผนหญา จ�านวนแผนหญา
จากตารางท 1.6 อาจท�าการออกแบบอลกอรทมรวมทงหมด หรอแยกเปน 3 อลกอรทม
คอ อลกอรทมของการหาพนทของสนาม อลกอรทมของการหาพนทของแผนหญา และอลกอร
ทมของการหาจ�านวนแผนหญา
20 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 21
ภาพท1.13อลกอรทมของโปรแกรมค�านวณหาจ�านวนแผนหญา
เมอออกแบบอลกอรทมของโปรแกรมเสรจแลว ท�าการตรวจสอบวาถกตอง ตรงตาม
ล�าดบขนตอน และมขนตอนครบตามทตองการหรอไม จากนนกน�าไปเขยนโปรแกรมตอไป
กจกรรม 1-4 การเขยนรหสเทยมค�านวณหาพนทแผนหญา
ใหนกเรยนเขยนรหสเทยมของการค�านวณหาจ�านวนแผนหญาจากผงงานตามภาพท 1.1
สรป
อลกอรทม หมายถง ชดขนตอนการท�างานตามล�าดบทคอมพวเตอร และอปกรณ
อจฉรยะอนๆ สามารถท�าได เพอท�าการค�านวณ ประมวลผลขอมล และท�างานทตองใชเหตผล
อยางอตโนมต
Algorithm_A1: Area_of_Field
BEGIN
GET F_Width
GET F_Length
# Area Calculation
F_Area , F_Width * F_Length
DISPLAY “Field Area = ”, F_Area
END
หมายเหต
ขอความทจะแสดงอยในอญประกาศ(เครองหมายค�าพด)และใชจลภาค(Comma)
คนระหวางขอความกบตวแปร
5.2) อลกอรทมของการหาพนทแผนหญาการค�านวณหาพนท เนองจากแผนหญาเปนรปสเหลยมผนผา
ใชสตร พนท = กวาง x ยาว
สามารถก�าหนดขนตอนออกมาเปนอลกอรทมแบบผงงานไดเชนเดยวกนกบภาพท 1.12
แตใชตวแปรและคาขอมลตางกนเมอเขยนโปรแกรม คอ
เมอใชตวแปรทก�าหนดไว จะได
G_area , G_width * G_length
5.3) อลกอรทมของการหาจ�านวนแผนหญาการค�านวณหาจ�านวนแผนหญา หาไดจาก
จ�านวนแผนหญา = พนทสนาม / พนทแผนหญา
เมอใชตวแปรทก�าหนดไว จะได
N_grass , F_area / G_area
เมอไดอลกอรทมยอยครบแลว สามารถน�ามาจดรวมกนแลวออกแบบใหเปนอลกอรทม
ของโปรแกรมค�านวณหาจ�านวนแผนหญาได ดงภาพท 1.13
22 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 23
2. มจดเรมตน (Start) และจดสนสด (End) เพยงชดเดยว
3. ใชเสนหวลกศรแสดงทศทางการไหลของขอมล
4. เสนลกศรตองตอเชอมกบสญลกษณ โดยตอเขาทางเดยว และออกทางเดยวตรง
กลางสญลกษณ ยกเวนสญลกษณการตดสนใจทเขาทางเดยว แตออกไดหลายทาง
5. ใชค�าอธบายการท�างานในแตละขนตอนดวยขอความทสน กะทดรด ชดเจน
6. ใชสญลกษณจดตอในหนาเดยวกน แทนการโยงเสนยาว ๆ หรอเสนทตดกน
7. ถาไมสามารถเขยนในหนาเดยวได ใหใชสญลกษณจดตอระหวางหนา
8. ทดสอบความถกตองของการท�างานกอน จงน�าไปใชเขยนโปรแกรมตอไป
9. เขยนใหครบทกฟงกชนทใช และก�าหนดขนตอนและรายละเอยดใหชดเจน
10. ก�าหนดชอผงงานก�ากบไว
โครงสรางของผงงาน ม 3 แบบดงตอไปน
1. โครงสรางแบบตามล�าดบ (Sequence) เปนการแสดงขนตอนการท�างานตามล�าดบ
2. โครงสรางแบบทางเลอก (Selection) เปนการแสดงขนตอนการท�างานตาม
เงอนไขใหเลอกท�า ซงจะมการทดสอบเงอนไขเพอแยกแยะการเลอกท�างานใหเปนไปตามกรณท
ตองการ ถาเงอนไขเปนจรงจะใหท�าอะไร และถาเงอนไขเปนเทจจะใหท�าอะไร
3. โครงสรางแบบวนซ�า (Iteration) เปนการแสดงขนตอนการท�างานแบบวนซ�า ซง
จะมการทดสอบเงอนไข ถาเงอนไขเปนจรงใหวนซ�าการท�างานอก ถาเปนเทจใหหยดการวนซ�า
ประโยชนของผงงาน
1. ชวยจดล�าดบขนตอนการท�างานของโปรแกรม และสามารถน�าไปเขยนโปรแกรม
ไดอยางถกตอง
2. ชวยในการตรวจสอบ และแกไขโปรแกรมไดงาย เมอเกดขอผดพลาด
3. ชวยใหการดดแปลง แกไข ท�าไดอยางสะดวกและรวดเรว
4. ชวยใหผอนสามารถศกษาการท�างานของโปรแกรมไดอยางสะดวก และรวดเรวมากขน
การเขยนรหสเทยม เปนการเขยนขนตอนการท�างานโดยใชรหสเทยม หรอค�าสงเทยมท
ไมใชค�าสงของภาษาคอมพวเตอร แทนการท�างานในแตละขน (โดยไมตองใชสญลกษณเหมอนผง
งาน) โดยทวไปเขยนเปนภาษาองกฤษ
ค�าสงเทยมทใชจะเปนค�าสงพนฐานในการท�างานของคอมพวเตอร ดงตอไปน
1. การน�าขอมลเขา เชน GET, INPUT
2. การน�าขอมลออก เชน DISPLAY, PRINT
3. การค�านวณ เชน COMPUTE
ขนตอนการแกปญหาดวยคอมพวเตอร มดงน
1) วเคราะหปญหา
2) ออกแบบอลกอรทม
3) ตรวจสอบความถกตองของอลกอรทม
4) น�าอลกอรทมไปออกแบบและเขยนโปรแกรม
การคดเชงค�านวณ เปนกระบวนการคดทตองใชทกษะและเทคนคเพอแกปญหาในเชง
นามธรรม ประกอบดวย การแบงยอยปญหา การรจ�ารปแบบของปญหา การมองภาพรวม หรอ
แนวคดเชงนามธรรม และการออกแบบอลกอรทม
คณสมบตของอลกอรทม
1) มการท�างานทชดเจน และท�าไดจรง ไมคลมเครอ
2) มล�าดบขนตอนการท�างานทชดเจน จนจบการท�างาน
3) ดงาย หรอตรวจสอบแกไขได
4) มความถกตอง ทงการท�างาน และผลลพธ
5) ท�างานไดครบทกเงอนไข
6) มประสทธภาพ คอ ใชเวลา และหนวยความจ�าทเหมาะสม
อลกอรทมเขยนไดหลายรปแบบ ดงตอไปน
1) แบบบรรยาย (Narrative description)
2) แบบขนตอน (Step by step)
3) แบบผงงาน (Flowchart)
4) แบบรหสเทยม (Pseudo-code)
5) แบบโปรแกรม (Program)
ประโยชนของอลกอรทม มดงน
1) ท�าใหการท�างาน หรอการแกปญหาชดเจนขน
2) ชวยในการแกปญหา
3) ท�าใหการท�างานส�าเรจอยางรวดเรว
4) อลกอรทมทออกแบบไวดแลว สามารถน�าไปใชไดอก หรออาจน�าไปใชกบงานอนได
การเขยนผงงาน เปนการออกแบบอลกอรทมทใชรปภาพสญลกษณ แทนขนตอนการ
ท�างานตางๆ ในแตละขน และใชเสนหวลกศรเชอมตอ เพอแสดงเสนทางการท�างาน
หลกการเขยนผงงานทด ควรท�าดงตอไปน
1. ใชสญลกษณตรงตามทก�าหนดไว มขนาด และระยะหางทเหมาะสม
24 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑ หนวยท 1 การออกแบบอลกอรทม 25
4. การก�าหนดคา เชน SET
5. การเพมคา เชน INCREMENT
6. การทดสอบเงอนไข เชน IF … THEN … ELSE
7. การวนซ�า เชน WHILE … ENDWHILE
หลกการเขยนรหสเทยมทด ควรท�าดงตอไปน
1. ก�าหนดชออลกอรทม
2. เรมจากค�า BEGIN, START หรอ เรมตน
3. สนสดดวยค�า END, STOP หรอ จบ หรอหยด
4. ค�าสงตาง ๆ อยระหวาง BEGIN และ END โดยจดใหเยองกนไป
5. ใชค�าสงเดยวในแตละบรรทด
6. ค�าสงหลกใชตวพมพใหญ
7. ใช # เพอเขยน Comment หรอหมายเหตเพอใหเขาใจงายขน
โครงสรางของรหสเทยม ม 3 แบบ เชนเดยวกบโครงสรางของผงงาน คอ โครงสรางแบบ
ตามล�าดบ แบบทางเลอก และแบบวนซ�า
การวดและประเมนผลการเรยนร หนวยท 1
ค�าชแจง ตอบค�าถามตอไปนใหถกตอง
1. อลกอรทม หมายถงอะไร
2. คณสมบตของอลกอรทม มอะไรบาง
3. ประโยชนของอลกอรทม มอะไรบาง
4. หลกการเขยนผงงานทด ควรท�าอยางไรบาง
5. ผงงานมประโยชนอยางไรบาง
6. เขยนผงงานของการหาอายเฉลยของนกเรยน 10 คน
7. หลกการเขยนรหสเทยม ควรท�าอยางไรบาง
8. ยกตวอยางค�าสงเทยมมา 5 ค�าสง
9. เขยนอลกอรทมของการบวกเลข 1 ถง 10 โดยใชรหสเทยม
10. ผงงาน และรหสเทยม เหมอนกนหรอตางกนอยางไร อธบายพอสงเขป
26 เทคโนโลย (วทยาการค�านวณ) ชน ม.๑