วันอังคารที่ 3 กันยายน พ.ศ. 2556

ภาษาปาสคาล


ภาษาปาสคาล 
(Pascal Language)



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

ในอดีตภาษาคอมพิวเตอร์ที่เรียกว่าฟอร์แทรนและโคบอลเป็นภาษาที่นิยมให้มากที่สุด ภาษาฟอร์แทรนพัฒนาขึ้นใช้ในปี พ.ศ. 2499 เป็นภาษาที่ใช้เพื่อประยุกต์งานด้านตัวเลขได้ดีเยี่ยม ส่วนภาษาโคบอลพัฒนาขึ้นในปี พ.ศ. 2502 มุ่งใช้งานด้านประมวลผลธุรกิจ สำหรับภาษาปาสคาลได้รับการพัฒนาขึ้นในปี พ.ศ. 2513 โดย นิเคลาส์ เวียร์ธ(Niklaus Wirth) แห่งเทคนิเคิล ยูนิเวอร์ซิตี้ ในเมืองซูริค ประเทศสวิสเซอร์แลนด์ ซึ่งกำลังเป็นที่นิยมแพร่หลายในปัจจุบันและจะนิยมกันมากในอนาคต จุดประสงค์ของการใช้ภาษาปาสคาลเบื้องแรกก็คือ ฝึกนิสัยการเขียนโปรแกรมให้มีระเบียบระบบหรือฝึกการเขียนโปรแกรมโครงสร้าง ภาษาปาสคาลเป็นภาษาที่ออกแบบขึ้นให้มีความง่ายต่อการทำงาน การเข้าใจและการใช้ ปาสคาลเป็นชื่อของนักคณิตศาสตร์ชาวฝรั่งเศสชื่อว่า Blaise Pascal ซึ่งได้คิดเครื่องคำนวณ
ระบบกลไกขึ้นเป็นคนแรกจึงได้รับเกียรติให้ตั้งเป็นชื่อภาษาคอมพิวเตอร์ซึ่งเวียร์ธเป็นผู้สร้างภาษานี้ขึ้น ใช้กันกว้างขวางในสหรัฐอเมริกาและยุโรปเพื่อสอนการเขียนโปรแกรมโครงสร้าง และใช้เป็นภาษาเอนกประสงค์(general purpose) ซึ่งประยุกต์ใช้ได้ทั้งคอมพิวเตอร์เครื่องใหญ่และไมโครคอมพิวเตอร์โปรแกรมง่าย ๆ

โปรแกรมภาษาปาสคาลที่สมบูรณ์และง่ายที่สุด

PROGRAM MyfirstProgram(OUTPUT);
BEGIN
WRITELN(‘This is my program);
END.

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

โครงสร้างของโปรแกรมปาสคาล
โครงสร้างของโปรแกรมประกอบด้วยการตั้งหัวเรื่อง โดยการตั้งชื่อของโปรแกรมขึ้นเองในบรรทัดแรกด้วยคำว่า PROGRAM MyfirstProgram คำว่าBEGIN เป็นส่วนที่แสดงจุดเริ่มต้นของโปรแกรม ในทางตรงกันข้าม END. แสดงว่าเป็นส่วนของโปรแกรมที่สิ้นสุดการทำงาน และเมื่อจั่วหัวโปรแกรมจะตามด้วยชื่อโปรแกรมที่เราตั้งเอง แล้วตามด้วยเครื่องหมาย


โครงสร้างขั้นพื้นฐาน
1. ส่วนประกาศตัวแปร ( var .. )
2
. ส่วนการทำงาน ( begin .. ไปถึง end.)แต่ความจริงยังมีส่วนประกอบ อีกหลายส่วน เช่น การประกาศค่าคงที่ การเรียกยูนิตมาใช้การเขียน โพรซีเจอร์ และฟังก์ชั่น การประกาศตัวแปร local และ global





วันอังคารที่ 6 สิงหาคม พ.ศ. 2556

โปรแกรมคอมพิวเตอร์


โปรแกรมคอมพิวเตอร์ (Computer Program)

คือ กลุ่มชุดคำสั่งที่ใช้อธิบายชิ้นงาน หรือกลุ่มงานที่จะประมวลผลโดยคอมพิวเตอร์ โปรแกรมคอมพิวเตอร์อาจหมายถึง ซอฟต์แวร์ แอปพลิเคชัน หรือ โปรแกรม โปรแกรมคอมพิวเตอร์ส่วนใหญ่นั้นเป็นชุดคำสั่งที่ออกแบบตามขั้นตอนวิธี โดยปกติแล้วเขียนโดยโปรแกรมเมอร์ หรือไม่ก็สร้างโดยโปรแกรมอื่น โปรแกรมคอมพิวเตอร์ชุดหนึ่ง ๆ อาจเขียนขึ้นด้วยระบบรหัส หรือที่เรียกว่า ภาษาเครื่อง ซึ่งมักเขียนได้ยากและเหมาะกับช่างเทคนิคเฉพาะทาง ภายหลังจึงได้มีการสร้างภาษาโปรแกรมที่ใกล้เคียงภาษามนุษย์มากขึ้น เช่น ภาษาแอสเซมบลี (Assembly) ภาษาซี (C) ภาษาโคบอล (COBOL) ภาษาเบสิก (BASIC) ภาษา C# ภาษาจาวา เป็นต้น ผู้เขียนโปรแกรมคอมพิวเตอร์อาจเขียนโปรแกรมไว้ใช้ส่วนตัว หรือเพื่อให้ผู้อื่นใช้ต่อในการเขียนโปรแกรม ผู้เขียนจะต้องเข้าใจขั้นตอนวิธี (ขั้นตอนวิธี) และภาษาที่จะใช้เป็นอย่างดี จึงจะสามารถเขียนโปรแกรมเพื่อควบคุมเครื่องให้ทำงานได้ตามความต้องการ

ขั้นตอนการพัฒนาโปรแกรม
การวิเคราะห์ปัญหา
การวิเคราะห์ปัญหา ประกอบด้วยขั้นตอนต่างๆ ดังนี้
1.     กำหนดวัตถุประสงค์ของงาน เพื่อพิจารณาว่าโปรแกรมต้องทำการประมวลผลอะไรบ้าง
2.     พิจารณาข้อมูลนำเข้า เพื่อให้ทราบว่าจะต้องนำข้อมูลอะไรเข้าคอมพิวเตอร์ ข้อมูลมีคุณสมบัติเป็นอย่างไร ตลอดจนถึงลักษณะและรูปแบบของข้อมูลที่จะนำเข้า
3.     พิจารณาการประมวลผล เพื่อให้ทราบว่าโปรแกรมมีขั้นตอนการประมวลผลอย่างไรและมีเงื่อนไปการประมวลผลอะไรบ้าง
4.     พิจารณาข้อสนเทศนำออก เพื่อให้ทราบว่ามีข้อสนเทศอะไรที่จะแสดง ตลอดจนรูปแบบและสื่อที่จะใช้ในการแสดงผล
การออกแบบโปรแกรม
การออกแบบขั้นตอนการทำงานของโปรแกรมเป็นขั้นตอนที่ใช้เป็นแนวทางในการลงรหัสโปรแกรม ผู้ออกแบบขั้นตอนการทำงานของโปรแกรมอาจใช้เครื่องมือต่างๆ ช่วยในการออกแบบ อาทิเช่น คำสั่งลำลอง (Pseudocode) หรือ ผังงาน (Flow chart) การออกแบบโปรแกรมนั้นไม่ต้องพะวงกับรูปแบบคำสั่งภาษาคอมพิวเตอร์ แต่ให้มุ่งความสนใจไปที่ลำดับขั้นตอนในการประมวลผลของโปรแกรมเท่านั้น
การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การเขียนโปรแกรมเป็นการนำเอาผลลัพธ์ของการออกแบบโปรแกรม มาเปลี่ยนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้เขียนโปรแกรมจะต้องให้ความสนใจต่อรูปแบบคำสั่งและกฎเกณฑ์ของภาษาที่ใช้เพื่อให้การประมวลผลเป็นไปตามผลลัพธ์ที่ได้ออกแบบไว้ นอกจากนั้นผู้เขียนโปรแกรมควรแทรกคำอธิบายการทำงานต่างๆ ลงในโปรแกรมเพื่อให้โปรแกรมนั้นมีความกระจ่างชัดและง่ายต่อการตรวจสอบและโปรแกรมนี้ยังใช้เป็นส่วนหนึ่งของเอกสารประกอบ
การทดสอบและแก้ไขโปรแกรม
การทดสอบโปรแกรมเป็นการนำโปรแกรมที่ลงรหัสแล้วเข้าคอมพิวเตอร์ เพื่อตรวจสอบรูปแบบกฎเกณฑ์ของภาษา และผลการทำงานของโปรแกรมนั้น ถ้าพบว่ายังไม่ถูกก็แก้ไขให้ถูกต้องต่อไป ขั้นตอนการทดสอบและแก้ไขโปรแกรม อาจแบ่งได้เป็น 3 ขั้น
1.     สร้างแฟ้มเก็บโปรแกรมซึ่งส่วนใหญ่นิยมนำโปรแกรมเข้าผ่านทางแป้นพิมพ์โดยใช้โปรแกรมประมวลคำ
2.     ใช้ตัวแปลภาษาคอมพิวเตอร์แปลโปรแกรมที่สร้างขึ้นเป็นภาษาเครื่อง โดยระหว่างการแปลจะมีการตรวจสอบความถูกต้องของรูปแบบและกฎเกณฑ์ในการใช้ภาษา ถ้าคำสั่งใดมีรูปแบบไม่ถูกต้องก็จะแสดงข้อผิดพลาดออกมาเพื่อให้ผู้เขียนนำไปแก้ไขต่อไป ถ้าไม่มีข้อผิดพลาด เราจะได้โปรแกรมภาษาเครื่องที่สามารถให้คอมพิวเตอร์ประมวลผลได้
3.     ตรวจสอบความถูกต้องของการประมวลผลของโปรแกรม โปรแกรมที่ถูกต้องตามรูปแบบและกฎเกณฑ์ของภาษา แต่อาจให้ผลลัพธ์ของการประมวลผลไม่ถูกต้องก็ได้ ดังนั้นผู้เขียนโปรแกรมจำเป็นต้องตรวจสอบว่าโปรแกรมประมวลผลถูกต้องตามต้องการหรือไม่ วิธีการหนึ่งก็คือ สมมติข้อมูลตัวแทนจากข้อมูลจริงนำไปให้โปรแกรมประมวลผลแล้วตรวจสอบผลลัพธ์ว่าถูกต้องหรือไม่ ถ้าพบว่าไม่ถูกต้องก็ต้องดำเนินการแก้ไขโปรแกรมต่อไป การสมมติข้อมูลตัวแทนเพื่อการทดสอบเป็นสิ่งที่มีความสำคัญเป็นอย่างมาก ลักษณะของข้อมูลตัวแทนที่ดีควรจะสมมติทั้งข้อมูลที่ถูกต้องและข้อมูลที่ผิดพลาด เพื่อทดสอบว่าโปรแกรมที่พัฒนาขึ้นสามารถครอบคลุมการปฏิบัติงานในเงื่อนไขต่างๆ ได้ครบถ้วน นอกจากนี้อาจตรวจสอบการทำงานของโปรแกรมด้วยการสมมติตัวเองเป็นคอมพิวเตอร์ทีจะประมวลผล แล้วทำตามคำสั่งทีละคำสั่งของโปรแกรมนั้นๆ วิธีการนี้อาจทำได้ยากถ้าโปรแกรมมีขนาดใหญ่ หรือมีการประมวลผลที่ซับซ้อน
การทำเอกสารประกอบโปรแกรม
การทำเอกสารประกอบโปรแกรมเป็นงานที่สำคัญของการพัฒนาโปรแกรม เอกสารประกอบโปรแกรมช่วยให้ผู้ใช้โปรแกรมเข้าใจวัตถุประสงค์ ข้อมูลที่จะต้องใช้กับโปรแกรม ตลอดจนผลลัพธ์ที่จะได้จากโปรแกรม การทำโปรแกรมทุกโปรแกรมจึงควรต้องทำเอกสารกำกับ เพื่อใช้สำหรับการอ้างอิงเมื่อจะใช้งานโปรแกรมและเมื่อต้องการแก้ไขปรับปรุงโปรแกรม เอกสารประกอบโปรแกรมที่จัดทำ ควรประกอบด้วยหัวข้อต่อไปนี้
1.     วัตถุประสงค์
2.     ประเภทและชนิดของคอมพิวเตอร์และอุปกรณ์ที่ใช้ในโปรแกรม
3.     วิธีการใช้โปรแกรม
4.     แนวคิดเกี่ยวกับการออกแบบโปรแกรม
5.     รายละเอียดโปรแกรม
6.     ข้อมูลตัวแทนที่ใช้ทดสอบ
7.     ผลลัพธ์ของการทดสอบ
การบำรุงรักษาโปรแกรม
เมี่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูและหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรม และปรับปรุงโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น หรือในการใช้งานโปรแกรมไปนานๆ ผู้ใช้อาจต้องการเปลี่ยนแปลงการทำงานของระบบงานเดิมเพื่อให้เหมาะกับเหตุการณ์นักเขียนโปรแกรมก็จะต้องคอยปรับปรุงแก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั่นเอง

วันอังคารที่ 9 กรกฎาคม พ.ศ. 2556

การถ่ายทอดความคิดในการแก้ปัญหาด้วย"อัลกอริทึ่ม"

ซูโดโค้ด  (Pseudocodes)

                เป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม  โดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้าง  จะช่วยให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ  ให้เป็นโปรแกรมได้ง่ายขึ้น  ส่วนใหญ่มักใช้คำเฉพาะ  (Reserve Word)  ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่  ซูโดโค้ดที่ดี  จะต้องมีความชัดเจน  สั้น  และได้ใจความ  ข้อมูลต่าง ๆ  ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร
รูปแบบ
Algorithm  <ชื่อของอัลกอริทึม>
1……………………………….
2……………………………….
3…………………………………
END
หลักการเขียนซูโดโค้ด
1.         ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
2.        ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
3.        ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
4.       แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
5.        กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
โปรแกรมส่วนใหญ่ประกอบด้วยกิจกรรม 3 ส่วน 
1. input 
2. process 
3. output 
เช่น โปรแกรมหาผลรวม หาค่าเฉลี่ย หาค่าสูงสุด ต่ำสุด


การเขียนผังงาน ( Flowchart )
ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่า 
ผังงานแบ่งได้ 2 ประเภท 
1. ผังงานระบบ (System Flowchart) 
คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย 
2. ผังงานโปรแกรม (Program Flowchart) 
คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์ 
ประโยชน์ของผังงาน 
1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define) 
2. แสดงลำดับการทำงาน (Step Flowing) 
3. หาข้อผิดพลาดได้ง่าย (Easy to Debug) 
4. ทำความเข้าใจโปรแกรมได้ง่าย (Easy to Read) 
5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)
การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National
Standards Institute ) ในการสร้างผังงาน ดังตัวอย่างที่แสดงในรูปต่อไปนี้

                                                                                  


วันอังคารที่ 2 กรกฎาคม พ.ศ. 2556

กระบวนการเทคโนโลยีสารสนเทศ

  1. วิเคราะห์และกำหนดรายละเอียดของปัญหา (State The Problem) ขั้นตอนนี้เป็นขั้นตอนแรกสุดก่อนที่จะลงมือแก้ปัญหาแต่ผู้แก้ปัญหามักจะมองข้ามไปจุดประสงค์ของขั้นตอนนี้ คือการทำความเข้าใจกับปัญหาเพื่อแยกให้ออกว่าข้อมูลที่กำหนดมาในปัญหาหรือ
เงื่อนไขของปัญหาคืออะไร อีกทั้งวิธีการที่ใช้ประมวลผลกล่าวโดยสรุปมีองค์ประกอบในการวิเคราะห์ดังนี้
การระบุข้อมูลเข้า (input specification)
ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา
การระบุข้อมูลออก (output specification)
ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
การกำหนดวิธีประมวลผล (process specification)
ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคำตอบหรือข้อมูลออก
 
 2. การเลือกเครื่องมือและออกแบบขั้นตอน (Tools And Algorithm Development) ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วนหลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่และสิ่งที่ต้องการหาในการแก้ปัญหาอย่างละเอียดถี่ถ้วนหลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่และสิ่งที่ต้องการหาในขั้นตอนที่ 1  แล้วเราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหาขั้นตอนนี้จำเป็นต้องอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลักหากผู้แก้ปัญหาเคยพบกับปัญหาทำนองนี้มาแล้วก็สามารถดำเนินการตามแนวทางที่เคยปฏิบัติมา ขั้นตอนนี้จะเริ่มจากการเลือกเครื่องมือที่ใช้ในการแก้ปัญหาโดยพิจารณาความเหมาะสมระหว่างเครื่องมือกับเงื่อนไขต่างๆ ของปัญหาซึ่งหมายรวมถึงความสามารถของเครื่องมือในการแก้ปัญหาดังกล่าวและสิ่งที่สำคัญที่สุดคือความคุ้นเคยในการใช้งานเครื่องมือนั้นๆ ของผู้แก้ปัญหา อีกสิ่งหนึ่งที่ สำคัญในการแก้ปัญหา คือยุทธวิธีที่ใช้ในการแก้ปัญหา หรือที่เราเรียกว่า “ขั้นตอนวิธี” (Algorithm) ในการแก้ปัญหาหลังจากที่เราได้เครื่องมือช่วยแก้ปัญหาแล้วผู้แก้ปัญหาต้องวางแผนว่าจะใช้เครื่องมือดังกล่าวเพื่อให้ได้ผลลัพธ์ที่ถูกต้องที่สุด การออกแบบขั้นตอนวิธีในการแก้ปัญหาผู้แก้ปัญหาควรใช้แผนภาพหรือเครื่องมือในการแสดงขั้นตอนการทำงานเพื่อให้ง่ายต่อความเข้าใจ เช่น ผังงาน (Flowchart) ที่จำลองวิธีขั้นตอนการแก้ปัญหาในรูปแบบสัญลักษณ์รหัสจำลอง (Pseudo Code) ซึ่งเป็นการจำลองขั้นตอนวิธีการปัญหาในรูปแบบคำบรรยายการใช้เครื่องมือช่วยออกแบบดังกล่าวนอกจากแสดงกระบวนการที่ชัดเจนแล้วยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาดของวิธีการที่ใช้ได้ง่ายและแก้ไขได้อย่างรวดเร็


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

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

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

ขั้นตอนทั้ง 4 ขั้นตอนดังกล่าวข้างต้น เป็นเสมือนขั้นบันได (Stair) ที่ทำให้มนุษย์ประสบความสำเร็จในการแก้ปัญหาต่างๆได้ รวมทั้งการเขียนหรือพัฒนาโปรแกรมคอมพิวเตอร์เพื่อแก้ปัญหา ก็ต้องใช้กระบวนการตามขั้นตอนทั้ง 4 นี้เช่นกัน