การเขียนโปรแกรมคอมพิวเตอร์ 1
DESCRIPTION
การเขียนโปรแกรมคอมพิวเตอร์ 1. อาจารย์สุรัตน์ สิงห์ทอง โทร. 0872257745 วิทยาลัยชุมชนมุกดาหาร. Tel. 0872257745 ,E-mail :[email protected]. เราเขียนโปรแกรมไปเพื่ออะไร. - PowerPoint PPT PresentationTRANSCRIPT
การเขี�ยนโปรแกรมการเขี�ยนโปรแกรมคอมพิ�วเตอร� คอมพิ�วเตอร� 11
อาจารย�สุ�ร�ตน� สุ�งห์�ทอง อาจารย�สุ�ร�ตน� สุ�งห์�ทอง โทรโทร . .08722577450872257745
ว�ทยาลั�ยชุ�มชุนม�กดาห์ารว�ทยาลั�ยชุ�มชุนม�กดาห์ารTel. 0872257745 ,E-
mail :[email protected]
เราเขี�ยนโปรแกรมไปเพิ !ออะไร • การเขี�ยนโปรแกรมก#เห์ม อนการแก$โจทย�ป%ญห์า เราจะต$อง
ทราบว(าเราต$องการอะไรเพิ !อน)าไป สุร$างเป*นโปรแกรมให์ม(ขี,-นมาตามท�!เราต$องการ
• โปรแกรมคอมพิ�วเตอร� ค อ ค)าสุ�!งห์ร อชุ�ดค)าสุ�!ง ท�!เขี�ยนขี,-นมา เพิ !อสุ�!งให์$เคร !องคอมพิ�วเตอร�ท)างานตามท�!เราต$องการ เรา
จะให์$คอมพิ�วเตอร�ท)าอะไรก#เขี�ยนเป*นค)าสุ�!ง ซึ่,!งต$องสุ�!งเป*น ขี�-นตอนแลัะแต(ลัะขี�-นตอนต$องท)าอย(างลัะเอ�ยดแลัะครบถ้$วน
ซึ่,!งจะเก�ดเป*นงานชุ�-นห์น,!งขี,-นมาม�ชุ !อเร�ยกว(า "โปรแกรม " ซึ่อฟต�แวร�จะแบ(งออกเป*นประเภทให์ญ( ๆ ได$ 2 ประเภท ค อ
1. ซึ่อฟต�แวร�ระบบ (System Software) 2. ซึ่อฟต�แวร�ประย�กต� (Application
Software)
ซึ่อฟต�แวร�ระบบ (System Software)
• OS (Operating System) เช่�น DOS UNIX LINUX WINDOWS
• Translation Program เช่�น Assembler อิ�นเตอิร์พร์�เตอิร์ (Interpreter) คอิมไพเลอิร์ (Compiler)
• Utility Program เช่�น Scan Disk, Defragmenter, Disk Cleanup, Norton Utility
ซึ่อฟต�แวร�ประย�กต� ซึ่อฟต�แวร�ประย�กต� ((Application Software) Application Software) •User Program เช่�น โปร์แกร์มร์ะบบ
บ�ญช่�,โปร์แกร์มควบค�มสต�อิกส�นค�า,โปร์แกร์มแฟ้ มทะเบ�ยนปร์ะว�ต�,โปร์แกร์มค#านวณภาษี�,โปร์แกร์มคอิดเงิ�นเด)อิน เป*นต�น
•Package Program เช่�น Microsoft Office (MS-Word,MS-Excel,MS-Access,MS-PowerPoint) CorelDraw, Photoshop, Internet Explorer , PageMaker
คอมพิ�วเตอร� ค ออะไร •คอิมพ�วเตอิร์เป*นอิ�ปกร์ณอิ�เล�ก
ทร์อิน�คอิย�างิหน,-งิท�-มน�ษียสร์�างิขึ้,/นเพ)-อิเสร์�มความสามาร์ถขึ้อิงิมน�ษีย
ในด�านการ์ร์�บร์2 � การ์จำ#า การ์ ค#านวณ การ์แสดงิอิอิก และการ์
เปร์�ยบเท�ยบต�ดส�นใจำ
• ในการท�!จะสุ�!งให์$เคร !องคอมพิ�วเตอร�ท)างานโดยต$องอาศั�ยมน�ษย�เพิ !อป5อนค)าสุ�!งเขี$าไปในเคร !องคอมพิ�วเตอร� ซึ่,!งค)าสุ�!งน�-นจะต$องเป*นค)าสุ�!งท�!เคร !องเขี$า น�-นค อ ภาษาเคร !องห์ร อท�!เร�ยกเป*นภาษาอ�งกฤษว(า Machine Language ซึ่,!งประกอบด$วย ต�วเลัขี 0 ก�บ 1 เท(าน�-น10010
0101010001110
คอมพิ�วเตอร� ค ออะไร
ขี�-นตอนการท)างานขีองระบบขี�-นตอนการท)างานขีองระบบคอมพิ�วเตอร�คอมพิ�วเตอร�
Input Process
Output
Memory
ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ((Computer AlgorithmsComputer Algorithms))
วงจรการพิ�ฒนาโปรแกรม (Program Development Life Cycle: PDLC)
การว�เคราะห์�โปรแกรม (Program Analysis) การออกแบบโปรแกรม (Program Design) การเขี�ยนโปรแกรม (Program Coding) การทดสุอบโปรแกรม (Program Testing) การทบทวนการท)างานขีองโปรแกรมคร�-งสุ�ดท$าย
(Program Formalization) การบ)าร�งร�กษาโปรแกรม (Program Maintenance)
ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ((Computer AlgorithmsComputer Algorithms)) 1. ว�เคราะห์�โปร์แกร์ม• ตรวจสุอบ Program Specification Package• ห์าร อก�บน�กว�เคราะห์�ระบบ (SA) แลัะผู้:$ใชุ$• ก)าห์นดองค�ประกอบขีองโปรแกรม เชุ(น อ�นพิ�ต เอาต�พิ�ต การประมวลัผู้ลั
2. ออกแบบโปรแกรม• แบ(งห์น$าท�!ห์ลั�ก (Main Module) ขีองโปรแกรมออกเป*น Module ต(างๆ• ออกแบบอ�ลักอร�ท,มให์$แต(ลัะโมด:ลั• ทดสุอบผู้ลัลั�พิธี�ท�!ได$จากอ�ลักอร�ท,ม
6. บ)าร�งร�กษาโปรแกรม• แก$ไขี Error ท�!พิบระห์ว(างการใชุ$งานโปรแกรมจร�งโดยผู้:$ใชุ$• ปร�บปร�งแลัะเพิ�!มเต�มความสุามารถ้ให์$ก�บโปรแกรมมากขี,-น
3. เขี�ยนโปรแกรม• เปลั�!ยนอ�ลักอร�ท,มใน
ขี�-นตอนท�! 2 มาเป*นภาษาโปรแกรมม�!ง• เขี�ยนโปรแกรมแลัะทดลัองร�นโปรแกรมด:
5. ทบทวนการท)างานขีองโปรแกรมคร�-งสุ�ดท$าย• ลับโค$ดท�!ใม(ใชุ$ออกให์$ห์มด แลั$วลัองร�นโปรแกรมด:ว(า ท)างานได$ด�งเด�มห์ร อไม(• รวบรวมเอกสุารท�!เก�!ยวท�-งห์มดให์$ SA
4. ทดสุอบโปรแกรม• เม !อพิบ Error ขีองโปรแกรมให์$แก$ไขีท�นท�• การ Error อาจเก�ดขี,-นจากการเขี�ยนไวยากรณ์�ขีองภาษาผู้�ดห์ร ออาจผู้�ดท�!อ�ลักอร�ท,มก#ได$
วงจรการพิ�ฒนา
โปรแกรม
ภาพร์วมวงิจำร์การ์พ�ฒนาโปร์แกร์ม (PDLC)
การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis))การว�เคราะห์�โปรแกรมแต(ลัะอย(างม�ห์ลั�กเกณ์ฑ์�แลัะ
รายลัะเอ�ยด แบ(งได$ 5 ห์�วขี$อ ด�งน�- 1 . การว�เคราะห์�ห์าว�ตถ้�ประสุงค�ขีองการเขี�ยนโปรแกรม
ผู้:$เขี�ยนโปรแกรมจะต$องห์าว�ตถ้�ประสุงค�จากงานท�!จะเขี�ยนโปรแกรม ว(าต$องการเขี�ยน โปรแกรมเพิ !อแก$ป%ญห์าอะไรบ$าง
2 . การว�เคราะห์�ห์าร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการการก)าห์นดร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการจาก
โปรแกรม ซึ่,!งร:ปแบบผู้ลัลั�พิธี�อาจอย:(ในลั�กษณ์ะขีองขี$อความห์ร อต�วเลัขี ห์ร อตาราง ห์ร อแผู้นภ:ม� ห์ร ออาจใชุ$ผู้สุมก�นระห์ว(างต�วเลัขีก�บขี$อความ ห์ร อขี$อความก�บต�วเลัขี แลัะตารางก#ได$
การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))การว�เคราะห์�โปรแกรมแต(ลัะอย(างม�ห์ลั�กเกณ์ฑ์�แลัะรายลัะเอ�ยด
แบ(งได$ 5 ห์�วขี$อ ด�งน�- 3 . การว�เคราะห์�ห์าขี$อม:ลัน)าเขี$าท�!ต$องใสุ(เขี$าไปในโปรแกรม
ผู้:$เขี�ยนโปรแกรมจะต$องห์าขี$อม:ลัน)าเขี$าจากผู้ลัลั�พิธี�ท�!ได$จากโปรแกรม โดยค)าน,งถ้,งขี�-นตอนว�ธี�การค)านวณ์ แลัะขี$อม:ลัท�!จ)าเป*นต$องใสุ(เขี$าไปเพิ !อให์$ได$ผู้ลัลั�พิธี�ท�!ต$องการ
4 . การว�เคราะห์�ห์าต�วแปรท�!จ)าเป*นต$องใชุ$ในโปรแกรมการต�-งชุ !อต�วแปรท�!ใชุ$ในการเก#บขี$อม:ลัแลัะผู้ลัลั�พิธี�ท�-งห์มด
ภายในโปรแกรม รวมถ้,งต�วแปรบางต�วท�!ใชุ$ในการน�บจ)านวนรอบขีองการท)างานในโปรแกรม
5 . การว�เคราะห์�ห์าขี�-นตอนว�ธี�การท)างานขีองโปรแกรมเป*นการห์าลั)าด�บขี�-นตอนว�ธี�การท)างานขีองโปรแกรม ห์ร อ
เร�ยกว(า อ�ลักอร�ท,ม (Algorithm) จะขี,-นอย:(ก�บลั�กษณ์ะขีองการแก$ป%ญห์าขีองแต(ลัะโปรแกรม
การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))
ว�ธี�การเขี�ยนอ�ลักอร�ท,ม1.1. เร�!มต$นท)างานเร�!มต$นท)างาน2.2. การก)าห์นดค(า ใชุ$ร:ปแบบ การก)าห์นดค(า ใชุ$ร:ปแบบก)าห์นด
ค(า…………….=…………เช่�น
ก#าหนดค�า ช่)-อิ = “สมช่าย” ก#าหนดค�า อิาย� = 0 ก#าหนดค�า ร์ะยะทางิ = 100
3. 3. การ์ร์�บขึ้�อิม2ลการ์ร์�บขึ้�อิม2ล ( Input)( Input) ใช่�ร์2ปใช่�ร์2ป แบบ แบบ
ร�บค(า..............................
เช่�นร์�บค�าคะแนนร์�บค�าต�วเลขึ้ร์�บค�าอิาย�
4. 4. การต�ดสุ�นใจเลั อกจากการต�ดสุ�นใจเลั อกจากเง !อนไขีเง !อนไขี((Decision) Decision) ใชุ$ร:ปแบบใชุ$ร:ปแบบ
ถ้$า....................ไปขี�-นตอนท�!.......................
เช่�น ถ�าค�าอิาย�น�อิยกว�า 10 ป5 ไปขึ้�/นตอินท�-12 ถ�าคะแนนมากกว�า 79 คะแนน ไปขึ้�/นตอินท�-
10 ถ�าค�าท�-ได�เท�าก�บ 0 ไปขึ้�/นตอินท�-2
5. 5. การประมวลัผู้ลั การค)านวณ์ การประมวลัผู้ลั การค)านวณ์ (process) (process) ใชุ$ร:ปแบบใชุ$ร:ปแบบ
ค)านวณ์ค(า………=………เชุ(น
ค#านวณค�า ภาษี� = ค�าเงิ�นเด)อิน *10 / 100
ค#านวณหาค�า ภาษี�ม2ลค�าเพ�-ม = ค�าส�นค�า * 7 / 100
6. 6. การแสุดงผู้ลั การแสุดงผู้ลั (Output)(Output) ใชุ$ร:ปแบบใชุ$ร:ปแบบแสุดงผู้ลัค(า................ ห์ร อ พิ�มพิ�
ค(า.......................เชุ(น
แสดงิผล คะแนน แสดงิผล ภาษี�
7. 7. จบการท)างานจบการท)างาน
การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))ต�วอย(างท�! ต�วอย(างท�! 1.21.2 จงเขี�ยนว�เคราะห์�โปรแกรม จงเขี�ยนว�เคราะห์�โปรแกรม
เพิ !อใชุ$ค)านวณ์ห์าพิ -นท�!สุ�!เห์ลั�!ยมผู้ นผู้$า เพิ !อใชุ$ค)านวณ์ห์าพิ -นท�!สุ�!เห์ลั�!ยมผู้ นผู้$า จ)านวน จ)านวน 11 ร:ป โดยท�!ผู้:$ใชุ$โปรแกรม จะต$องร:ป โดยท�!ผู้:$ใชุ$โปรแกรม จะต$องป5อนความกว$าง แลัะความยาวขีองป5อนความกว$าง แลัะความยาวขีองสุ�!เห์ลั�!ยมผู้ นผู้$า เขี$าไปในโปรแกรม สุ�!เห์ลั�!ยมผู้ นผู้$า เขี$าไปในโปรแกรม
ว�ธี�ท)าว�ธี�ท)า ตามขี�-นตอนการว�เคราะห์�โปรแกรมท�-งตามขี�-นตอนการว�เคราะห์�โปรแกรมท�-ง 5 5 ขี�-นตอนขี�-นตอน สุามารถ้แสุดงได$ด�งน�-สุามารถ้แสุดงได$ด�งน�-
การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))1)1) ว�ตถ้�ประสุงค�ขีองการเขี�ยนโปรแกรมว�ตถ้�ประสุงค�ขีองการเขี�ยนโปรแกรม
เพ)-อิค#านวณพ)/นท�-ส�-เหล�-ยมผ)นผ�าจำ#านวน 1 ร์2ป2)2) ร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการ
พ�มพผลล�พธ์อิอิกทางิจำอิภาพ ด�งิน�/
*** Input Data ***Width = 8Length = 12
*** Output ***Area = 96
การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))3) 3) ขี$อม:ลัน)าเขี$าขี$อม:ลัน)าเขี$า
3.1) ส2ตร์ค#านวณพ)/นท�-ส�-เหล�-ยมผ)นผ�า พ)/นท�- = กว�างิ x ยาว
3.2) ร์�บค�าความกว�างิและความยาวขึ้อิงิส�-เหล�-ยมผ)นผ�าผ�านทางิค�ยบอิร์ด
4) 4) ต�วแปรท�!ต�-งขี,-นเพิ !อใชุ$ในโปรแกรมต�วแปรท�!ต�-งขี,-นเพิ !อใชุ$ในโปรแกรมWidth = ต�วแปร์ท�-ใช่�เก�บความกว�างิขึ้อิงิส�-เหล�-ยมผ)นผ�า Length = ต�วแปร์ท�-ใช่�เก�บความยาวขึ้อิงิส�-เหล�-ยมผ)นผ�าArea = ต�วแปร์ท�-ใช่�เก�บพ)/นท�-ขึ้อิงิส�-เหล�-ยมผ)นผ�า โดยค#านวณได�จำากส2ตร์ Area = Width*Length
การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))
55 ) ) ขี�-นตอนว�ธี�การท)างานขีองโปรแกรมม�ด�งน�-ขี�-นตอนว�ธี�การท)างานขีองโปรแกรมม�ด�งน�-5.1 ) เร์�-มต�นท#างิาน5.2 ) ร์�บขึ้�อิม2ลค�าความยาวและความกว�างิขึ้อิงิส�-เหล�-ยมผ)นผ�าผ�านค�ยบอิร์ด5.3 ) ค#านวณหาพ)/นท�-ส�-เหล�-ยมผ)นผ�าตามส2ตร์ พ)/นท�- = กว�างิ x ยาว
5.4 ) พ�มพค�าความยาว ความกว�างิ และพ)/นท�-ส�-เหล�-ยมผ)นผ�าอิอิกทางิจำอิภาพ5.5 ) จำบการ์ท#างิาน
การสุร$างรห์�สุเท�ยม การสุร$างรห์�สุเท�ยม ((PseudocodePseudocode ) ( ) (ต(อต(อ))• ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ((ต(อต(อ))
– Pseudocode Pseudocode ลั�กษณ์ะงานแสุดงผู้ลั ลั�กษณ์ะงานแสุดงผู้ลั ((OutputOutput)) AlgorithmAlgorithm
SeudocodeSeudocode แสดงิค�าช่)-อิ แสดงิค�าช่)-อิ outputoutput namename แสดงิค�าท�-อิย2� แสดงิค�าท�-อิย2� printprint addressaddress แสดงิค�าเกร์ด แสดงิค�าเกร์ด writewrite gradegrade แสดงิค�าคะแนน แสดงิค�าคะแนน writewrite((scorescore))
เช่�นเด�ยวก�น เช่�นเด�ยวก�น outputoutput ,, printprint ,, writewrite ต�างิม�ความต�างิม�ความหมายถ,งิการ์แสดงิค�าอิอิกมาหมายถ,งิการ์แสดงิค�าอิอิกมา
การสุร$างรห์�สุเท�ยม การสุร$างรห์�สุเท�ยม ((PseudocodePseudocode ) ( ) (ต(อต(อ))• ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ((ต(อต(อ))
– ต�วอย(างท�! ต�วอย(างท�! 1 1
การสุร$างรห์�สุเท�ยม การสุร$างรห์�สุเท�ยม ((PseudocodePseudocode ) ( ) (ต(อต(อ))• ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ((ต(อต(อ))
– ต�วอย(างท�! ต�วอย(างท�! 2 2
การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design))
การออกแบบโปรแกรม เป*นการการออกแบบโปรแกรม เป*นการน)าเอาว�ธี�การท�!ได$จากการน)าเอาว�ธี�การท�!ได$จากการว�เคราะห์�โปรแกรมมาเขี�ยนว�เคราะห์�โปรแกรมมาเขี�ยนแผู้นภาพิห์ร อสุ�ญลั�กษณ์�แสุดงแผู้นภาพิห์ร อสุ�ญลั�กษณ์�แสุดงลั)าด�บขี�-นตอนการท)างานขีองลั)าด�บขี�-นตอนการท)างานขีองโปรแกรม โปรแกรม ((FlowchartFlowchart))
การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))
““ผู้�งงานผู้�งงาน” ” ((flowchartflowchart ) ) ทางทางคอมพิ�วเตอร�คอมพิ�วเตอร� เป*นเคร !องม อท�!ใชุ$เขี�ยน เป*นเคร !องม อท�!ใชุ$เขี�ยนอ�ลักอร�ท,มร:ปแบบห์น,!งซึ่,!งเขี$าใจง(าย ใชุ$อ�ลักอร�ท,มร:ปแบบห์น,!งซึ่,!งเขี$าใจง(าย ใชุ$ร:ปภาพิเป*นสุ�ญลั�กษณ์�แสุดงการท)างาน ร:ปภาพิเป*นสุ�ญลั�กษณ์�แสุดงการท)างาน
““ผู้�งงานผู้�งงาน”” ห์มายถ้,ง แผู้นภาพิท�!เขี�ยนขี,-นห์มายถ้,ง แผู้นภาพิท�!เขี�ยนขี,-นโดยใชุ$สุ�ญลั�กษณ์�มาตรฐาน เพิ !อแสุดงโดยใชุ$สุ�ญลั�กษณ์�มาตรฐาน เพิ !อแสุดงขี�-นตอนว�ธี�การท)างานขีองโปรแกรม ขี�-นตอนว�ธี�การท)างานขีองโปรแกรม ห์ร อระบบงานท�!ต$องการ ห์ร อระบบงานท�!ต$องการ
การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))
ประเภทขีองผู้�งงาน ผู้�งงานสุามารถ้ประเภทขีองผู้�งงาน ผู้�งงานสุามารถ้จ)าแนกออกได$ จ)าแนกออกได$ 22 ประเภท ค อประเภท ค อ
11 ) ) ผู้�งงานระบบ ผู้�งงานระบบ ((system flowchartsystem flowchart ) ) ห์มายถ้,ง ผู้�งงานท�!แสุดงถ้,งขี�-นตอนว�ธี�ห์มายถ้,ง ผู้�งงานท�!แสุดงถ้,งขี�-นตอนว�ธี�การท)างานขีองระบบงานใดระบบห์น,!ง การท)างานขีองระบบงานใดระบบห์น,!ง
การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))
22 ) ) ผู้�งงานโปรแกรม ผู้�งงานโปรแกรม ((program program flowchartflowchart ) ) ห์มายถ้,งผู้�งงานท�!ห์มายถ้,งผู้�งงานท�!แสุดงขี�-นตอน ว�ธี�การท)างานขีองแสุดงขี�-นตอน ว�ธี�การท)างานขีองโปรแกรมท�!ต$องการเขี�ยนขี,-นโปรแกรมท�!ต$องการเขี�ยนขี,-น
การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))
สุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานสุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานโปรแกรมโปรแกรมSymbol
Meaning
Terminator Symbolใชุ$แสุดงต)าแห์น(งขีองจ�ดเร�!มต$น จ�ดสุ�-นสุ�ดโปรแกรมProcess Symbolใชุ$ในการค)านวณ์Input/Output Symbolใชุ$ในการร�บขี$อม:ลั การแสุดงผู้ลัขี$อม:ลั
การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))
สุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานสุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานโปรแกรมโปรแกรมSymb
olMeaning
Display /Monitor Symbol ใชุ$เม !อต$องการระบ�ให์$แสุดงขี$อม:ลับนจอภาพิ Document Symbol ใชุ$เม !อต$องการระบ�ให์$แสุดงขี$อม:ลับนเคร !องพิ�มพิ� Decision Symbol ใชุ$ในการเปร�ยบเท�ยบเง !อนไขีห์ร อต�ดสุ�นใจ Keyboard Symbol ใชุ$ในการร�บขี$อม:ลัจากแป5นพิ�มพิ� External Subroutine Symbol ใชุ$เร�ยกฟ%งก�ชุ�นต(าง ๆ ท�! C Compiler สุร$างไว$แลั$ว
การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))
Comment Symbol ใชุ$แสุดงความเห์#น ค)าอธี�บาย ห์ร อขี$อสุ�งเกตต(าง ๆ Flowline Symbol ใชุ$เป*นจ�ดเชุ !อมต(อระห์ว(างสุ�ญลั�กษณ์� On-page Connector Symbol ใชุ$ในการเชุ !อมโยงในห์น$าเด�ยวก�น Off-page Connector Symbol ใชุ$ในการเชุ !อมโยงไปห์น$าอ !น
Manual Operationการร�บขี$อม:ลัห์ร อแสุดงผู้ลัลั�พิธี�โดยไม(ระบ�สุ !อ Internal Subroutine Symbol ใชุ$เร�ยกฟ%งก�ชุ�นต(าง ๆ ท�!ผู้:$เขี�ยนโปรแกรมสุร$างไว$ใชุ$งานภายในโปรแกรม
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) )ค อ เทคน�คท�!ใชุ$ในการออกแบบอ�ลักอร�ท,ม ซึ่,!งค อ เทคน�คท�!ใชุ$ในการออกแบบอ�ลักอร�ท,ม ซึ่,!ง
โครงสุร$างขีองอ�ลักอร�ท,มม�อย:( โครงสุร$างขีองอ�ลักอร�ท,มม�อย:( 33 โครงสุร$าง ได$แก( โครงสุร$าง ได$แก( 11 . . โครงสุร$างควบค�มการท)างานแบบเร�ยงลั)าด�บ โครงสุร$างควบค�มการท)างานแบบเร�ยงลั)าด�บ ((Sequence Control StructureSequence Control Structure ) )
22 . . โครงสุร$างควบค�มการท)างานแบบเลั อกกระท)าโครงสุร$างควบค�มการท)างานแบบเลั อกกระท)า ((Selection Control StructureSelection Control Structure ) )
33 . . โครงสุร$างควบค�มการท)างานแบบวนซึ่)-า โครงสุร$างควบค�มการท)างานแบบวนซึ่)-า ((Repetition Control StructureRepetition Control Structure))
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )1 . โครงสุร$างควบค�มการท)างานแบบเร�ยงลั)าด�บ
(Sequence Control Structure )เป*นโครงสุร$างท�!ม�การท)างานท�กค)าสุ�!งอย(างเป*นลั)าด�บขี�-นตอน ประกอบไปด$วยค)าสุ�!งท�!วๆ ไป ไม(ม�การต�ดสุ�นใจไม(ม�การวนซึ่)-า (Looping ) ไม(ม�การขี$ามขี�-นตอนห์ร อย$อยกลั�บไปท)าขี�-นตอนเด�ม จะท)างานตาม
ค#าส�-งิท�- 1
ค)าสุ�!งท�! 2
ค)าสุ�!งท�! n
…
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )2 . โครงสุร$างควบค�มการท)างานแบบม�
เง !อนไขีเลั อกกระท)า (Selection Control Structure)1 ) โครงสุร$างแบบทดสุอบเง !อนไขี 1 ทางเลั อก
ท)าการทดสุอบเง !อนไขีว(าเป*นจร�งห์ร อเท#จ ถ้$าเง !อนไขีเป*นจร�ง ให์$ท)างานตามค)าสุ�!งท�!ก)าห์นดไว$แลั$วออกจากการท)างาน แต(ถ้$าเง !อนไขีเป*นเท#จ ให์$ออกจากการท)างาน
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )1 ) โครงสุร$างแบบทดสุอบเง !อนไขี 1 ทางเลั อก
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )2 ) โครงสุร$างแบบทดสุอบเง !อนไขี 2 ทางเลั อก
ท)าการทดสุอบเง !อนไขีว(าเป*นจร�งห์ร อเท#จ ถ้$าเง !อนไขีเป*นจร�ง ให์$ท)างานตามค)าสุ�!ง A ท�!ก)าห์นดไว$แลั$วออกจากการท)างาน แต(ถ้$าเง !อนไขีเป*นเท#จ ให์$ท)างานตามค)าสุ�!ง B ท�!ก)าห์นดไว$แลั$วออกจากการท)างาน
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )3 ) โครงสุร$างแบบทดสุอบเง !อนไขีมากกว(า 2 ทางขี,-นไป
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )3 . โครงสุร$างควบค�มการท)างานแบบวนซึ่)-า
(Repetition Control Structure)1 ) โครงสุร$างแบบท)างานวนลั:ป
ห์มายถ้,ง โครงสุร$างขีองค)าสุ�!งท�!ม�การท)างานซึ่)-า ๆ เป*นวงจรป?ด จนกว(าเง !อนไขีท�!ทดสุอบจะตรงก�บค(าจร�งห์ร อเท#จตามโครงสุร$างท�!ใชุ$ จ,งสุามารถ้ออกจากการท)างานได$
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )1 ) โครงสุร$างแบบ DO UNTIL
ประโยคเง !อนไขี
ค)าสุ�!งการท)างาน
เท#จ
จร�ง
การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )2 ) โครงสุร$างแบบ DO WHILE
ประโยคเง !อนไขี
ค)าสุ�!งการท)างาน
เท#จ
จร�ง
ห์ลั�กการเขี�ยนผู้�งงานโปรแกรมห์ลั�กการเขี�ยนผู้�งงานโปรแกรม11 ) ) เขี�ยนผู้�งงานจากด$านบนลังด$านลั(างเขี�ยนผู้�งงานจากด$านบนลังด$านลั(าง22 ) ) ใชุ$สุ�ญลั�กษณ์�ให์$ตรงก�บความห์มายขีองผู้�งงานใชุ$สุ�ญลั�กษณ์�ให์$ตรงก�บความห์มายขีองผู้�งงาน33 ) ) ใชุ$เสุ$น ใชุ$เสุ$น flow line flow line แลัะ แลัะ arrowheads arrowheads แสุดงแสุดง
ท�ศัทางการท)างานขีองผู้�งงานท�ศัทางการท)างานขีองผู้�งงาน44 ) ) ใสุ(ค)าอธี�บายลังในสุ�ญลั�กษณ์�สุ�-น ๆ แต(เขี$าใจง(าย จะใชุ$ใสุ(ค)าอธี�บายลังในสุ�ญลั�กษณ์�สุ�-น ๆ แต(เขี$าใจง(าย จะใชุ$
ภาษาไทยห์ร ออ�งกฤษก#ได$ภาษาไทยห์ร ออ�งกฤษก#ได$55 ) ) ห์ลั�กเลั�!ยงการโยงเสุ$นท�ศัทางขีองผู้�งงานให์$ต�ดก�นห์ลั�กเลั�!ยงการโยงเสุ$นท�ศัทางขีองผู้�งงานให์$ต�ดก�น
เพิราะจะท)าให์$สุ�บสุน ควรใชุ$จ�ดเชุ !อมต(อ เพิราะจะท)าให์$สุ�บสุน ควรใชุ$จ�ดเชุ !อมต(อ ((connectorconnector ) ) ห์น$าเด�ยวก�นแทน จะเขี$าใจได$ง(ายห์น$าเด�ยวก�นแทน จะเขี$าใจได$ง(ายแลัะเป*นระเบ�ยบแลัะเป*นระเบ�ยบ
66 ) ) พิยายามเขี�ยนผู้�งงานให์$จบในห์น$ากระดาษเด�ยวก�น พิยายามเขี�ยนผู้�งงานให์$จบในห์น$ากระดาษเด�ยวก�น แต(ถ้$าไม(จบในห์น$าเด�ยวก�น ควรใชุ$จ�ดเชุ !อมต(อต(างแต(ถ้$าไม(จบในห์น$าเด�ยวก�น ควรใชุ$จ�ดเชุ !อมต(อต(างห์น$ากระดาษ ห์น$ากระดาษ ((off page connectoroff page connector))
ขี�-นตอนการเขี�ยนผู้�งงานโปรแกรมขี�-นตอนการเขี�ยนผู้�งงานโปรแกรม
ขี�-นตอนการเขี�ยนผู้�งงานโปรแกรมขี�-นตอนการเขี�ยนผู้�งงานโปรแกรม
ขี�-นตอนการเขี�ยนผู้�งงานโปรแกรมขี�-นตอนการเขี�ยนผู้�งงานโปรแกรม
แบบลั)าด�บ แบบลั)าด�บ ((SequenceSequence))
แบบม�เง !อนไขีแบบม�เง !อนไขี//เลั อกท)า เลั อกท)า ((selectionselection))
แบบวนรอบ แบบวนรอบ ((looploop))
การเขี�ยนโปรแกรมการเขี�ยนโปรแกรม ((programmingprogramming))
ค อ การเปลั�!ยนอ�ลักอร�ท,มเป*นภาษาท�!คอมพิ�วเตอร�สุามารถ้น)าไปปฏิ�บ�ต�ได$ ท�!เร�ยกว(าSource Code
ความห์มายขีองโปรแกรมความห์มายขีองโปรแกรมคอมพิ�วเตอร�คอมพิ�วเตอร�โปรแกรมคอมพิ�วเตอร� (computer
program ) ห์มายถ้,ง ชุ�ดขีองค)าสุ�!งท�!เขี�ยนขี,-นเพิ !อสุ�!งให์$คอมพิ�วเตอร�ท)างานตามท�!ต$องการ สุ(วนการเขี�ยนโปรแกรม (programming ) ห์มายถ้,ง การเขี�ยนชุ�ดค)าสุ�!งด$วยภาษาคอมพิ�วเตอร�ภาษาใดภาษาห์น,!ง เพิ !อให์$คอมพิ�วเตอร�ท)างานตามโปรแกรมท�!เราเขี�ยนขี,-น
ด�งน�-น ผู้:$เขี�ยนโปรแกรม (programmer ) จ,งจ)าเป*นต$องเร�ยนร:$ภาษาคอมพิ�วเตอร�ภาษาใดภาษาห์น,!งห์ร อห์ลัายภาษา แลั$วฝึBกฝึนท�กษะการเขี�ยนโปรแกรมด$วยภาษาคอมพิ�วเตอร�ท�!ต$องการใชุ$งานให์$เก�ดความชุ)านาญจ,งจะสุามารถ้เขี�ยนโปรแกรมคอมพิ�วเตอร�ได$อย(างม�ประสุ�ทธี�ภาพิ
ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((Computer Computer LanguageLanguage))ภาษาคอมพิ�วเตอร�ห์มายถ้,ง ภาษาท�!สุามารถ้น)ามาใชุ$เขี�ยนห์ร อพิ�ฒนา
โปรแกรมคอมพิ�วเตอร�ได$ ซึ่,!งได$ม�การจ�ดแบ(งภาษาคอมพิ�วเตอร�ตามย�คท�!ม�การพิ�ฒนาขีองภาษาด�งน�-
1 . ภาษาในย�คท�! 1 (First Generation Language:1GL)
1GL เร�ยกอ�กอย(างห์น,!งว(า “ภาษาระด�บลั(าง (Low-Level Language)” เป*นภาษาท�!เคร !องคอมพิ�วเตอร�สุามารถ้อ(านแลั$วเขี$าใจได$ท�นท�โดยไม(ต$องผู้(านต�วแปลัภาษา ด�งน�-นจ,งม�ชุ !อเร�ยกอ�กอย(างห์น,!งว(า “ภาษาเคร !อง (Machine Language)” ซึ่,!งประกอบด$วยต�วเลัขีฐานสุอง (Binary Code ) ท�!ใชุ$เป*นรห์�สุแทนต�วอ�กษรห์ร อขี$อความต(าง ๆ แต(ยากต(อการเร�ยนร:$แลัะเขี$าใจขีองมน�ษย�
ต�วอย(างท�! 1.18 แสุดงค)าสุ�!งขีองภาษาเคร !องม�ด�งน�- ถ้$าเราต$องการสุ�!งให์$เคร !องท)างานตามค)าสุ�!ง 9 +3 แสุดงได$ด�งน�-การบวกแทนด$วยรห์�สุ 10101010เลัขี 9 เปลั�!ยนเป*นเลัขีฐานสุอง 00001001เลัขี 3 เปลั�!ยนเป*นเลัขีฐานสุอง 00000011ด�งน�-น ค)าสุ�!ง 9 +3 เขี�ยนเป*นภาษาเคร !องได$ด�งน�-00001001 10101010 00000011
ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((Computer Computer LanguageLanguage))
2 . ภาษาในย�คท�! 2 (Second Generation Language:2GL)
2GL เร�ยกอ�กอย(างห์น,!งว(า “ภาษาสุ�ญลั�กษณ์� (Symbol Language)” เร�!มม�การใชุ$สุ�ญลั�กษณ์�แทนต�วเลัขีฐานสุอง โดยสุ�ญลั�กษณ์�น�-นก#ค อ ภาษาอ�งกฤษ ซึ่,!งอาจจะเป*น 1 ต�วอ�กษร ห์ร อเป*นกลั�(มต�วอ�กษรก#ได$ เพิ !อใชุ$แทนค)าสุ�!ง 1 ค)าสุ�!ง เชุ(นภาษาแอสุเซึ่มบลั� (Assembly ) ซึ่,!งค)าสุ�!งภาษาแอสุเซึ่มบลั�จะถ้:กแปลัด$วยต�วแปลัภาษา ชุ !อ แอสุเซึ่มเบลัอ (Assembler )เพิ !อให์$กลัายเป*นภาษาท�!เคร !องอ(านแลั$วเขี$าใจแลัะน)าไปใชุ$ได$ต�วอย(างท�! 1.19 แสุดงค)าสุ�!งขีองภาษาแอสุเซึ่มบลั�ม�ด�งน�- ถ้$าเราต$องการสุ�!งให์$เคร !องท)างานตามค)าสุ�!ง 9 +3 แสุดงได$ด�งน�-
MOV AX, 9 MOV BX, 3 ADD AX, BX
ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((Computer Computer LanguageLanguage))
3 . ภาษาในย�คท�! 3 (Third Generation Language:3GL)
3GL เร�ยกอ�กอย(างห์น,!งว(า “ภาษาระด�บสุ:ง (High-Level Language)” ภาษาระด�บสุ:งเป*นภาษาท�!ผู้:$เขี�ยนโปรแกรมสุามารถ้เขี$าใจได$ง(ายกว(าภาษาแอสุเซึ่มบลั�แลัะภาษาเคร !อง ท�-งน�-ก#เพิราะการเขี�ยนค)าสุ�!งขีองภาษาระด�บสุ:งม�ลั�กษณ์ะเป*นภาษาอ�งกฤษ ซึ่,!งอ(านแลั$วเขี$าใจได$ง(ายกว(าภาษาแอสุเซึ่มบลั� เชุ(น ใชุ$ค)าว(า READ, WRITE, PRINT, COMPUTE เป*นต$น ต�วอย(างขีองภาษาระด�บสุ:งได$แก( ภาษาฟอร�แทรน (FORTRAN), ภาษาโคบอลั (COBOL), ภาษาเบสุ�ก (BASIC), ภาษาปาสุคาลั (PASCAL ) แลัะภาษาซึ่� (C ) เป*นต$น
ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((Computer Computer LanguageLanguage))
4 . ภาษาในย�คท�! 4 (Fourth Generation Language:4GL)
4GL เร�ยกอ�กอย(างห์น,!งว(า “ภาษาระด�บสุ:งมาก (Very High-Level Language)” โดยได$พิ�ฒนาจากภาษาในย�คท�! 3 ให์$ม�ประสุ�ทธี�ภาพิมากขี,-น ม�ค)าสุ�!งท�!สุามารถ้เขี�ยนเป*นภาษาอ�งกฤษได$มากขี,-น แลัะสุามารถ้น)ามาใชุ$เขี�ยนค)าสุ�!งเพิ !อเชุ !อมต(อก�บฐานขี$อม:ลัได$ ซึ่,!งน�กเขี�ยนโปรแกรมไม(ต$องบอกว�ธี�การท)างานโดยลัะเอ�ยด เพิ�ยงระบ�เป*นค)าสุ�!งสุ�-น ๆ ให์$ภาษาระด�บสุ:งมากเขี$าใจก#พิอ สุ(วนการค)านวณ์ห์ร อการท)างานภาษาระด�บสุ:งมากจะจ�ดการเองท�-งห์มด เชุ(น JAVA , SQL,Visual Basic , PHP เป*นต$น
ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((Computer Computer LanguageLanguage))
5 . ภาษาในย�คท�! 5 (Fifth Generation Language:5GL)
5GL เร�ยกอ�กอย(างห์น,!งว(า “ภาษาระด�บธีรรมชุาต� (Natural Language)” ม�การใชุ$ไวยากรณ์�ท�!ม�โครงสุร$างใกลั$เขี�ยงก�บภาษามน�ษย�มากท�!สุ�ด จ,งเป*นภาษาท�!ใชุ$ในการพิ�ฒนาระบบผู้:$เชุ�!ยวชุาญ (Expert System : ES )ระบบป%ญญาประด�ษฐ� (Artificial Intelligence : AI ) แลัะระบบฐานความร:$ (Knowledge Base System ) เชุ(น ภาษา PROLOG, ภาษา LISP (List Processing Language)’ ภาษา LOGO
ต�วแปลัภาษาคอมพิ�วเตอร� ต�วแปลัภาษาคอมพิ�วเตอร� ((Translation ProgramTranslation Program))ค อ โปรแกรมระบบท�!ท)าห์น$าท�!ใน
การแปลัโปรแกรม ห์ร อชุ�ดค)าสุ�!งท�!เขี�ยนด$วยภาษาท�!ไม(ใชุ(ภาษาเคร !องห์ร อภาษาท�!เคร !องไม(เขี$าใจให์$เป*นภาษาท�!เคร !องเขี$าใจ แลัะน)าไปปฏิ�บ�ต�ได$ เชุ(น ภาษาBASIC,COBOL,C,PASCAL, FORTRAN,ASSEMBLY เป*นต$น สุ)าห์ร�บต�วแปลัน�-นจะม�อย:( 3 แบบ ค อ
ต�วแปลัภาษาคอมพิ�วเตอร� ต�วแปลัภาษาคอมพิ�วเตอร� ((Translation ProgramTranslation Program))1. Assembler เป*นโปรแกรมท�!ใชุ$แปลัภาษาแอสุแซึ่มบลั� ซึ่,!งม�
ลั�กษณ์ะการแปรท�ลัะค)าสุ�!ง เม !อท)าตามค)าสุ�!งน�-นเสุร#จแลั$ว ก#จะแปลัค)าสุ�!งถ้�ดไปเร !อย ๆ จนจบ
2 . อ�นเตอร�พิร�เตอร� (Interpreter ) เป*นต�วแปลัภาษาระด�บสุ:งเชุ(นเด�ยวก�บคอมไพิลั�เลัอร�แต(จะแปลัพิร$อมก�บท)างานตามค)าสุ�!งท�ลัะค)าสุ�!งตลัอดไปท�-งโปรแกรม ท)าให์$การแก$ไขีโปรแกรมท)าได$ง(ายแลัะรวดเร#ว การแปลัโดยใชุ$อ�นเตอร�พิร�เตอร�จะไม(สุร$างโปรแกรมเร�ยกใชุ$งาน ด�งน�-นจะต$องท)าการแปลัให์ม(ท�กคร�-งท�!ม�การเร�ยกใชุ$งาน ต�วอย(างต�วแปลัภาษาท�!ใชุ$ต�วแปลัอ�นเตอร�พิร�เตอร� เชุ(น ภาษาเบสุ�ก (BASIC )
3 . คอมไพิเลัอร� (Compiler ) เป*นต�วแปลัภาษาระด�บสุ:ง เชุ(น ภาษาปาสุคาลั ภาษาโคบอลัแลัะภาษาฟอร�เเทรน การท)างานจะใชุ$ห์ลั�กการแปลัโปรแกรมต$นฉบ�บท�-งโปรแกรมให์$เป*นโปรแกรมเร�ยกใชุ$งาน (executable program ) ซึ่,!งจะถ้:กบ�นท,กไว$ในลั�กษณ์ะขีองแฟ5มขี$อม:ลัห์ร อไฟลั� เม !อต$องการเร�ยกใชุ$งานโปรแกรมก#สุามารถ้เร�ยกใชุ$จากไฟลั�เร�ยกใชุ$งานโดยไม(ต$องท)าการแปลัห์ร อคอมไพิลั�อ�ก ท)าให์$การท)างานเป*นไปอย(างรวดเร#ว
การทดสุอบโปรแกรม การทดสุอบโปรแกรม ((Program Program TestingTesting))ห์ลั�งจากท�!เราเขี�ยนโปรแกรมเสุร#จแลั$ว ขี�-นตอนต(อ
ไป ค อ การทดสุอบโปรแกรมท�!เขี�ยนขี,-นซึ่,!งอาจพิบความผู้�ดพิลัาดได$ 2 ชุน�ด ด�งน�-
1 ) ความผู้�ดพิลัาดทางไวยากรณ์�ภาษา (syntax error ) เป*นความผู้�ดพิลัาดท�!เก�ดจากการเขี�ยนค)าสุ�!งขีองภาษาคอมพิ�วเตอร�ผู้�ด ต�วอย(างเชุ(น ค)าสุ�!ง printf ( ) ในภาษา C ต$องเขี�ยนด$วยต�วอ�กษรต�วเลั#ก แต(เขี�ยนเป*น PRINTF ( ) เป*นต$น โดยสุ(วนมากความผู้�ดพิลัาดทางไวยากรณ์� จะถ้:กตรวจสุอบพิบเม !อม�การแปลัโปรแกรม (compile ) ให์$เป*นภาษาเคร !อง ซึ่,!งเราสุามารถ้แก$ไขีโดยการเขี�ยนค)าสุ�!งให์$ถ้:กต$องตามไวยากรณ์�ขีองภาษาน�-น ๆ
2 ) ความผู้�ดพิลัาดทางตรรกะ (logical error ) เป*นความผู้�ดพิลัาดท�!เก�ดจากการลั)าด�บการท)างานผู้�ดห์ร อป5อนสุ:ตรค)านวณ์ผู้�ด
การทบทวนการท)างานขีองการทบทวนการท)างานขีองโปรแกรมคร�-งสุ�ดท$าย โปรแกรมคร�-งสุ�ดท$าย
((Program FormalizationProgram Formalization))เป*นขี�-นตอนขีองการตรวจสุอบ Source Code ขีองโปรแกรมท�-งห์มดอ�กคร�-ง แลั$ว ลับ Dead Code ...ต(างๆออกให์$ห์มด จากน�-นทดลัองร�นโปรแกรมด:ว(าโปรแกรมย�งคงท)างานได$เห์ม อนเด�มห์ร อไม( ห์ลั�งจากน�-นโปรแกรมเมอร�จะตรวจสุอบเอกสุารต(างๆท�!เก�!ยวก�บต�วโปรแกรม แลัะสุ(งมอบเอกสุารท�-งห์มดให์$ก�บน�กว�เคราะห์�ระบบ
การบ)าร�งร�กษาโปรแกรม การบ)าร�งร�กษาโปรแกรม ((Program MaintenanceProgram Maintenance)) ขี�-นตอนสุ�ดท$ายในการเขี�ยนโปรแกรม
คอมพิ�วเตอร�จะเร�!มห์ลั�งจากโปรแกรมคอมพิ�วเตอร�ท�!พิ�ฒนาขี,-นน�-นเป*นท�!ยอมร�บจากผู้:$ใชุ$แลัะได$ปฏิ�บ�ต�งานมาแลั$วชุ�!วระยะเวลัาห์น,!ง ต(อมาเก�ดความจ)าเป*นบางอย(างเก�ดขี,-น เชุ(น ต$องการปร�บปร�งระบบให์$ม�ประสุ�ทธี�ภาพิด�ขี,-น ห์ร อต$องการแก$ไขีห์น$าท�!บางอย(างห์ร อต$องการขียายขี�ดความสุามารถ้ขีองโปรแกรม ห์ร ออาจเก�ดจากความผู้�ดพิลัาดในโปรแกรมต$องการแก$ไขีให์$ถ้:กต$อง โดยอาจม�ผู้ลัมาจากนโยบายขีองบร�ษ�ทท�!เปลั�!ยนไป ห์ร อระเบ�ยบทางราชุการบ�งค�บ ห์ร อการแขี(งขี�นทางธี�รก�จ ฯลัฯ
การบ)าร�งร�กษาโปรแกรม การบ)าร�งร�กษาโปรแกรม ((Program MaintenanceProgram Maintenance)) ขี�-นตอนสุ�ดท$ายในการเขี�ยนโปรแกรม
คอมพิ�วเตอร�จะเร�!มห์ลั�งจากโปรแกรมคอมพิ�วเตอร�ท�!พิ�ฒนาขี,-นน�-นเป*นท�!ยอมร�บจากผู้:$ใชุ$แลัะได$ปฏิ�บ�ต�งานมาแลั$วชุ�!วระยะเวลัาห์น,!ง ต(อมาเก�ดความจ)าเป*นบางอย(างเก�ดขี,-น เชุ(น ต$องการปร�บปร�งระบบให์$ม�ประสุ�ทธี�ภาพิด�ขี,-น ห์ร อต$องการแก$ไขีห์น$าท�!บางอย(างห์ร อต$องการขียายขี�ดความสุามารถ้ขีองโปรแกรม ห์ร ออาจเก�ดจากความผู้�ดพิลัาดในโปรแกรมต$องการแก$ไขีให์$ถ้:กต$อง โดยอาจม�ผู้ลัมาจากนโยบายขีองบร�ษ�ทท�!เปลั�!ยนไป ห์ร อระเบ�ยบทางราชุการบ�งค�บ ห์ร อการแขี(งขี�นทางธี�รก�จ ฯลัฯ