Upload
latcha-mamiew
View
517
Download
0
Embed Size (px)
Citation preview
กระบวนการการแกปญหาการแกปญหาอยางมระบบจะมกระบวนการแกไขปญหาอย 4 ขนตอนดงน
1. การวเคราะหและกำาหนดรายละเอยดของปญหา
2. การเลอกเครองมอและออกแบบขนตอนวธ
3. การดำาเนนการแกปญหา 4. การตรวจสอบและ
ปรบปรงวธการ
เปนขนตอนแรกสดของการทำางาน เปนขนตอนทไมควรมองขามไปเดดขาด เพอทำาความเขาใจกบปญหา ในการวเคราะหงานมแนวทางหลายรปแบบซงมขนตอนและวธการทคลายๆ กน โดมรปแบบทใชแกปญหาม 5 ขนตอนดงน
1. สงทตองการ เปนการบอกเกยวกบงานทตองการใชคอมพวเตอรในการประมวลผลและแสดงรปแบบผลลพธออกมาใหผใชในลกษณะใด ตองการใหแสดงผลลพธมการแสดงผลกรปแบบ เชน ใหมการแสดงผลออกมาทางเครองพมพ
การวเคราะหและกำาหนดรายละเอยดของปญหา
การวเคราะหและกำาหนดรายละเอยดของปญหา
2. รปแบบผลลพธเปนการวเคราะหถงการแสดงผลของเครอง
คอมพวเตอร เนองจากคอมพวเตอรสามารถแสดงผลออกมาไดอยางหลากหลาย เปนหนาทของผวเคราะหทตองออกแบบผลลพธใหเหมาะสมกบขอมลและการนำาไปใชอยางลงตว ดงนน การวเคราะหรปแบบผลลพธผวเคราะหตองวเคราะหใหผลลพธทแสดงออกมาสามารถสอสาร สอความหมายกบผใชไดตรงกนและชดเจน ดงตวอยาง 1.รายงานเงนเดอนครและบคลากร
การวเคราะหและกำาหนดรายละเอยดของปญหา
2. รายงานผลการเรยน 3. รายงานใบรบเงน
การวเคราะหและกำาหนดรายละเอยดของปญหา
3. ขอมลนำาเขา ขอมลทตองนำาเขาวาตองการใชขอมลนำาเขาอะไรบาง และลกษณธของขอมลของขอมลทนำาเขานนสมพนธกบลกษณะของขอมลทตองการแสดงผลหรอไมการพจารณาขอมลทนำาเขา ผวเคราะหตองวางแผนเกยวกบชนดขอมล เพราะขอมลแตละชนดมความสามารถและการคำานวณทไดผลลพธแตกตางกน ซงจะสงผลตอการประกาศชนดตวแปรทใชเกบขอมลนำาเขา และสงผลถงผลลพธทใชในการแสดงผลทถกตองตวอยางท1 กรณรายงานผลการเรยนขอมลทตองนำาเขา ไดแก ฃอโรงเรยน รหสวชา ชอวชา ชอครผสอน ภาคเรยนท ปการศกษา ชอ-นามสกลนกเรยน คะแนนเตม คะแนนทได หรออนๆขอมลนำาเขานผวเคราะหตองพจารณาในทางปฏบตดวยวา ตองนำาเขาไดสะดวก ผดพลาดนอย ไมซบซอน เชน การกรอกขอมลทโปรแกรมสามารถเกบไวในฐานขอมลไดไมตองนำาเขาหลายๆครง และขอมลทใชความสามารถของคอมพวเอรได เชน วน วนท เวลาปจจบน สงเหลานสามารถใชการนำาเขาแบบอตโนมต ทำาใหลดความผดพลาดของการนำาเขาได
การวเคราะหและกำาหนดรายละเอยดของปญหา
4.ตวแปรทใช เปนการวางแผนเพอกำาหนดตวแปรสำาหรบใชแทนขอมลนำาเขาแตละครง และในการกำาหนดตวแปรเพอใชเกบขอมลทเกดจากการประมวลผลของขอมลนำาเขา หลกเกณฑการตงชอ เพอใชในการประมวลผลดวยคอมพวเตอรโดยทวไป ดงน 4.1 ตวแปรตองขนตนดวยตวอกษรภาษาองกฤษหรอสญลกษณ “ _ ” (Underscore) ใมควนใชภาษาทองถน
4.2 ตองคำานงถงอกษรพมพใหญพมเลก เพราะซอฟวบางอยางไมคำานงถงตวพมพใหญพมพเลก แตบางซอฟตแวรจะคำานงถง เชนMAX = mAX xaM AmX
ดงตวอยางบางโปรแกรมเมอพมพคำานอาจถอวาเปนตวแปรเดยวกน แตบางโปรแกรมอาจไดแคแบบแรกเทานนเพราะฉะนนเราควรพมพเปนตวพมพเลกทงหมดเพอสามารถใชงานไดครอบคลมทกโปรแกรม
การวเคราะหและกำาหนดรายละเอยดของปญหา
4.3 ชอของตวแปรใหเปนไปตามกฎเกณฑของตวแปลภาษาทใชในการเขยนโปรแกรมไมซำากบคำาสงวน เชน Format End ฯ ซงซอฟตแวรหรอตวแปลภาษาจะมการระบวธใชซงคลายคลงกน ควรทำาความเขาใจ
4.4 งดใชเครองหมายตอไปนในการตงชอโปรแกรม ! , @ , # , $ , ฿ , ^ , % , & , ^ , ( , ) , - , = , \ , + ถงแมบางตวแปลจะสามารถใชได แตกไมสมควรใช ควรงดเวนเครองหมายทสงวนไวกจะทำาใหเกดวในการตงชอตวแปร และจะทำาใหสามารถนำาไปใชกบขนตอนตอไปได
4.5 ชอของตวแปรควรสอความหมายถงขอมลทนำาเขา เชน
ถาตงชอไมสอความหมายถงขอมลทนำาเขา จะทำาใหผเขยนโปรแกรมสบสนและไมสามารถจำาไดและจะปรบปรงไดยาก และถามผเขยนโปรแกรมมากๆจะทำาใหไมเขาใจตรงกน จงควรตงชอตวแปรใหสอความหมายกบขอมล หากผวเคราะหตงชอตวแปรใหถกตอง เปนไปตามกฎเกณฑการตงชอตวแปร จะทำาใหลดคามซำาซอนในการทำางานและลดขอผดพลาดไดอกระดบหนง
ตวแปร ใชเกบขอมลScore คะแนนนกเรยน
idเลขประจำาตว
นกเรยน
การวเคราะหและกำาหนดรายละเอยดของปญหา
5.วธการประมวลผลเปนการวเคราะหวธดำาเนนการหลงจากไดสงท
ตองการ รปแบบผลลพธ ขอมลนำาเขา จนถงตวแปรทใชมาแลว ซงขนตอนนจะวเคราะหความเปนไปไดทจะตองใหไดผลลพธของการปญหาตามตองการ 5.1 วธการรบขอมลเพอประมวลผล แนวทางในการประมวลผลม2แนวทางดงน
แนวทางท1 รบขอมลเขาสคอมพวเตอรทละรายการ โดยเกบคาตางๆไวในตวแปรทกำาหนดไวทละรายการ หลงจากนนกประมวลผลในรายการนนๆ จงเรมตนวนรบคารายการใหมจนครบขอมลนำาเขา ดงภาพทแสดง
การวเคราะหและกำาหนดรายละเอยดของปญหา
แนวทางท 2 ใชวธการรบขอมลเขาทงหมด โดยการปอนขอมลนำาเขาทกรายการใสในตวแปรจนครบ เมอครบแลวจงทำาการประมวลผลเพยงครงเดยววธการนจะมการประมวลผลทซบซอน ใชหนวยความจำาคอนขางมาก ดงทภาพแสดง
จากตวอยางทง2วธจะพบขอด-ขอเสยแตกตางกนไป โดยวธการรบขอมลเขา สคอมพวเตอรทละรายการจะใชหนวยความจำานอย คำานวณผลลพธทนท แตการทำางานแตละรอบตองมการคำานวณทกครง
การวเคราะหและกำาหนดรายละเอยดของปญหา
5.2 การทดสอบขอมลสดทายเปนการวเคราะหเพอหาแนวทางการเรมคำานวณ
ผลลพธของขอมลทถกนำาเขาเสรจแลว ซงจำาเปนตองสรางเหตการณสำาหรบกระตนใหเครองคอมพวเตอรไดรบรวาขอมลนำาเขานนสนสดแลว ใหเรมทำาการคำานวณเพอประมวลผลลพธ โดยมแนวทางดงน
1) การใชคาของขอมลใดขอมลหนงทไมใชคาทเปนไปได เพอกระตนหรอสงการใหคอมพวเตอรเขาสขนตอนการประมวลผล เชน การทำางานแบบโครงสราง
2) การใชวธการกำาหนดตวแปรเพออกตวหนง เพอใชสำาหรบการนบ เพมคาเพอทดสอบขอมลสดทาย เชน การสรางตวแปรนบขอมลนำาเขาทละรายการ
จะเหนไดวา วธการวเคราะหและกำาหนดรายละเอยดเกยวกบปญหาทง 5 ขนตอนนจะสามารถมองเหนแนวทางในการปฏบตงานในการแกปญหา มแนวทางในการเลอกเครองมอ และแนวทางการดำาเนนการแกปญหาอยางเปนรปประธรรมในลำาดบตอไป
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา เปนขนตอนของการการวางแผนในการแกไขปญหาดวยความรอบครอบและสมเหตสมผล ซงเกดจากการวเคราะหปญหาอยางถองแททำาความเขาใจกบปญหาโดยศกษาขอมลและเงอนไขทมขอมลทไดถกกำาหนดไวให และสงทโจทยตองการ
โดยขนตอนนจะเปนการใชประสบการณในการคาดคะเนวธการในการแกปญหา หากผแกปญหาเคยมประสบการณในการแกไขปญหานมากอน หรอปญหาทแกมโครงสรางของปญหาทคลายคลงกนผแกปญหากจะถายโอนประสบการณมาใชกบปญหาทพบ
ในการแกปญหาทซบซอนระยะเวลาการแกปญหาผานไปนานแลว และวธการแกปญหาทพบออกแบบไวนนยงไมไดถกนำามาใชทนท อาจทำาใหเกดการหลงลม จงควรจดบนทกการแกปญหาไวในรปแบบผงงาน(flowchart)หรอรหสจำาลอง(Pseudo Code)เพอการกระตนเตอนความเขาใจในภายหลงเพอสอความหมายและวธการไปสบคคลอนทพบปญหาในลกษณเดยวกนใหสามารถเขาใจตรงกน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
ผงงานเปนการอธบายลำาดบการทำางานโดยใชสญลกษณทมรปรางตางๆโดยมความหมายตามทตกลงกนควบคกบการกำาหนดทศทางดวยเสนทมลกศร เพอแสดงการไหลของขอมลหรอลำาดบการทำางานโดยมตำาแหนงของวธการทำางานเพยงตำาแหนงเดยวและตำาแหนงสนสดการทำางานเพยงจดเดยวเชนกน
1. ผงงาน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
1.1 ประเภทของผงงาน ผงงานทใชในการอธบายการทำางานในคอมพวเตอรจำาแนกไดเปน2ประเภทดงน
1) ผงงานระบบ เปนผงงานภายในระบบหนงๆโดยรวม ซงจะแสดงถงความเกยวของของสวนทสำาคญตางๆในระบบนน ผงงานระบบอาจเกยวของกบ คน วสด และเครองจกร ซงแตละจจะประกอบไปดวยการนำาขอมลเขา วธการประมวลผลและการแสดงผลลพธ (Input-Process-Output)วามาจากทใดอยางกวางๆโดยจะไมบอกรายละเอยดของการปฏบตมากนก ดงตวอยางตอไปน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
2) ผงงานโปรแกรม หรอเรยกสนๆวาผงงานผงงานประเภทนจะ แสดงถงขนตอนของคำาสงทใชในโปรแกรม ซงอาจสรางขนจากผง งานระบบ โดยผเขยนผงงานจะตองดงเอาแตจดทเกยวของกบ
การทำางานของเครองคอมพวเตอรทปรากฏในผงระบบมาเขยน เพอใหทราบวาจะใชคอมพวเตอรทำางานในจดนน และไดรบ ผลทตองการ ควรทจะมขนตอนคำาสงอยางไรจงจะนำามา เขยนโปรแกรมใหคอมพวเตอรทำางานตอไป ดงตวอยาง
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
1.2 ประโยชนและขอจำากดของผงงาน 1) ประโยชนของผงงาน
ผงงานเปนเอกสารประกอบโปรแกรม ซงจะชวยใหการศกษาลำาดบขนตอนของโปรแกรมงายขน จงนยมเขยนผงงานระบบประกอบการเขยนโปรแกรม ดวยเหตผลดงน
1. คนสวนใหญสามารถเรยนรและเขาใจผงงานระบบไดงาย เพราะผงงานระบบไมขนอยกบภาษาคอมพวเตอรภาษาใดภาษาหนงโดยเฉพาะ
2. ผงงานระบบเปนการสอความหมายดวยภาพ ทำาใหงายและสะดวกตอการพจารณาถงลำาดบขนตอนในการทำางาน ซงนาจะดกวาบรรยายเปนตวอกษร การใชขอความหรอคำาพดอาจจะสอความหมายผดไปได
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
3. ในงานโปรแกรมทไมสลบซบซอน สามารถใชผงงานระบบตรวจสอบความถกตองของลำาดบขนตอนไดงาย ถามทผดในโปรแกรมจะแกไขไดสะดวกและรวดเรวขน
4. การเขยนโปรแกรมโดยพจารณาจากผงงานระบบ สามารถทำาใหรวดเรวและงายขน
5. การบำารงรกษาโปรแกรมหรอการเปลยนแปลงแกไขโปรแกรมใหมประสทธภาพถาดจากผงงานระบบจะชวยใหสามารถทบทวนงานในโปรแกรมกอนปรบปรงไดงายขน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
2) ขอจำากดของผงงานผเขยนโปรแกรมบางคนไมนยมการ
เขยนผงงานกอนทจะเขยนโปรแกรมเพราะเสยเวลาในการเขยนเปนรปภาพหรอสญลกษณตาง ๆ นอกจากนยงมเหตผลอน ๆ ไดแก 1. ผงงานเปนการสอความหมาระหวางบคคลตอบคคลมากกวาทจะสอความหมายระหวางบคคลกบเครอง เพราะผงงานระบบไมขนอยกบภาษาคอมพวเตอรภาษาใดภาษาหนง ทำาใหเครองไมสามารถรบและเขาใจวาในผงงานระบบนนตองการใหทำาอะไร
2. บางครงเมอพจารณาจากผงงานจะไมสามารถทราบไดวา ขนตอนการทำางานใดสำาคญกวากน เพราะทก ๆ ขนนอนจะใชรปาภพหรอสญลกษณในลกษณะเดยวกน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
3. การเขยนผงงานเปนการสนเปลอง เพราะจะตองใชกระดาษและอปกรณอน ๆ ประกอบการเขยนภาพ บางครงการเขยนผงงานระบบอาจจะตองใชกระดาษมากกวา 1 แผนทง ๆ ทการอธบายงานเดยวกนจะใชเนอทเพยง 3-4 บรรทดเทานน
4. ผงงานจะมขนาดใหญ ถาโปรแกรมทพฒนาเปนงานใหญ ทำาใหผงงานระบบแลดเทอะทะไมคลองตว และถามการปรบเปลยนผงงานระบบจะทำาไดยาก บางครงอาจจะตองเขยนผงงานขนใหม
5. ในผงงานจะบอกขนตอนการปฏบตงานวาเปนลำาดบอยางไร ปฏบตงานอะไรแตจะไมระบใหทราบวาทำาไมจงตองเปนลำาดบและตองปฏบตงานอยางนน
6. ในภาษาคอมพวเตอรทใชกนในปจจบน เชน ภาษาซ ผงงานระบบไมสามารถแทนลกษณะคำาสงในภาษาไดชดเจน ตรงไปตรงมา
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
1.3 สญลกษณทใชในการเขยนผงงาน การเขยนผงงาน เปนการเขยนแผนภาพเพอแสดงขนตอนการทำางาน โดยนำาภาพสญลกษณตาง ๆ มาเรยงตอกน สญลกษณทนยมใชในการเขยนผงงานนน หนวยงานทชอวา American National Standards Institute (ANSI) และ International Standard Organization (ISO) ไดรวมกนกำาหนดสญลกษณมาตรฐานเพอใชในการเขยนผงงานดงแสดงในตาราง โดยมตวอยางสญลกษณและการใชงานดงน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
สญลกษณทใชในการเขยนผงงาน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
สญลกษณทใชในการเขยนผงงาน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
สญลกษณทใชในการเขยนผงงาน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
สญลกษณทใชในการเขยนผงงาน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
1.4 หลกเกณฑในการเขยนผงงาน การเขยนแผนผงจะมขนตอนในการเขยนทสำาคญประกอบกนดงน
1. การกำาหนดจดเรมตนและสนสดโปรแกรม โดยการเรมตฝนผงงานหลกใช Start สนสดใช End ผงงานยอยทอยในผงงานหลกใช Begin ออกจากผงงานยอยใช Stop
2. การกำาหนดคาแรกเรม การกำาหนดคาและการคำานวณ จะเขยนวธการคำานวน การประมวลผล หรอการกำาหนดเปนคาตวแปรคาคงท สำาหรบใชในการคำานวณขนตอนเหลานจะเขยนขอความฑภายในสญลกสเหลยมซงมลกศรเขาออกไดอยางละ1ทศทาง
3. การรบขอมลและการแสดงผลขอมล ทยงไมไดกำาหนดวธการรบขอมลนำาเขา จะใชสญลกษณรปสเหลยมดานขนานแสดงตวแปรทใชรบขอมลนำาเขากอนประมวลผล สญลกษณนมลกศรเขาและออกไดอยางลาะ 1 ทศทาง
4. การทดสอบ การทดสอบตรรกะเกยวกบตวแปรคาใดคาหนงวาเปนหรอจงไม โดยการใชรปสเหลยมขนมเปยกปน โดยมเสนทางเขา 1 ทศทาง และเสนทางออกอาจมากกวา 1 ทศทาง
5. จดตอและการเชอมโยงระหวางหนา การเขยนผงงานอาจจะมมากกวา 1 แผนจะเชอมตอหรออางองตำาแหนงทอยคนละหนาจะใชสญลกษณ 5 เหลยมแทนแตถาหนาเดยวกนกนใชสญลกษณวงกลมแทน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
1.5 หลกการจดสญลกษณและทศทางของผงงาน เปนการกำาหนดแนวทางการถายทอดขอมลใหผอนรบรเพอใหสามารถวเคราะหและแกปญหาไดตรงกน มหลกการดงน1. ผงงานตองชดเจนและดงาย2. ตองมจดเรมตนและจดสนสดจดเดยวเทานน3. ทศทางของการทำางานตองมทศจากดานบนลงสดานลางหรอจากซายไปขวาเทานน4. สญลกษณทมการทดสอบในเชงตรรกะ ตองมคำาตอบทถกตองทสามารถทำาใหโปรแกรมดำาเนนตอไปได5. ลกศรแตละเสนทบงบอกทศทาง ตองไมตดหรอทบเสนทางกน6. ผงงานทมขนตอนการคำานวณประมวลผลควรใหอยหนาเดยวกนจนจบการคำานวณ7. คำาอธบายในกรอบภาพควรเขยนเชงสญลกษณทสนและเขาใจงาย8. ผงงานทดควรจดระเบยบ สะอาด และเขยนเลขหนากำากบ ชอผเขยน วนทเขยน เพอจะไดไมสบสน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
เนองจากผงงานเปนการถายทอดความคดในการแกปญหาจงทำาใหสญลกษณไมสามารถตอบสนองตอขนตอนในปจจบน จงมการพฒนาแผนภาพใหมซงแผนภาพนเรยกวา ดเอสด
สญลกษณภายใตดเอสดจะคลายคลงกบผงงานแตจะมการเพมเตมดดแปลงใหเหมาะสมกบภาษาคอมพวเตอรในปจจบน ดงตวอยางตอไปน
2.แผนภาพการออกแบบโครงสราง
2.1 แผนภาพแบบเรยงลำาดบ
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
2.2 แผนภาพแบบทดสอบเงอนไขการทำางานโปรแกรมคอมพวเตอร
จำาเปนตองสรางเงอนไขใหเกดทางเลอกในการประมวลผล ยกตวอยางการประเมนผลทมทางเลอก 2 ทาง ดงนนการเขยนแผนภาพในการทำางานจะชวยอำานวยความสะดวกใหผเขยนโปรแกรมเขยนโปรแกรมไดอยางถกตอง 1. If Then Else แผนภาพการทำางานทมทางเลอกตงแต 2 ทางขนไป 2. Do Case – End Case ผงการทำางานทมทางเลอกหลายๆ ทาง2.3 แผนภาพแบบทำาซำาแบงหลกการทำางานซำาได 2 แบบ คอ
1. การทำางานซำาโดยไมมการตรวจสอบเงอนไข เชน การสงใหทำางานในขน A,B,C แลววนกลบมาทำางานเปนจำานวน 10 รอบ
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
2. การทำางานซำาโดยมการตรวจสอบเงอนไขกอนหรอหลง ซงโปรแกรมจะตรวจสอบเงอนไขวาเปนจรงหรอไม หากเปนจรงแลวจงสงใหทำางานในขน A,B,C แลววนกลบมาทำางานใหม 2.4 แผนภาพแบบคำาสงเรยกโปรแกรมยอยและการอธบายเพมเตม
จากภาพแบบดเอสด จะเหนวาสญลกษณในการใชงานมความหมายกวางขน โดยเสนทางการเดนขอมลสามารถใชเครองหมายชทางเดนไปและทางเดนกลบในเสนทางเดยวกน ทำาใหสามารถตอบสนองการเขยนผงงานของผเขยนโปรแกรมและสอความหมายระหวางบคคลทวไปกบผเขยนโปรแกรมไดตรงกน
การเลอกเครองมอและออกแบบขนตอนวธในการแกปญหา
รหสจำาลองหรอซโดโคด (Pseudo Code) และพดแอล (PDL : Program Design Language) เปนการอธบายขนตอนการทำางานของโปรแกรมโดยใชถอยคำาบรรยายทเปนภาษาทองถน โดยทซโดโคและพดแอลจะมลกษณะทคลายกบผงงาน ซงจะตองใชภาษาทเขาใจงายและสนกะทดรด สอความหมายไดทนททอาน
3. รหสจำาลองและพดแอล (PDL)
ชอสมาชก
นายกวน หลมยานกวย เลขท 1
นายพาคร พรหมวรรณ เลขท 5
นายนครนทร หรสทธ เลขท 8นางสาวปทตตา อนทรโสภา เลขท
10นางสาวปยกมล ปรณวฒนกล เลข
ท11
นางสาวลชชา ยมะคปต เลขท13 นางสาวเกศณ อฬทศ เลขท 15นางสาวจฑารตน โชตกาญจนวงศ เลขท
18นางสาวปยธดา อมรมงคลศลป เลขท
20นางสาวณชกานต แดงจนทร เลขท
29
ชนมธยมศกษาปท 5/1