วันอาทิตย์ที่ 24 สิงหาคม พ.ศ. 2557

Post 4 Answer 5 Question on pages 94

คำถามประจำหน่วยการเรียนรู้ที่ 4
1.จงอธิบายความหมายของการเขียนโปรแกรมและขั้นตอนในการพัฒนาโปรแกรม
ตอบ
ขั้นตอนการพัฒนาโปรแกรมประกอบด้วย
  1. การวิเคราะห์ปัญหา
  2. การออกแบบโปรแกรม
  3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
  4. การทดสอบและแก้ไขโปรแกรม
  5. การทำเอกสารประกอบโปรแกรม
                                                                                                                                                           
2.ภาษาคอมพิวเตอร์ที่นำมาใช้ในการเขียนโปรแกรมมีภาษาใดบ้าง จงอธิบาย
ตอบ
  1) ภาษาเครื่อง (machine  language)
                        ภาษาเครื่องจัดเป็นภาษาคอมพิวเตอร์ภาษาเดียวที่สามารถติดต่อกับคอมพิวเตอร์ ได้โดยตรง    เพราะว่าการเขียนคำสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (binary number system) คือใช้ตัวเลข 0  และ 1 เท่านั้น   ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้รวดเร็ว   ส่วนข้อเสียของภาษาเครื่อง  คือ  เครื่องคอมพิวเตอร์ต่างชนิดกันมีลักษณะการเขียนภาษาเครื่องที่แตกต่างกันไป  และเกิดความยุ่งยากในการปรับปรุงแก้ไข  ทำให้เกิดความไม่สะดวกในการใช้งาน    ดังนั้นภาษานี้จึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม

ตัวอย่างที่  1.18  แสดงคำสั่งของภาษาเครื่องมีดังนี้ 
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง  9 + 3  แสดงได้ดังนี้
การบวกแทนด้วยรหัส                          10101010
เลข  9  เปลี่ยนเป็นเลขฐานสอง            00001001
เลข  3  เปลี่ยนเป็นเลขฐานสอง            00000011
ดังนั้น  คำสั่ง  9 + 3  เขียนเป็นภาษาเครื่องได้ดังนี้

00001001   10101010   00000011

                        2) ภาษาแอสเซมบลี (assembly  language)
                        ภาษาแอสเซมบลีหรือจะเรียกชื่ออีกอย่างว่าภาษาระดับต่ำ  ซึ่งเป็นภาษาคอมพิวเตอร์ที่พัฒนาขึ้นมาเพื่อให้ผู้เขียนโปรแกรมสามารถเขียน โปรแกรมติดต่อกับคอมพิวเตอร์ได้ง่ายกว่าภาษาเครื่อง    ส่วนการเขียนคำสั่งในภาษาแอสเซมบลีจะใช้คำย่อของภาษาอังกฤษและอ้างถึง ตำแหน่งที่อยู่ภายในคอมพิวเตอร์เป็นส่วนใหญ่  ได้แก่  MOVE, DC, DS, CL10 เป็นต้น    ผู้ที่ต้องใช้ภาษาแอสเซมบลีส่วนมากจะเป็นวิศวกรคอมพิวเตอร์  ดังนั้นภาษาแอสเซมบลีจึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม

            ตัวอย่างที่  1.19  แสดงคำสั่งของภาษาแอสเซมบลีมีดังนี้ 
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง  9 + 3  แสดงได้ดังนี้
                MOV   AX,  9
                MOV   BX, 3
                ADD   AX, BX

                        3) ภาษาระดับสูง (high  level  language)
                        ภาษาระดับสูงเป็นภาษาที่ผู้เขียนโปรแกรมสามารถเข้าใจได้ง่ายกว่าภาษาแอสเซ มบลีและภาษาเครื่อง ทั้งนี้ก็เพราะการเขียนคำสั่งของภาษาระดับสูงมีลักษณะเป็นภาษาอังกฤษ    ซึ่งอ่านแล้วเข้าใจได้ง่ายกว่าภาษาแอสเซมบลี  เช่น  ใช้คำว่า  READ, WRITE, PRINT, COMPUTE  เป็นต้น    ตัวอย่างของภาษาระดับสูงได้แก่   ภาษาฟอร์แทรน (FORTRAN), ภาษาโคบอล (COBOL),  ภาษาเบสิก (BASIC), ภาษาปาสคาล (PASCAL)  และภาษาซี (C)   เป็นต้น  ซึ่งแต่ละภาษามีประวัติพอสังเขปดังต่อไปนี้

  • ภาษาฟอร์แทรน (FORTRAN  ย่อมาจาก  FORmula  TRANslator)  พัฒนาโดยบริษัท  IBM  ระหว่างปี ค.ศ.1954  ถึง  ค.ศ.1957  ภาษานี้ใช้สำหรับการพัฒนาโปรแกรมประยุกต์ด้านวิทยาศาสตร์และวิศวกรรมศาสตร์  ที่ต้องใช้ในการคำนวณสมการคณิตศาสตร์ที่ซับซ้อน  ปัจจุบันภาษาฟอร์แทรนยังเป็นที่นิยมใช้  ในการพัฒนาโปรแกรมด้านวิทยาศาสตร์และวิศวกรรมศาสตร์
  • ภาษาโคบอล (COBOL  ย่อมาจาก  Common  Business  Oriented  Language)  พัฒนาขึ้นในปี  ค.ศ.1959  เป็นภาษาที่พัฒนาขึ้นมาเพื่อใช้ในการพัฒนาโปรแกรมประยุกต์ด้านธุรกิจและการ ค้า  ปัจจุบันโปรแกรมที่ใช้ในด้านธุรกิจจำนวนมากยังเป็นโปรแกรมที่พัฒนามาจากภาษา โคบอล
  • ภาษาเบสิก  (BASIC ย่อมาจาก  Beginners  All-purpose  Symbolic  Instructional  Code)  เป็นภาษาที่พัฒนาขึ้นโดยมีจุดประสงค์เพื่อให้ผู้เริ่มต้นพัฒนาโปรแกรมสามารถ เรียนรู้และเข้าใจการพัฒนาโปรแกรมอย่างง่าย  ภาษาเบสิกเป็นภาษาคอมพิวเตอร์ภาษาแรกที่ใช้เครื่องไมโครคอมพิวเตอร์
                                    ภาษาคอมพิวเตอร์ที่พัฒนาขึ้นในยุคแรก  ยังมีข้อจำกัดในการที่จะพัฒนาโปรแกรมขนาดใหญ่  ทั้งนี้เนื่องจากภาษาคอมพิวเตอร์เหล่านั้นขาดโครงสร้างที่ดี  ทำให้การพัฒนาโปรแกรมที่มีขนาดใหญ่และมีความซับซ้อนเป็นไปได้ยาก  ในช่วงต้นปี  ค.ศ.1970  จึงมีภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการ (Procedural  หรือ  Structural  Language)  เกิดขึ้น  ภาษาคอมพิวเตอร์ประเภทนี้จะมีความยืดหยุ่นในการพัฒนาโปรแกรม  ทำให้สามารถแก้ไขและบำรุงรักษาได้ง่าย  เนื่องจากโปรแกรมถูกแยกออกเป็นส่วน ๆ ภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการที่สำคัญคือ
  • ภาษาปาสคาล (Pascal) พัฒนาโดย  Niclaus  Wirth  ในปี ค.ศ.1971  โดยมีจุดประสงค์เพื่อใช้ในการสอนการเขียนโปรแกรมภาษาเชิงกระบวนการ  ในมหาวิทยาลัย  แต่เนื่องจากภาษาปาสคาลไม่มีคุณลักษณะที่จะสนับสนุนการพัฒนาโปรแกรมด้าน ธุรกิจและอุตสาหกรรมจึงไม่ได้รับความนิยมมากนัก
  • ภาษาซี (C)  พัฒนาขึ้นในช่วงเดียวกับภาษาปาสคาล  โดยนักวิจัยที่ห้องปฏิบัติการ  AT&T  Bell  ซึ่งได้นำเอาจุดเด่นของภาษา  BCPL  และภาษา  B  มาใช้และได้เพิ่มคุณลักษณะและชนิดข้อมูลอื่นเข้ามาด้วย  เดิมภาษาซีถือว่าเป็นภาษาคอมพิวเตอร์ที่สำคัญในการพัฒนาโปรแกรมบนระบบ ปฏิบัติการยูนิกส์  (Unix)  ซึ่งเป็นภาษาคอมพิวเตอร์ที่สามารถสร้างโปรแกรมประยุกต์ที่ทำงานได้รวดเร็ว มาก  เมื่อเทียบกับภาษาคอมพิวเตอร์อื่น ๆ
                        4) ภาษาระดับสูงมาก  (very  high  level  language)
                        ภาษาระดับสูงมาก   บางครั้งเรียกว่า  Fourth Gerneration Languages (4GLs)   เป็นภาษาที่มีลักษณะสำคัญ  คือ  ผู้เขียนโปรแกรมไม่ต้องบอกวิธีการทำงานโดยละเอียด   เพียงแต่ระบุคำสั่งให้ทำงานสั้น ๆ   ให้ภาษาระดับสูงมากเข้าใจก็เพียงพอ    ส่วนวิธีการคำนวณหรือการทำงานภาษาระดับสูงมากจะเป็นผู้จัดการเองทั้งสิ้น    บางครั้งเรียกว่า  non-procedure language
ตัวอย่างภาษาระดับสูงมาก  ได้แก่  ภาษา SQL (Structured  Query  Langauge) ซึ่งนิยมใช้กันในซอร์ฟแวร์พัฒนาระบบจัดการฐานข้อมูล   เช่น   ORACLE   เป็นต้น

                        5) ภาษาระดับธรรมชาติ  (natural   language)
                        ภาษาธรรมชาติจะเกี่ยวข้องกับระบบฐานความรู้ (knowledge based system )  และกฎอ้างอิง  (inference rules)  เพียงแต่ผู้ใช้ภาษาธรรมชาติป้อนคำถามผ่านเข้าไปในคอมพิวเตอร์ที่มีภาษา ธรรมชาติก็จะทำการวิเคราะห์คำถามแล้วไปค้นหาคำตอบจากระบบฐานความรู้ที่เก็บ ไว้
ตัวอย่างของภาษาธรรมชาติ  ได้แก่  ภาษา  PROLOG และภาษา LISP  (List  Processing Language)

                                                                                                                                  
3.จงอธิบายขั้นตอนการเริ่มสร้างโพรเจกต์ใหม่ด้วยโปรแกรม Microsoft Visual Studio
ตอบ
1)การเข้าสู่โปรแกรม คลิก Start >Programs >Microsoft Visual Studio 2008
2)การเริ่มสร้างโพรเจกต์ใหม่ คลิก Projact ของ Create จากนั้นคลิกที่ VisualC#
และเลือกปุ่ม Browse เพื่อให้ไฟล์ที่จะเก็บข้อมูลให้เป็นระเบียบในแฟ้มข้อมูลที่ต้องการ และพิมพ์ชื่อไฟล์
3)แถบเมนู เป็นเมนูหลักที่รวบรวมคำสั่งควบคุมการทำงานของโปรแกรม Microsoft Visual Studio 2008
4)แถบเครื่องมือ เป็นเครื่องมือที่ช่วยให้การเรียกใช้งานคำสั่งในเมนูบาร์ที่ใช้งานบ่อยครั้งทำได้สะดวกขึ้น
5)กล่องเครื่องมือ เป็นหน้าต่างที่แสดงกลุ่มควบคุม และส่วนประกอบต่างๆ
6)หน้าต่าง Form Design ออกแบบหน้าตาของแอพพลิเคชัน
7)หน้าต่าง Solution Explorer แสดงรายการของไอเท็ม
8)หน้าต่าง Properties Window แสดงและกำหนดคุณสมบัติเื้บื้องต้นของกลุ่มควบคุม
9)หน้าต่าง Code Editor หน้าต่างที่ใช้สำหรับเขียนโค้ดควบคุมการทำงานของแอพพลิเคชันตามที่ต้องการ 

                                                                                                                                     
4.การเขียนโปรแกรมด้วยภาษาซีซาร์ป มีลักษณะอย่างไร
ตอบ  
ภาษาซีชาร์ป(C#)เป็นภาษาเชิงวัตถุ ที่ถูกพัฒนาขึ้นจากภาษาซีพลัสพลัส(C++)โดยบริาัทไมโครซอฟต์ซึ่งได้รวบรวมข้อ ดีของภาษาต่างๆ เช่น ภาษาจาวา(Java) ภาษาเดลไฟ(Delphi) ภาษาซีพลัสพลัส(C++)เข้าไว้ด้วยกัน มีไวยากรณ์ที่เข้าใจง่าย ประสิทธิภาพและความเร็วในการทำงานสูงขึ้น ซึ่งขั้นตอนการพัฒนาโปรแกรมดังที่กล่าวไปแล้วนั้นอาจยุ่งยากและซับซ้อน สำหรับผู้ที่ยังไม่มีประสบการณ์ ปัจจุบันได้มีวอฟแวร์สำหรับช่วยพัฒนาโปรแกรมภาษา C# อยู่จำนวนมากให้เลือกใช้ซึ่งเพิ่มความสะดวกและลดข้อผิดพลาดได้มากหนึ่งในซอ ฟแวร์นั้นคือ Microsoft Visual studio 2008
                                                                                                                                
5.เมื่อได้ออกแบบโปรแกรมที่ต้องการแล้ว และจะเริ่มสร้างโปรแกรมด้วยภาษาซีซาร์ป จะต้องมีขั้นตอนในการสร้างโปรแกรมอย่างไร
ตอบ
มีขั้นตอนในการพัฒนาอย่างเป็นลำดับ 5 ขั้นตอน ดังนี้
1.การวิเคราะห์ปัญหา  เป็นขั้นตอนของการศึกษาปัญหาที่เกิดขึ้นของระบบงานปัจจุบัน จะต้องมีการศึกษาความเป็นไปได้ในการแก้ปัญหา ดังนี้
1)ความเป็นไปได้ทางเทคนิค
2)ความเป็นไปได้ด้านบุคลากร
3)ความเป็นไปได้ด้านเศรษฐสาสตร์
2.การออกแบบโปรแกรม เป็นการนำผลที่ได้จากการวิเคราะห์มาออกแบบโปรแกรม โดยอาศัยเครื่องมือต่างๆ เข้ามาช่วยเพื่อให้การออกแบบเป็นมาตรฐานมากขึ้น ซึ่งเครื่องมือในการออกแบบที่นิยมใช้ได้แก่ ผังงาน และรหัสจำลอง
3.การเขียนโปรแกรม  เป็นการนำผลที่ได้จากการออกแบบโปรแกรมด้วยผังงานหรือรหัสจำลอง มาแปลงเป็นคำสั่งของโปรแกรมในภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อนำไปประมวลผลข้อมูลและได้ผลลัพธ์ของโปรแกรมต่อไป โดยผู้เขียนโปรแกรมสามารถเลือกภาษาคอมพิวเตอร์ได้ตามความถนัดของแ่ต่ละบุคคล ต่อไป
4.การทดสอบโปรแกรม เป็นขั้นตอนการตรวจสอบความถููกต้องในการทำงาน และตรวจสอบไวยากรณ์ของภาษาคอมพิวเตอร์ที่ใช้เขียนโปรแกรม ดดยทั่วไปข้อผิดพลาดที่เกิดขึ้นจากการเขียนโปรแกรมมี 3 ชนิด
1)ข้อผิดพลาดทางไวยากรณ์
2)ข้อผิดพลาดที่เกิดขึ้นขณะรันโปรแกรม
3)ข้อผิดพลาดทางตรรกะ
5.การจัดทำเอกสารประกอบ  หมายถึง การเตรียมเอกสารอธิบายโปรแกรม ซึ่งมีความสำคัญและควรทำอย่างต่อเนื่องหลังจากการพัฒนาโปรแกรม ดดยทั่วไปเอกสารที่จัดทำมีอยู่สองประเภท คือ คู่มือผู้ใช้ และคู่มือนักเขียนโปรแกรมเมอร์
                                                                                                                                                

Post 3 Creative Chapter 4 on mind mapping style


Chapter 4 on mind mapping style


Post 2 Creative Chapter 3 on mind mapping style

Chapter 3 on mind mapping style 

 

Post 1 Choose between Activity 1 or 2 on pages 68 and explain it into your blogger.

กิจกรรมที่ 1 ให้นักเรียนเลือกปัญหาในชีวิตประจำวันมา 1 ปัญหา แล้วเขียนอธิบายการถ่ายทอดความคิดในการแก้ปัญหาด้วยการใช้ข้อความหรือคำบรรยาย

การถ่ายทอดความคิดในการแก้ปัญหาในชีวิตประจำวันด้วยการบรรยาย

การเตรียมตัวไปโรงเรียน
รายละเอียดของปัญหา : การเตรียมไปโรงเรียน
การวิเคราะห์ : ขั้นตอนการเตรียมตัวไปโรงเรียน
การออกแบบขั้นตอนวิธี : 1.นาฬิกาปลุกดัง
                                 2.ตรวจสอบว่าเป็นวันเปิดเรียนหรือไม่
                                    - ถ้าไม่ใช่วันเปิดเรียน ให้นอนหลับต่อ
                                    - ถ้าใช่วันเปิดเรียน ให้ลุกขึ้นมา อาบน้ำ แต่งตัว กินข้าว
                                 3.ตรวจสอบว่ามีฝนตกหรือไม่ก่อนออกจากบ้านไปโรงเรียน
                                   - ถ้าฝนตกให้หยิบร่ม แล้วทำข้อ 4
                                   - ถ้าฝนไม่ตก ให้ทำข้อ 4
                                 4.ออกไปโรงเรียน
 
                                

วันเสาร์ที่ 23 สิงหาคม พ.ศ. 2557

การถ่ายถอดความคิดในการแก้ปัญหาโดยการใช้รหัสจำลอง พร้อม 1 ตัวอย่าง

5.การถ่ายถอดความคิดในการแก้ปัญหาโดยการใช้รหัสจำลอง พร้อม 1 ตัวอย่าง

เป็นรหัสคำสั่งที่ใช้เขียนเลียนแบบคำสั่งโปรแกรมอย่างย่อ รหัสจำลองจะใกล้เคียงกับภาษาคอมพิวเตอร์ระดับสูง ซึ่งเป็นภาษาอังกฤษ เช่น
 

 

การถ่ายถอดความคิดในการแก้ปัญหาโดยการใช้สัญลักษณ์ พร้อม 1 ตัวอย่าง

4.การถ่ายถอดความคิดในการแก้ปัญหาโดยการใช้สัญลักษณ์ พร้อม 1 ตัวอย่าง

    เป็นการถ่ายทอดความคิดในรูปแบบแผนภาพ ใช้สัญลักษณ์ต่างๆ เรียกว่า การเขียนแผนผัง(flowchart) ใช้สำหรับการสื่อสารขั้นตอนวิธีในการแก้ปัญหาให้เข้าใจตรงกัน เช่น

การออกแบบขั้นตอนวิธีด้วยผังงาน 

 

การถ่ายถอดความคิดโดยการแก้ปัญหาในการเขียนบรรยาย พร้อม 1 ตัวอย่าง


3.การถ่ายถอดความคิดโดยการแก้ปัญหาในการเขียนบรรยาย พร้อม 1 ตัวอย่าง
 
จงเขียนผังงานสำหรับอ่านข้อมูลซึ่งประกอบด้วย เลขประจำตัว ชื่อ อายุ และความสูงของนักเรียนหนึ่งคน แล้วพิมพ์ทางจอภาพ
รายละเอียดของปัญหา : พิมพ์เลขประจำตัว ชื่อ อายุ และความสูงของนักเรียน
การวิเคราะห์ : ขั้นตอนการพิมพ์เลขประจำตัว ชื่อ อายุ และความสูขของนักเรียน
การออกแบบขั้นตอนวิธี
1.ข้อมูลออกหรือผลลัพธ์ คือ เลขประจำตัว ชื่อ อายุ และความสูงนักเรียน
2.รับข้อมูลเข้า ได้แก่
เลขประจำตัว แทนด้่วย id
ชื่อ แทนด้วย name
อายุแทนด้วย age
ความสูง แทนด้วย height
3.ขั้นตอนการประมวลผลดังนี้
 
 

วันพฤหัสบดีที่ 21 สิงหาคม พ.ศ. 2557

มุมเทคโนโลยี


มุมเทคโนโลยี

ความสามารถของคอมพิวเตอร์ตามลำดับก่อน-หลัง มีดังนี้


1.การกำหนดค่าเริ่มต้น (initalization)คือ การกำหนดค่าให้กับตัวแปรบางชนิด
2.การรับข้อมูล (input) คือ การรับตัวแปรเข้ามา ซึ่งตัวแปรจะได้จากการวิเคราห์โจทย์ โดยการรับข้อมูลจะทำก่อนการนำตัวแปรมาใช้งาน
3.การคำนวณ(computation) การคำนวณด้วยคอมพิวเตอร์จะต้องมีขั้นตอนการคำนวณตามลำดับก่อน-หลังดังนี้

  ลำดับการทำงานของตัวกระทำทางคณิตศาสตร์ ได้แก่ ^ * / + - และสามารถเปลี่ยนลำดับได้ด้วยเครื่องหมาย ( ) ตัวอย่างเช่น 
   2 + 3 * 4 เขียนในรูปแบบของคอมพิวเตอร์ได้เป็น 
                                                                          2 + 3 * 4 
ผลลัพธ์มีค่าเท่ากับ 14  
    4.การแสดงข้อมูล (output) คือ การแสดงค่าซึ่งจะทำหลังจากการรับข้อมูลและการคำนวณ โดยตัวแปรที่จะแสดงค่า คือ ตัวแปรที่โจทย์ต้องการผลลัพธ์
   5.การเปรียบเทียบหรือการเลือก (selection) เป็นการเลือกทิศทางการทำงาน โดยมีเงื่อนไขในการเปรียบเทียบที่ชัดเจน

   
   6.การเปรียบเทียบเชิงตรรกะ ดังตารางต่อไปนี้


   ลำดับความสำคัญของการเปรียบเทียบเชิกตรรกะ ได้แก่ NOT AND OR ตัวอย่างการเขียนนิพจน์ทางคณิตศาสตร์มีดังนี้





วันพฤหัสบดีที่ 14 สิงหาคม พ.ศ. 2557

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


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


1)  การวิเคราะห์และกำหนดรายละเอียดของปัญหา  (State The Problem) ขั้นตอนนี้เป็นขั้นตอนแรกสุดก่อนที่จะลงมือแก้ปัญหา

แต่ผู้แก้ปัญหามักจะมองข้ามไป

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

             การระบุข้อมูลเข้า

ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา 

         การระบุข้อมูลออก 
ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
             การกำหนดวิธีประมวลผล
ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคำตอบหรือข้อมูลออก  

2) การเลือกเครื่องมือและออกแบบขั้นตอนวิธี (Tools And Algorithm Development) ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน

หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่

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

ขั้นตอนนี้จะเริ่มจากการเลือกเครื่องมือที่ใช้ในการแก้ปัญหา

โดยพิจารณาความเหมาะสมระหว่างเครื่องมือกับเงื่อนไขต่างๆ ของปัญหา

ซึ่งหมายรวมถึงความสามารถของเครื่องมือในการแก้ปัญหาดังกล่าว
และสิ่งที่สำคัญที่สุดคือความคุ้นเคยในการใช้งานเครื่องมือนั้นๆ ของผู้แก้ปัญหา

อีกสิ่งหนึ่งที่ สำคัญในการแก้ปัญหา คือ

ยุทธวิธีที่ใช้ในการแก้ปัญหา หรือที่เราเรียกว่า “ขั้นตอนวิธี” (Algorithm) ในการแก้ปัญหา

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

3) การดำเนินการแก้ปัญหา (Implementation) หลังจากที่ออกแบบขั้นตอนวิธีเรียบร้อยแล้ว

ขั้นตอนนี้เป็นขั้นตอนที่ต้องลงมือแก้ปัญหาโดยใช้เครื่องมือที่เลือกไว้

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

4) การตรวจสอบและปรับปรุง (Refinement) หลังจากที่ลงมือแก้ปัญหาแล้ว

ต้องตรวจสอบให้แน่ใจว่า

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