หน่ วยที 2

การแก้ ปัญหาด้ วยกระบวนการเทคโนโลยีสารสนเทศ
ตัวชีวัด

• แก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศอย่างมี
  ประสิ ทธิ ภาพ
สาระการเรียนรู้

• แก้ปัญหาโดยใช้ขนตอนดังนี
                   ั
  ▫ การวิเคราะห์และกําหนดรายละเอียดของปั ญหา
  ▫ การเลือกเครื องมือและออกแบบขันตอนวิธี
  ▫ การดําเนินการแก้ปัญหา
  ▫ การตรวจสอบและการปรับปรุ ง
• การถ่ายทอดความคิดในการแก้ปัญหาอย่างมีขนตอน
                                          ั
เทคโนโลยีสารสนเทศ

• การนําเทคโนโลยีสารสนเทศเข้ามาใช้งาน ช่วยอํานวยความสะดวกและ
  ลดภาระการทํางานด้วยมือของมนุษย์ ซึงมีกระบวนการทีแน่นอนและ
  เชือถือได้
กระบวนการแก้ ปัญหา

1. การวิเคราะห์และกําหนดรายละเอียดของปั ญหา

   2. การเลือกเครื องมือและออกแบบขันตอนวิธี

      3. ดําเนินการแก้ปัญหา

             4. การตรวจสอบและการปรับปรุ ง
การวิเคราะห์ และกําหนดรายละเอียดของปัญหา

• ทําความเข้าใจถ้อยคําต่างๆ ในปั ญหา
• แยกแยะให้ออกว่าสิ งทีต้องการหาคืออะไร
• ข้อมูลและเงือนไขกําหนดให้มีอะไรบ้าง เพียงพอทีจะหาคําตอบ
  ได้หรื อไม่
การเลือกเครืองมือและออกแบบขันตอนวิธี
• มีประสบการณ์ในการแก้ปัญหา
  ▫ พิจารณาสิ งทีต้องการหา
  ▫ เลือกปั ญหาเก่าทีมีลกษณะคล้ายคลึงกับปั ญหาทีจะพิจารณา
                        ั
  ▫ ปรับปรุ งแนวทางในการแก้ปัญหาเก่าให้สอดคล้องเหมาะกับปั ญหาใหม่
  ▫ วางแผนแก้ปัญหา
• ไม่มีประสบการณ์ในการแก้ปัญหา
  ▫ พิจารณาสิ งทีต้องการหา
  ▫ หาวิธีการเพือให้ได้ความสัมพันธ์ระหว่างสิ งทีต้องการหากับข้อมูลทีมีอยู่
  ▫ พิจารณาดูความสัมพันธ์นน สามารถหาคําตอบได้หรื อไม่
                            ั
  ▫ วางแผนแก้ปัญหา
ดําเนินการแก้ ปัญหา

• ระหว่างการดําเนินการแก้ปัญหา ถ้าเห็นแนวทางทีดี ก็สามารถ
  ปรับเปลียนได้
การตรวจสอบและการปรับปรุง

การวิเคราะห์และกําหนดรายละเอียดของปั ญหา

  การเลือกเครื องมือและออกแบบขันตอนวิธี

           ดําเนินการแก้ปัญหา

      การตรวจสอบและการปรับปรุ ง
การแก้ ปัญหาด้ วยวิธีการเชิงระบบ

• การแยกแยะและทําความเข้าใจปั ญหา
• พัฒนาวิธีการแก้ปัญหาเผือเลือก
• การประเมินทางเลือกหรื อวิธีการ
• การเลือกวิธีทีดีทีสุ ด
• นําวิธีการทีเลือกไปใช้ในการแก้ปัญหา
บทบาทของเทคโนโลยีสารสนเทศในการแก้ ปัญหา

• 1. บทบาทในการสร้างสารสนเทศ
  ▫ ส่ วนใหญ่มาจากการปฏิบติงานในระบบ
                             ั
• 2. บทบาทในการใช้เป็ นเครื องมือในการแก้ปัญหา
  ▫ คอมพิวเตอร์ หรื อระบบเทคโนโลยีสารสนเทศ เป็ นเครื องมือ
     ปฏิบติงานตามวิธีการทีเลือกเพือแก้ปัญหา
         ั
การเขียนผังงานระบบ

• ผังงาน คือ รู ปภาพหรื อสัญลักษณ์ทีใช้แทนลําดับขันตอน
  ในการทํางานของระบบ
ประเภทของผังงาน

• 1. ผังงานระบบ (Systme Flowchart)
  ▫ เป็ นผังงานทีแสดงถึงขันตอนการ
     ทํางานภายในระบบงานหนึงๆ
     โดยจะแสดงถึงความเกียวข้องของ
     ส่ วนทีสําคัญต่าง ๆในระบบนัน
ประเภทของผังงาน

2. ผังงานโปรแกรม (Program Flowchart)
     แสดงลําดับขันตอนในการทํางานของ
     โปรแกรม
จุดมุ่งหมายของการใช้ ผงงานระบบ
                              ั

• เพือให้ขนตอนการทํางานตังแต่ตนจนจบ เหมาะสําหรับ
           ั                      ้
  ผูบริ หาร ผูวเิ คราะห์ระบบ และเขียนโปรแกรมจะได้ทราบ
    ้         ้
  ขันตอนการทํางาน และสามารถนํามาใช้ในการแก้ปัญหาของ
  ระบบได้
ประโยชน์ และข้ อจํากัดของผังงานระบบ
• 1. คนเรี ยนรู ้และเข้าใจผังงานระบบได้ง่าย
• 2.ผังงานสื อความหมายด้วยภาพ ทําให้ง่ายและสะดวกต่อการพิจารณา
  ลําดับขันตอนในการทํางาน
• 3.ใช้ผงงานตรวจสอบความถูกต้องของลําดับขันตอนได้ง่าย
         ั
• 4.การเขียนโปรแกรมโดยพิจารณาจากผังงานระบบ สามารถทําให้
  รวดเร็ วและง่ายขึน
• 5.ในกรณี บารุ งรักษาโปรแกรมสามารถช่วยทบทวนงานในโปรแกรม
              ํ
  ก่อนปรับปรุ งได้ง่ายขึน
• 6. แก้ปัญหาทีเกิดขึนจากส่ วนใดส่ วนหนึงของโปรแกรม
สั ญลักษณ์ ทใช้ การเขียนผังงาน
            ี

      จุดเริ มต้น / สิ นสุ ดของโปรแกรม

      ลูกศรแสดงทิศทางการทํางานของโปรแกรมและการไหล
      ของข้อมูล
      ใช้แสดงคําสังในการประมวลผล หรื อการกําหนดค่า
                ั
      ข้อมูลให้กบตัวแปร
      แสดงการอ่านข้อมูลจากหน่วยเก็บข้อมูลสํารองเข้าสู่
      หน่วยความจําหลักภายในเครื องหรื อการแสดงผลลัพธ์
      จากการประมวลผลออกมา
สั ญลักษณ์ ทใช้ การเขียนผังงาน
            ี

 การตรวจสอบเงือนไขเพือตัดสิ นใจ โดยจะมีเส้นออกจารรู ปเพือ
 แสดงทิศทางการทํางานต่อไป เงือนไขเป็ นจริ งหรื อเป็ นเท็จ

 แสดงผลหรื อรายงานทีถูกสร้างออกมา
 แสดงจุดเชือมต่อของผังงานภายใน หรื อเป็ นทีบรรจบของเส้น
 หลายเส้นทีมาจากหลายทิศทางเพือจะไปสู่ การทํางานอย่างใด
 อย่างหนึ งทีเหมือนกัน
 การขึนหน้าใหม่ ในกรณี ทีผังงานมีความยาวเกินกว่าทีจะแสดง
 พอในหนึ งหน้า
การเขียนผังงานระบบทีดีควรมีหลักเกณฑ์ ดังนี

• มีจุดเริ มต้นและจุดสิ นสุ ดการทํางานเพียงจุดเดียวในหนึ งผังงานระบบ
• มีทางออกจากสัญลักษณ์ใดๆ เพียงทางเดียว ยกเว้นสัญลักษณ์แสดงการตัดสิ นใจ
  สามารถมีทางออก 2 ทางได้
• มีการเข้าสู่สัญลักษณ์ใด เพียงทางเดียว ถ้าต้องการกระทํากระบวนการเดียวกันควร
  ใช้สัญลักษณ์ตวเชือม
                   ั
• ทิศทางลําดับของขันตอนควรจะเริ มจากบนลงล่าง ซ้ายไปขวา
• ข้อความทีบรรจุในสัญลักษณ์ควรสัน กะทัดรัด เข้าใจง่าย
• ขนาดของสัญลักษณ์ทีใช้ควรมีขนาดทีเหมาะสม สวยงาม
• เส้นทางทีใช้ผงงานควรเป็ นระเบียบเรี ยบร้อย ชัดเจน ไม่พนกัน
                 ั                                         ั
ตัวอย่ างการเขียนผังงานการส่ งจดหมาย
รู ปแบบการเขียนผังงาน
• 1. การเขียนฝังงานแบบเรี ยงลําดับการทํางาน (Sequential Structure)
• 2. การเขียนผังงานแบบมีการเลือกการทํางาน (Decision Structure)
  ▫ ผังงานแบบมี 2 ทางเลือก IF
  ▫ ผังงานทีมีมากกว่า 2 ทางเลือก CASE
• 3. การเขียนผังงานแบบมีการทํางานวนซํา (Iteration Structure)
  ▫ While
  ▫ Do While
  ▫ Repeat until (Do until)
  ▫ For
1. การเขียนผังงานแบบเรียงลําดับการทํางาน
          (Sequential Structure)


   เป็ นโครงสร้ า งโปรแกรมที
   ทํางานเป็ นลําดับขันตอนเรี ยง
   กันไป
2. การเขียนผังงานแบบมีทางเลือกการทํางาน
           (Decision Structure)

 • เป็ นการเขียนผังงานทีมีลกษณะการ
                               ั
   ทํางานแบบมีเงื อนไข เป็ นลักษณะ
   ตัด สิ น ใจ เลื อ กทิ ศ ทางการทํา งาน
   ตามคําสังทีกําหนดไว้
ผังงานแบบมี 2 ทางเลือกจากการใช้คาสัง IF
                                        ํ

• IF แบบทางเลือกเดียว Single Selection
IF แบบสองทางเลือก Double Selection
IF แบบหลายทางเลือก Multi Selection
ผังงานทีมีมากกว่ า 2 ทางเลือก CASE
• เป็ นการตรวจสอบเงือนไขของตัวแปรตรวจสอบ ว่าตรงกับค่าใด ค่า
  ดังกล่าวจะเป็ นตัวบอกกิจกรรมทีต้องทํา
3. การเขียนผังงานแบบมีการทํางานวนซํา
               (Iteration Structure)

• คําสังสําหรับการทํางานซําหรื อเรี ยกว่า Loop โดยการทําซํา
                 ่
  โปรแกรมจะอยูภายใต้เงือนไข จริ ง หรื อเท็จ ตามทีผูเ้ ขียน
  โปรแกรมได้ออกแบบไว้
While
• โครงสร้างคําสังจะทําการตรวจสอบ
  เงื อนไขก่ อน ถ้าเงื อนไขเป็ นจริ ง ก็
  จะทํา ซําไปเรื อยๆ แต่ เ มื อเงื อนไข
  เป็ นเท็จ จะหยุด ทําซําแล้ว ออกจาก
  ลูป
Do while

• ทํากิ จกรรมที ต้องการก่ อน แล้วจึ งตรวจสอบ
  เงื อนไข ถ้าเงื อนไขเป็ นจริ ง ก็จ ะทํากิ จ กรรม
  นันซําไปเรื อยๆ แต่ เ มื อเงื อนไขเป็ นเท็จ จะ
  หยุดทําซําแล้วออกจากลูป
Repeat until (Do until)
• ทํา กิ จ กรรมที ต้อ งการก่ อ น แล้ว ตรวจสอบ
  เงือนไข ถ้าเงือนไขเป็ นเท็จ ก็จะทํากิจกรรมนัน
  ซําไปเรื อยๆ แต่ ถ ้า เงื อนไขเป็ นจริ ง จะหยุ ด
  ทําซําแล้วออกจากลูปไป
For
• โครงสร้างคําสังจะทําการวนซําโดยรู ้
  จํานวนแน่นอน โดยมีการกําหนดค่า
  เริ มต้น ค่าสิ นสุ ดของตัวแปรนับรอบ
หลักเกณฑ์ ในการวิเคราะห์ ปัญหา

• 1. สิ งทีโจทย์ตองการ
                 ้
• 2.ผลลัพธ์ทีต้องแสดง (Output)
• 3.ข้อมูลทีต้องนําเข้า (Input)
• 4.ตัวแปรทีใช้ (Variable)
• 5.วิธีการประมวลผล (Processing)
ตัวอย่ าง
• จงวิเคราะห์โจทย์เพือหาผลรวมของเลข 1-50
วิธีทาํ
1. สิ งทีโจทย์ตองการ
                   ้
     ผลรวมของเลข 1-50
2. ผลลัพธ์ทีต้องการแสดง (output)
        Sum of 1-50 = xxx
3. ข้อมูลนําเข้า (Input)
        ตัวเลข 1-50
4. ตัวแปรทีใช้
        x= ค่าของตัวเลข 1-50
        sum= ผลรวม
5. วิธีการประมวลผล
   5.1 กําหนดค่าของผลรวมให้เป็ น 0 (sum=0)
   5.2 กําหนดค่า x มีค่าเริ มต้นเป็ น 1 (x=1)
   5.3 คํานวณผลรวม sum=sum+x
   5.4 ตรวจสอบว่า x= 50 ให้ไปทําข้อ 7 พิมพ์ค่าผลรวม
   5.5 คํานวณเพิมค่า x=x+1 (เพิมค่า x ครังละ 1)
   5.6 กลับไปทําข้อ 3 คํานวณผลรวม sum=sum+x
   5.7 ให้พิมพ์ค่าผลรวม “sum of 1-50”=,sum
   5.8 จบการทํางาน
start

Sum=0
 X=1

Sum=sum+x


              N   X=x+1
 X=50
          Y
Print sum

   stop
คําถาม:
จงวิเคราะห์โจทย์เพือหาผลบวกของเลข 5+8+11+14+17+….+98
• 1. สิ งทีโจทย์ตองการ
                  ้
  ▫ ผลบวกของเลข 5+8+11+14+17+….+98
• 2. รู ปแบบผลลัพธ์ทีต้องการ (output)
  ▫ Sum of 1-50 = xxx
• 3. ข้อมูลนําเข้า (Input)
  ▫ ไม่มี (เพราะตัวเลขทีนํามาบวกกัน มีค่าเพิมครังละ 3 เท่ากัน
• 4. ตัวแปรทีใช้
  ▫ I=5
  ▫ Sum=ผลบวก
• 5. วิธีการประมวลผล
  ▫ 5.1 กําหนดค่าเริ มต้นให้ I=5, sum=0
  ▫ 5.2 sum=sum+I (คํานวณ Sum+I เก็บผลลัพธ์ไว้ใน sum)
  ▫ 5.3 คํานวณ I=I+3 (เพิมค่า I ครังละ 3)
  ▫ 5.4 ตรวจสอบว่า I=98 หรื อยัง ถ้าครบแล้ว จะพิมพ์ค่า sum แล้วจบ
     การทํางาน
  ▫ 5.5 ถ้ายังไม่ครบให้กลับไปทําข้อ 2
start

 Sum=0
   I=5


Sum=sum+I


  I=I+3

               N
  X=98
           Y

 Print sum


   stop
การบ้ าน
1. ให้นกเรี ยนฝึ กวิเคราะห์โจทย์ปัญหา เพือหาผลรวม
       ั
   ของเลขคี ระหว่าง 1-100
2. ให้นกเรี ยนฝึ กวิเคราะห์โจทย์ปัญหา เพือหาผลรวม
         ั
   และค่าเฉลียของเลข 1-100

การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ