18
บทที5 การจาลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา o การวิเคราะห์และกาหนดรายละเอียดของปัญหา o การเลือกเครื่องมือและออกแบบขั้นตอนวิธี o การดาเนินการแก้ปัญหา o การตรวจสอบและปรับปรุง 5.2 การจาลองความคิด o ข้อความหรือคาบรรยาย (Pseudo code) o สัญลักษณ์หรือแผนภาพ (Flowchart) - แบบลาดับ - แบบทางเลือก - แบบทาซ้5.3 โครงสร้างแบบต่างๆ สาหรับการเขียนโปรแกรม o โครงสร้างแบบลาดับ o โครงสร้างแบบมีทางเลือก o โครงสร้างแบบทาซ5.4 การจาลองความคิดด้วยโปรแกรม Scratch ผลการเรียนรู้ที่คาดหวัง 1. อธิบายขั้นตอนการพัฒนาซอฟต์แวร์และอธิบายถึงวิธีการในแต่ละขั้นตอนได2. อธิบายความหมายและเหตุผลในการเขียนแผนภาพที่ใช้ในการออกแบบโปรแกรมได้ 3. บอกสัญลักษณ์และสามารถเขียนผังงานที่ใช้ในการออกแบบโปรแกรมได้ ที ่มา http://www.seubsan.net/th/images/stories/yt/p4_Cap.gif

บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

บทท 5

การจ าลองความคด

เนอหา

5.1 กระบวนการแกปญหา o การวเคราะหและก าหนดรายละเอยดของปญหา o การเลอกเครองมอและออกแบบขนตอนวธ o การด าเนนการแกปญหา o การตรวจสอบและปรบปรง

5.2 การจ าลองความคด o ขอความหรอค าบรรยาย (Pseudo code) o สญลกษณหรอแผนภาพ (Flowchart)

- แบบล าดบ - แบบทางเลอก - แบบท าซ า

5.3 โครงสรางแบบตางๆ ส าหรบการเขยนโปรแกรม o โครงสรางแบบล าดบ o โครงสรางแบบมทางเลอก o โครงสรางแบบท าซ า

5.4 การจ าลองความคดดวยโปรแกรม Scratch

ผลการเรยนรทคาดหวง 1. อธบายขนตอนการพฒนาซอฟตแวรและอธบายถงวธการในแตละขนตอนได 2. อธบายความหมายและเหตผลในการเขยนแผนภาพทใชในการออกแบบโปรแกรมได 3. บอกสญลกษณและสามารถเขยนผงงานทใชในการออกแบบโปรแกรมได

ทมา http://www.seubsan.net/th/images/stories/yt/p4_Cap.gif

Page 2: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 2 -

5.1 กระบวนการแกปญหา ในชวตประจ าวนทกคนตองเคยพบกบปญหาตางๆ ไมวาจะเปนปญหาดานการเรยน การงาน การเงน หรอแมแตการ

เลนเกม เมอพบกบปญหาแตละคนมวธทจะจดการหรอแกปญหาเหลานนแตกตางกนไป ซงแตละวธการอาจใหผลลพธทเหมอนหรอแตกตางกนเลกนอย ทงนขนอยกบความร ความสามารถ และประสบการณของบคคลนน อยางไรกตามหากเราน าวธการแกปญหาตางวธมาวเคราะหใหด จะพบวาสามารถสรปวธการเหลานนเปนทฤษฎซงมรปแบบทแนนอนได และบางครงตองอาศยการเรยนรในระดบสงเพอแกปญหาบางอยางใหสมบรณแบบ แตกอนทเราจะศกษาตอไป ลองพจารณาปญหาตอไปน

ตวอยางท 1 เกมทายใจ คอ เกมใหผเลนทายตวเลข 3 ตว ในการเลนเกมตองใชผ เลน 2 คน คนทหนง คอ ผก าหนด เปนคนก าหนดเลข 3 ตว ทไมซ ากนโดยเลอกจากกลมตวเลข 1-9 และอกคนหนงคอ ผทาย เปนผทายเลข 3 ตว ทไมซ ากน ทผก าหนดไดก าหนดเอาไวแลว หลงจากทผทายทายเลขแตละครง ผก าหนดตองใหรายละเอยดวาตวเลขททายมานนถกตองกตว และในกรณทตวเลขททายมาถกต าแหนงดวยกตองบอกวาถกต าแหนงกตว เชน ถาตวเลขทก าหนดไวเปน 815 และ ผทายทายวา 123 ผก าหนดตองแจงวาตวเลขททายนนถก 1 ตว และไมมตวใดถกต าแหนง แสดงในตารางดงน

ตวเลขททาย จ านวนตวเลขทถก จ านวนต าแหนงทถก

123 415 425 416 715 815

1 2 1 1 2 3

- 2 1 1 2 3

จะเหนวาการแกปญหาดงกลาวขางตน นอกจากจะใชวธลองผดลองถกในการทายครงแรกๆ แลวยงมการใชเหตผล

ประกอบการแกปญหาซงเราเรยกวธการดงกลาววา "วธขจด" (method of elimination) กลาวคอ จะแยกขอมลออกเปนกรณทเปนไปไมไดทง จนเหลอกรณทเปนไปได วธการดงกลาวสามารถอธบายไดวาท าไมจงคดหรอท าเชนนน รปแบบของการใชเหตผลประกอบการแกปญหาอาจแตกตางกน ขนอยกบเงอนไขในปญหาบางปญหา อาจจะขจดใหเหลอกรณเดยวไมได กอาจจะท าใหเหลอกรณนอยทสด นอกจากเกมทายใจเรายงมเกมลบสมองทนาสนใจและทาทายความสามารถในการแกปญหาอยอกมากมายทหาเลนไดตามเวบไซต

นอกจากวธการแกปญหาทยกตวอยางมาซงไดแก วธการลองผดลองถก การใชเหตผล การใชวธขจด ยงมวธการแกปญหาอกมากมายทผแกปญหาสามารถเลอกใชใหเขากบตวปญหาและประสบการณของผแกปญหาเอง แตอยางไรกตาม วธการเหลานลวนมขนตอนทคลายคลงกน และจากการศกษาพฤตกรรมในการเรยนรและแกปญหาของมนษยพบวาโดยปกตมนษยมกระบวนการแกปญหาประกอบดวย 4 ขนตอนดงรปท 1

Page 3: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 3 -

รปท 1 กระบวนการแกปญหา

1) การวเคราะหและก าหนดรายละเอยดของปญหา (State the problem) ขนตอนนเปนขนตอนแรกสดกอนทจะลงมอแกปญหา แตผแกปญหามกจะมองขามความส าคญของขนตอน

นอยเสมอ จดประสงคของขนตอนน คอ การท าความเขาใจกบปญหาเพอแยกใหออกวาขอมลทก าหนดมาในปญหาหรอเงอนไขของปญหาคออะไร และสงทตองการคออะไร อกทงวธการทใชประมวลผล ในการวเคราะหปญหาใด กลาวโดยสรปแลวองคประกอบในการวเคราะหและก าหนดรายละเอยดของปญหาม 3 องคประกอบดงน

1.1) การระบขอมลเขา ไดแก การพจารณาขอมลและเงอนไขทก าหนดมาในปญหา 1.2) การระบขอมลออก ไดแก การพจารณาเปาหมายหรอสงทตองหาค าตอบ 1.3) การก าหนดวธประมวลผล ไดแก การพจารณาขนตอนวธการไดมาซงค าตอบหรอขอมลออก

ตวอยางท 2 แสดงการวเคราะหและก าหนดรายละเอยดของการหาคาเฉลยของจ านวนเตม 5 จ านวน ไดแก 0 3 4 8 และ 12

1. การระบขอมลเขา ในทนโจทยก าหนดใหหาคาเฉลยของจ านวนเตม 5 จ านวน ดงนน ขอมลเขาไดแกจ านวน 0 3 4 8 และ 12

2. การระบขอมลออก จากโจทยสงทเปนค าตอบของปญหา คอคาเฉลย (��) ของจ านวนทงหา 3. การก าหนดวธการประมวลผล จากสงทโจทยตองการ "คาเฉลย" หมายถง ผลรวมของจ านวนทง 5หาร

ดวย 5 ดงนน ขนตอนของการประมวลผลประกอบดวย 3.1 รบคาจ านวนทง 5 จ านวน 3.2 น าจ านวนเตมทง 5 มาบวกเขาดวยกน 3.3 น าผลลพธจากขอ 3.2 มาหารดวย 5

วเคราะหและก าหนด รายละเอยดของปญหา

เลอกเครองมอ / ออกแบบขนตอนวธ

ด าเนนการแกปญหา

ตรวจสอบและปรบปรง

Page 4: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 4 -

2) การเลอกเครองมอและออกแบบขนตอนวธ (Tools and Algorithm development) ขนตอนนเปนขนตอนของการวางแผนในการแกปญหาอยางละเอยดถถวน หลงจากทเราท าความเขาใจกบ

ปญหา พจารณาขอมลและเงอนไขทมอย และสงทตองการหาแลวในขนตอนท 1 เราสามารถคาดคะเนวธการทเราจะใชในการแกปญหา กระบวนการนจ าเปนอาศยประสบการณของผแกปญหาเปนหลก หากผแกปญหาเคยพบกบปญหาท านองนมาแลวกสามารถด าเนนการตามแนวทางทเคยปฏบตมา ขนตอนนจะเรมจากการเลอกเครองมอทใชในการแกปญหา โดยพจารณาความเหมาะสมระหวางเครองมอกบเงอนไขตางๆ ของปญหา ซงหมายรวมถงความสามารถของเครองมอในการแกปญหาดงกลาว และสงทส าคญคอความคนเคยในการใชงานเครองมอนนๆ ของผแกปญหา อกสงหนงทส าคญในการแกปญหา คอ ยทธวธท ใชในการแกปญหาหรอท เราเรยกวา ขนตอนวธ (algorithm) ในการแกปญหา หลงจากทเราไดเครองมอชวยแกปญหาแลว ผแกปญหาตองวางแผนวาจะใชเครองมอดงกลาวอยางเพอใหไดผลลพธทถกตองและดทสด ในการออกแบบขนตอนวธในการแกปญหา ผแกปญหาควรใชแผนภาพหรอเครองมอในการแสดงขนตอนการท างานเพอใหงายตอความเขาใจเชน ผงงาน ( flowchart) รหสเทยม (pseudo code) การใชเครองมอชวยออกแบบดงกลาวนอกจากแสดงกระบวนการทชดเจนแลว ยงชวยใหผแกปญหาสามารถหาขอผดพลาดของวธการทใชไดงายและแกไขไดอยางรวด

3) การด าเนนการแกปญหา (Implementation) หลงจากทไดออกแบบขนตอนวธเรยบรอยแลว ขนตอนนเปนขนตอนทตองลงมอแกปญหาโดยใชเครองมอ

ทไดเลอกไว หากการแกปญหาดงกลาวใชคอมพวเตอรเขามาชวยงาน ขนตอนนกเปนการใชโปรแกรมส าเรจ หรอใชภาษาคอมพวเตอรเขยนโปรแกรมแกปญหา ขนตอนนตองอาศยความรเกยวกบเครองมอทเลอกใช ซงผแกปญหาตองศกษาทเขาใจและเชยวชาญ ในการด าเนนการอาจพบแนวทางทดกวาทออกแบบไวกสามารถปรบเปลยนได

ตวอยางท 3 แสดงการวเคราะหและก าหนดรายละเอยดของการหาคา x เมอ x คอจ านวนเตมจ านวนหนงในกลมจ านวนเตม 5 จ านวนทมคาเฉลยเปน 10 และจ านวนอก 4 จ านวนไดแก 3 4 8 และ 12

1. การระบขอมลเขา จากโจทยขอมลเขา ไดแก 2.1 จ านวนอก 4 จ านวน คอ 3 4 8 12 คาเฉลยของจ านวนทง 5 จ านวน คอ 10

2. การระบขอมลออก จากโจทยสงทเปนผลลพธ คอ คา x 3. การก าหนดวธการประมวลผล จากโจทยและความหมายของ "คาเฉลย" เราสามารถสรปขนตอนของการ

ประมวลผลไดดงน 3.1 หาคาผลรวมของจ านวนเตมทง 5 โดยน าคาเฉลยคณดวยจ านวนของเลขจ านวนเตม นนคอ 10 * 5 =

50 3.2 จากความหมายของ "ผลรวม" จะได 3+4+8+12+x = 50 3.3 แกสมการ 27 + x = 50 (จะได x = 23 ซงคอผลลพธ)

Page 5: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 5 -

4) การตรวจสอบและปรบปรง (Refinement) หลงจากทลงมอแกปญหาแลว ตองตรวจสอบใหแนใจวาวธการนใหผลลพธทถกตอง โดยผแกปญหาตอง

ตรวจสอบวาขนตอนวธทสรางขนสอดคลองกบรายละเอยดของปญหา ซงไดแก ขอมลเขา และขอมลออก เพอใหมนใจวาสามารถรองรบขอมลเขาไดในทกกรณอยางถกตองและสมบรณ ในขณะเดยวกนกตองปรบปรงวธการเพอใหการแกปญหานไดผลลพธทดทสด

5.2 การจ าลองความคด

การวางแผนทดจะชวยใหการแกปญหาเปนไปไดโดยงาย ผทสามารถวางแผนในการแกปญหาไดดนอกจากจะตองใชประสบการณ ความร และความมเหตผลแลว ยงควรรจกวางแผนใหเปนขนตอนอยางเปนระเบยบดวย การจ าลองความคดเปนสวนหนงในขนตอนทสองของการแกปญหา การจ าลองความคดออกมาในลกษณะเปนขอความ หรอเปนแผนภาพจะชวยใหสามารถแกปญหาไดดโดยเฉพาะปญหาทยงยากซบซอน การวางแผนจะเปนแนวทางในการด าเนนการแกปญหาตอไป อกทงเปนการแสดงแบบเพอใหผทเกยวของไดเขาใจ และสามารถปฏบตตามในแนวทางเดยวกน ทงนกดวยวตถประสงคอยางเดยวกบกลมกจการกอสราง ซงจ าเปนตองมแบบแปลนเปนเครองมอตดตอสอสารระหวางผออกแบบและผกอสราง

แบบแปลนเหลานนจะอยในรปลกษณะของการวาดภาพหรอแสดงเครองหมายซงเปนทเขาใจกนระหวางผเกยวของ แบบแปลนจะตองจดท าใหเสรจกอนทจะลงมอกอสราง โดยผานการตรวจสอบทบทวนและพจารณาจากผเกยวของหลายฝาย เมอเหนวาเปนทถกตองและพอใจของทกฝายแลว จงกอสรางตามแบบนน แตถายงไมเปนทพอใจ กจะพจารณาแกไขแบบแปลนสวนนน ๆ เสยกอนจะไดไมตองรอถอนหรอทบทงภายหลง และเมอตองการซอมแซมหรอตอเตมกน าเอาแบบแปลนเดมมาตรวจสอบและเพมแบบแปลนในสวนนนไดโดยงาย การใชแบบแปลนจงเปนสงทจ าเปนระหวางชางกอสราง ผออกแบบและผเกยวของอน ๆ เปนอยางมาก เพราะประหยดเวลา คาใชจายและเขาใจงาย เมอสรปรวมแลวแบบแปลนเหลานนกคอขอตกลงใหสรางอาคารของผจางกบผรบจางทอยในรปแบบกะทดรด แทนทจะเขยนเปนขอความทเปนลายลกษณอกษรอยางยดยาว และยงเปนเครองมอใหชางใชในการกอสรางอกดวย

เครองมอทใชในการจ าลองความคดมกจะประกอบขนดวยเครองหมายทแตกตางกนหลายอยาง แตพอสรปไดเปน 2 ลกษณะ ไดแก

1. ขอความหรอค าบรรยาย (Pseudo code) 2. สญลกษณ (Flowchart)

1) ขอความหรอค าบรรยาย

เปนการเขยนเคาโครงดวยการบรรยายเปนภาษาทมนษยใชสอสารกน เพอใหทราบถงขนตอนการท างานของโปรแกรมแตละตอน ในบางครงอาจใชค าสงของภาษาทใชเขยนโปรแกรมกได

การเขยนขอความเพอการบรรยายขนตอนวธในการแกปญหาทางคอมพวเตอร สามารถเรยกอกอยางหนงไดวา รหสเทยม (pseudo code)

Page 6: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 6 -

หลกการทวไปในการเขยนรหสเทยม

1. สญลกษณทใชในการด าเนนการทางคณตศาสตรตางๆ จะถกใชงานตามปกต คอ “+” ส าหรบการบวก “-” ส าหรบการลบ “*” ส าหรบการคณ และ “/” ส าหรบการหาร

2. การก าหนดคาใหกบชอขอมล เชน เมอเราตองการก าหนดให ขอมล pi มคาเทากบ 3.14

สามารถเขยนไดดวยขอความ pi 3.14 หรอ pi:=3.14 หรอ pi=3.14 ในการก าหนดคาทางคอมพวเตอรดานซายของเครองหมายมกใชแทน ทเกบขอมล และดานขวาแทน ขอมลทตองการน าไปเกบ (ดงนนหากใชขอความวา 3.14=pi ถอวาไมถกตองตามความหมายน)

3. ค าสงวนบางค าทใชในภาษาระดบสงทวไปอาจถกน ามาใช เชน Read หรอ Enter ส าหรบการรบขอมลเขา และ Write หรอ Print ส าหรบการแสดงขอมลออก

4. การเพมหรอลดระยะยอหนาอยางเหมาะสม เพอแสดงระดบของขนตอนการท างานในโครงสรางควบคมการท างานในกลมเดยวกน

2) สญลกษณหรอแผนภาพ

เครองหมายรปแบบตางๆ ซงใชส าหรบสอสารความหมายใหเขาใจตรงกน สถาบนมาตรฐานแหงชาตอเมรกน (The American National Standard Institute, ANSI) ไดก าหนดสญลกษณไวเปนมาตรฐานแลว สมควรน าไปใชไดตามความเหมาะสมตอไป ซงมรายละเอยดรปแบบและความหมายทควรทราบตามตารางตอไปน

การน าสญลกษณไปใชเพอแสดงขนตอนการท างานตางๆ ของงานหรอโปรแกรม รวมถงแสดงการไหลของขอมลในระบบตงแตแรกจนไดผลลพธตามตองการเรยกวา การเขยนผงงาน(Flowchart) ซงสามารถแบงออกไดเปน 2 แบบคอ

1. ผงงานระบบ(System Flowchart) หมายถง ผงงานทแสดงขนตอนการท างานในระบบอยางกวางๆ แตจะไมเจาะจงในระบบงานยอย อาจแสดงใหเหนล าดบการท างานของสวนตางๆ ในระบบ เชน การน าขอมลเขา(Input) ถกเกบอยทใดบาง ใชสอบนทกขอมลแบบใด ลกษณะของการประมวลผล ตลอดจนลกษณะของผลลพธ(Output) ผงงานระบบจะชวยอ านวยความสะดวกใหแกผ เขยนโปรแกรมและผทเกยวของทตองการท าความเขาใจการท างานของระบบ

ตวอยางท 4 ค าบรรยายแสดงขนตอนการเปลยนยางรถเมอยางแตกขณะขบรถ 1. จอดรถหลบขางทาง 2. น าแมแรงออกยกรถ 3. คลายสกรยดลอ 4. ถอดลอออก น ายางอะไหลมาเปลยน 5. ขนสกรเขา เกบยางทช ารดเพอไปซอม คลายแมแรง เกบแมแรง

Page 7: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 7 -

2. ผงงานโปรแกรม(Program Flowchart) หมายถง ผงงานทใชในการแสดงการท างานของโปรแกรมโดยละเอยดในแตละขนตอน เชนรบขอมล ค านวณ และแสดงผลลพธ ผงงานโปรแกรมเปนสงจ าเปนส าหรบผเขยนโปรแกรมเพราะตองใชเปนแนวทางในการเขยนโปรแกรมและเมอโปรแกรมเกดขอผดพลาดการเขาไปวเคราะหผงงานโปรแกรมจะท าไดงายกวาการเขาไปวเคราะหตวโปรแกรมโดยตรง

ประโยชนของผงงาน

1. ใชแทนการจ าลองความคด ชวยใหเขาใจล าดบและความสมพนธระหวางขนตอนในการท างานตางๆ 2. ใชเปนสอกลางในการตดตอประสานความคดระหวางผทเกยวของ เชน นกวเคราะหระบบ(systems

analyst) นกเขยนโปรแกรม(programmer) 3. ชวยในการทดสอบหรอทบทวนขนตอนการท างาน เพอหาขอผดพลาด

ตารางท 1 แสดงสญลกษณและความหมายของสญลกษณ สญลกษณ ความหมาย

การท างานดวยมอ (Manual Operation) แทนจดทมการท างานดวยแรงคน

การน าขอมลเขา-ออกโดยทวไป(General input/output) แทนจดทจะน าขอมลเขาหรอออกจากระบบคอมพวเตอรโดยไมระบชนดอปกรณ

แถบบนทกขอมล(Magnetic tape) แทนจดทจะน าขอมลเขาหรอออกจากโปรแกรมดวยแถบบนทกขอมล

จานบนทกขอมล(Magnetic disk) แทนจดทจะน าขอมลเขาหรอออกจากโปรแกรมดวยจานบนทกขอมล

ก า รป อ น ข อ ม ล เข า ด ว ย ม อ (Manual Input) แ ท น จ ด ท จ ะ น า ข อ ม ล เข า ดวยมอ

Page 8: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 8 -

การแสดงขอมล (Display) แทนจดทจะน าขอมลเขาดวยจอภาพ

การท าเอกสาร (Document) แทนจดทมขอมลเปนเอกสารหรอแสดงขอมลดวยเครองพมพ

การตดสนใจ (Decision) แทนจดทจะตองเลอกปฏบตอยางใดอยางหนง

การปฏบตงาน (Process) แทนจดทมการปฏบตงานอยางใดอยางหนง

การเตรยมการ (Preparation) แทนจดก าหนดชอขอมลหรอคาเรมตนตางๆ

การเรยกโปรแกรมภายนอก (External subroutine) แทนจดเรยกใชโปรแกรมยอยทไมไดอยในโปรแกรมนน การเรยกโปรแกรมภายใน (Internal subroutine) แทนจดเรยกใชโปรแกรมยอยทอยในโปรแกรมนน การเรยงขอมล (Sort) แทนจดทมการเรยงขอมลใหมตามขอก าหนด ทศทาง (Flow line) แทนทศทางขนตอนการด าเนนงานซงจะปฏบตตอเนองกนตามหวลกศรช หมายเหต (Annotation) แทนจดทแสดงรายละเอยดเพมเตมหรอหมายเหตของจดตางๆ ทแสดงในผงงานดวยสญลกษณไมชดเจน การตดตอทางไกล (Communication Link) แทนชวงทมการตดตอหรอการยาย ขอมลดวยระบบตดตอทางไกล

Page 9: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 9 -

จดเชอมตอ (Connector) แทนจดเชอมตอของผงงานเมอใชสญลกษณเพอใหดงาย จ ด เช อ ม ต อ ห น า ก ร ะ ด าษ (Off page Connector) แ ท น จ ด เช อ ม ต อ ข อ ง

ผงงานทอยคนละหนากระดาษ

เรมตนและลงทาย (Terminal) แทนจดเรมตนและลงทายของผงงานของโปรแกรมหลกและโปรแกรมยอย

ตวอยางท 5 การวางแผนไปโรงเรยน

การจ าลองความคดแบบรหสทยม เรมตน

ตนนอน อาบน าแตงตว ไปโรงเรยน

จบ

การจ าลองความคดแบบสญลกษณ

ตวอยางท 6 การค านวณพนทรปวงกลม

การจ าลองความคดแบบรหสเทยม เรมตน

รบคา radius ค านวณพนทดวยสตร area= 22/7*radius*radius แสดงคา area

จบ

การจ าลองความคดแบบสญลกษณ

เรมตน

จบ

ตนนอน

อาบน าแตงตว

ไปโรงเรยน

เรมตน

จบ

area = 22/7 * radius * radius

radius

area

Page 10: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 10 -

ตวอยางท 7 การจ าลองความคดในการหาผลบวก 1,2,3,4,5,… จนถง 20

การจ าลองความคดแบบรหสเทยม เรมตน

1. ก าหนดให N มคาเรมตนเปน 0 2. ก าหนดให K มคาเรมตนเปน 1 3. น าคา K มารวมกบคา N เดม ไดผลลพธเทาไรเกบไวท N 4. น าคา 1 มารวมกบคา K เดม ไดผลลพธเทาไรเกบไวท K 5. เปรยบเทยบคา K กบ 20 ถา K นอยกวาหรอเทากบ 20 ใหวนกลบไปท าในขน 3 และท า

ค าสงถดลงมาตามล าดบ แตถา K มากกวา 20 ใหแสดงค าตอบ จบ

การจ าลองความคดแบบสญลกษณ

เรมตน

จบ

N=0 K=1

N=N+K

K=K+1

K≤20

เทจ

จรง

แสดงคา N

Page 11: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 11 -

5.3 โครงสรางแบบตางๆ ส าหรบการเขยนโปรแกรม จากการศกษาหลกการขนตอนการแกปญหา ในหวขอ 4.1 และ 4.2 หลงจากทเราสามารถวเคราะหปญหา และสรางแบบจ าลองความคดเพอแสดงขนตอนในการแกปญหาแลว ขนตอนตอไปคอ การลงมอแกปญหาตามขนตอนทไดออกแบบไว โดยใชเครองมอชวยในการแกปญหา ในทน เครองมอทนกเรยนเลอก คอ ภาษาคอมพวเตอร ซงถอไดวาเปนขนตอนหนงทส าคญในการแกปญหาดวยคอมพวเตอร การเขยนโปรแกรม (Programming) หมายถง กระบวนการใชภาษาคอมพวเตอรเพอก าหนดโครงสรางของขอมล และก าหนดขนตอนวธเพอใชแกปญหาตามทไดออกแบบไวโดยอาศยหลกเกณฑการเขยนโปรแกรมคอมพวเตอรของแตละภาษา กอนการเขยนโปรแกรม ผพฒนาโปรแกรมจะตองเลอกภาษาทจะน ามาชวยใชงานโดยพจารณาจากปจจยตา งๆ ในการท างาน เชน ลกษณะของปญหา ความถนดของผเขยนโปรแกรม สภาพแวดลอมในการท างานของระบบคอมพวเตอร เปนตน เนองจากในปจจบนมภาษาคอมพวเตอรใหเลอกไดหลายภาษา เชน ภาษาซ ภาษาจาวา ภาษาไพทอน เปนตน ถงแมแตละภาษาจะมรปแบบและหลกการในการสรางงานทแตกตางกน แตทกภาษาจะตองมโครงสรางควบคมหลกทง 3 แบบไดแก โครงสรางแบบล าดบ (Sequential structure) โครงสรางแบบมทางเลอก (Selection structure) และโครงสรางแบบท าซ า (Repetition structure)

1) โครงสรางแบบล าดบ โครงสรางแบบล าดบ คอโครงสรางแสดงขนตอนการท างานทเปนไปตามล าดบกอนหลง และแตละขนตอนจะถกประมวลผลเพยงครงเดยวเทานน

รปท 2 แสดงการท างานของโครงสรางแบบล าดบ

ค าสงท 1

ค าสงท 2

ค าสงท 3

ค าสงท N

…….

Page 12: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 12 -

ตวอยางท 8 แสดงผงงานทจ าลองการบวกเลขจ านวนเตม 2 จ านวน ในรปของสญลกษณ

รปท 3 แสดงการท างานของโครงสรางแบบล าดบ 2) โครงสรางแบบมทางเลอก

โครงสรางแบบมทางเลอก คอโครงสรางทมเงอนไข ขนตอนการท างานบางขนตอนตองมการตดสนใจเพอเลอกวธการประมวลผลขนตอไป และจะมบางขนตอนทไมไดรบการประมวลผล การตดสนใจอาจม 2 ทางหรอมากกวากได โครงสรางทมทางเลอกเพยง 2 ทางเราเรยกชอวา โครงสรางแบบทางเลอก if และโครงสรางทมทางเลอกมากกวา 2 ทาง เราเรยกชอวาโครงสรางแบบทางเลอก switch

o โครงสรางแบบทางเลอก if ม 3 รปแบบคอ 1. หนงทางเลอก (One Alternative) แสดงดงรปท 4 2. สองทางเลอก (Two Alternative) แสดงดงรปท 5 3. หลายทางเลอก (Multiple-Alternative) แสดงดงรปท 6

เรมตน

X = 2

Y = 5

Z = X + Y

“Output”, Z

สนสด

จดเรมตน

น า 2 ไปเกบใน X

น า 5 ไปเกบใน Y

น าคาทอยใน X และ Y มาบวกกน แลวเกบผลลพธไวท Z

แสดงผลลพธคอ Output 7 ทางจอภาพ

จดสนสด

เงอนไข

เทจ

จรง

ค าสง

รปท 4 แสดงการท างานของโครงสรางแบบมทางเลอก if รปแบบหนงทางเลอก

รปท 5 แสดงการท างานของโครงสรางแบบมทางเลอก if รปแบบสองทางเลอก

ค าสง

เงอนไข

เทจ

จรง

ค าสง

Page 13: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 13 -

รปท 7 แสดงการท างานของโครงสราง switch

เงอนไข

…..

กรณท 1 กรณท 2 กรณท 3 กรณท n

ค าสง ค าสง ค าสง ค าสง

เงอนไข เทจ จรง

ค าสง เงอนไข

ค าสง เงอนไข

ค าสง ค าสง

จรง

จรง

เทจ

เทจ

รปท 6 แสดงการท างานของโครงสรางแบบมทางเลอก if รปแบบหลายทางเลอก

Page 14: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 14 -

ตวอยางท 8 แสดงผงงานทจ าลองขนตอนวธการเขยนและสงจดหมายใหอยในรปของสญลกษณ

รปท 8 แสดงการท างานของโครงสรางแบบมทางเลอก if รปแบบหนงทางเลอก

โครงสรางแบบม ทางเลอก if

เรมตน

จบ

เขยนจดหมาย

พบจดหมายใสซอง

จาหนาซอง

ปดซองจดหมาย

ไมมแสตมป

เทจ

จรง

ซอแสตมป

ตดแสตมป

สงจดหมาย

Page 15: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 15 -

ตวอยางท 9 แสดงผงงานทจ าลองขนตอนวธของเกมหยบลกบอลใหอยในรปของสญลกษณ โดยมเงอนไขวามลกบอลซง ม 5 ส

กรณหยบไดสแดง จะได 10 คะแนน กรณหยบไดสฟา จะได 8 คะแนน กรณหยบไดสเขยว จะได 6 คะแนน กรณหยบไดสเหลอง จะได 4 คะแนน กรณหยบไดสสม จะได 2 คะแนน

รปท 9 แสดงการท างานของโครงสรางแบบมทางเลอก switch

3) โครงสรางแบบท าซ า โครงสรางแบบท าซ า คอโครงสรางทขนตอนการท างานบางขนตอนไดรบการประมวลผลมากกวา 1 ครง ทงนขนอยกบเงอนไขบางประการ โครงสรางแบบท าซ านตองมการตดสนใจในการท างานซ า และลกษณะการท างานของโครงสรางแบบนม 2 ลกษณะ ไดแก แบบทมการตรวจสอบเงอนไขในการท าซ าทกครงกอนด าเนนการกจกรรมใดๆ ถาเงอนไขเปนจรงจะท างานซ าไปเรอยๆ และหยดเมอเงอนไขเปนเทจ การท างานลกษณะนแบงไดเปน 2 แบบยอย ไดแก การท าซ าแบบ for และแบบ while ลกษณะการท างานของทงสองแบบนจะเหมอนกน โดยส าหรบแบบ for นนมกใชกรณทตองการก าหนดจ านวนรอบการท างานทชดเจน

choose

‘R’

10 คะแนน

เรมตน

choose

8 คะแนน 6 คะแนน 4 คะแนน 2 คะแนน

จบ

‘B’ ‘G’ ‘Y’ ‘O’

Page 16: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 16 -

แบบทมการด าเนนการกจกรรมใดๆ กอนจ านวนหนงรอบ แลวจงคอยตรวจสอบเงอนไขในการท าซ า ถาเงอนไขเปนจรงจะท างานซ าไปเรอยๆ และหยดเมอเงอนไขเปนเทจ เรยกการท างานแบบน วา การท าซ าแบบ do…while ผงงานแสดงขนตอนการท างานซ าทงสองแบบแสดงดงรปท 10 และ 11

รปท 10 แสดงการท างานของการท าซ าแบบ for และแบบ while

รปท 11 แสดงการท างานของการท าซ าแบบ do…while โครงสรางควบคมทง 2 แบบทกลาวมาขางตนกคอ ขนตอนทเราใชในการแกปญหานนเอง พจารณาตวอยางท 10 เปนขนตอนการเลอกเครองมอและการออกแบบขนตอนวธ คอ ขนตอนท 2 ในหวขอ 4.1 เราเลอกสรางผงงานมาจ าลองขนตอนวธในการหาคาเฉลยของจ านวน 5 จ านวน จากตวอยางท 2 และในตวอยางท 10 มการแสดงโครงสรางควบคมแบบล าดบและแบบท าซ าทใชในการแกปญหาดวย

เงอนไข

เทจ

จรง

ค าสงท N

ค าสงท 1

เงอนไข จรง

เทจ ค าสงท 1

ค าสงท N

Page 17: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 17 -

ตวอยางท 10 แสดงผงงานทจ าลองขนตอนวธการหาคาเฉลยของจ านวนเตม 5 จ านวน ใหอยในรปของสญลกษณ 5.4 การจ าลองความคดดวยโปรแกรม Scratch

Scratch นน เปนโปรแกรมทถกพฒนาขนโดยสถาบน MIT (Massachusetts Institute of Technology) เพอใหเดกเลกสามารถเรยนรการเขยนโปรแกรมได โดยการเขยนโปรแกรมใน Scratch นน จะอยในรปแบบของการน าบลอกค าสงมาวางตอกน

เมอปญหามความซบซอนมากขน การเขยนผงงานกจะตรวจสอบไดยากขนตามไปดวย การจ าลองความคดดวย Scratch นน ท าใหเราสามารถตรวจสอบไดงายวาโปรแกรมทเขยนขนมานนท างานไดถกตองหรอไม หรอมขอผดพลาดทจดใด ซงจะท าใหสามารถเขาใจล าดบและวธการเขยนผงงานไดดยงขน

รปท 12 ตวอยางของค าสงควบคมแบบทางเลอกและแบบวนซ าใน Scratch

โครงสรางแบบท าซ า

เรมตน

จบ

SUM=0

N=1

จรง

เทจ

SUM = SUM+DATA

data

N=N+1

N ≤ 5

A=SUM / (N-1)

A

รบคา

แสดงผล

Page 18: บทที่ 5 - webcs.mwit.ac.th · บทที่ 5 การจ าลองความคิด เนื้อหา 5.1 กระบวนการแก้ปัญหา

รายวชา ง30101 เทคโนโลยสารสนเทศและหลกการแกปญหา ภาคเรยนท 1/2559

- 18 -

ตวอยางของการจ าลองความคดทแสดงขนตอนการตรวจสอบวาตวเลขนนเปนจ านวนเฉพาะหรอไมใน Scratch

นกเรยนสามารถศกษาเพมเตมไดท http://oho.ipst.ac.th/download/document/scratch2/stemscratch2.pdf

แหลงทมา หนงสอเรยนสาระการเรยนรพนฐานเทคโนโลยสารสนเทศ ชวงชนท 4 ชนมธยมศกษาปท 4-6

ตามหลกสตรการศกษาขนพนฐาน พทธศกราช 2544