การเขียนโปรแกรมคอมพิวเตอร์ 1

52
กกกกกกกกกกกกกกก กกกกกกกกกกกกกกก กกกกกกกกกกก กกกกกกกกกกก 1 1 กกกกกกกกกกกกกก กกกกกกกกกกกกกก กกกกกกกก กกกกกกกก กกก กกก . . 0872257745 0872257745 กกกกกกกกกกกกก กกกกกกกกกกกกก Tel. 0872257745 ,E- mail :surat_master@hotmai

Upload: krista

Post on 13-Jan-2016

80 views

Category:

Documents


0 download

DESCRIPTION

การเขียนโปรแกรมคอมพิวเตอร์ 1. อาจารย์สุรัตน์ สิงห์ทอง โทร. 0872257745 วิทยาลัยชุมชนมุกดาหาร. Tel. 0872257745 ,E-mail :[email protected]. เราเขียนโปรแกรมไปเพื่ออะไร. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: การเขียนโปรแกรมคอมพิวเตอร์  1

การเขี�ยนโปรแกรมการเขี�ยนโปรแกรมคอมพิ�วเตอร� คอมพิ�วเตอร� 11

อาจารย�สุ�ร�ตน� สุ�งห์�ทอง อาจารย�สุ�ร�ตน� สุ�งห์�ทอง โทรโทร . .08722577450872257745

ว�ทยาลั�ยชุ�มชุนม�กดาห์ารว�ทยาลั�ยชุ�มชุนม�กดาห์ารTel. 0872257745 ,E-

mail :[email protected]

Page 2: การเขียนโปรแกรมคอมพิวเตอร์  1

เราเขี�ยนโปรแกรมไปเพิ !ออะไร • การเขี�ยนโปรแกรมก#เห์ม อนการแก$โจทย�ป%ญห์า เราจะต$อง

ทราบว(าเราต$องการอะไรเพิ !อน)าไป สุร$างเป*นโปรแกรมให์ม(ขี,-นมาตามท�!เราต$องการ

• โปรแกรมคอมพิ�วเตอร� ค อ ค)าสุ�!งห์ร อชุ�ดค)าสุ�!ง ท�!เขี�ยนขี,-นมา เพิ !อสุ�!งให์$เคร !องคอมพิ�วเตอร�ท)างานตามท�!เราต$องการ เรา

จะให์$คอมพิ�วเตอร�ท)าอะไรก#เขี�ยนเป*นค)าสุ�!ง ซึ่,!งต$องสุ�!งเป*น ขี�-นตอนแลัะแต(ลัะขี�-นตอนต$องท)าอย(างลัะเอ�ยดแลัะครบถ้$วน

ซึ่,!งจะเก�ดเป*นงานชุ�-นห์น,!งขี,-นมาม�ชุ !อเร�ยกว(า "โปรแกรม " ซึ่อฟต�แวร�จะแบ(งออกเป*นประเภทให์ญ( ๆ ได$ 2 ประเภท ค อ

1. ซึ่อฟต�แวร�ระบบ (System Software) 2. ซึ่อฟต�แวร�ประย�กต� (Application

Software)

Page 3: การเขียนโปรแกรมคอมพิวเตอร์  1

ซึ่อฟต�แวร�ระบบ (System Software)

• OS (Operating System) เช่�น DOS UNIX LINUX WINDOWS

• Translation Program เช่�น Assembler อิ�นเตอิร์พร์�เตอิร์ (Interpreter) คอิมไพเลอิร์ (Compiler)

• Utility Program เช่�น Scan Disk, Defragmenter, Disk Cleanup, Norton Utility

Page 4: การเขียนโปรแกรมคอมพิวเตอร์  1

ซึ่อฟต�แวร�ประย�กต� ซึ่อฟต�แวร�ประย�กต� ((Application Software) Application Software) •User Program เช่�น โปร์แกร์มร์ะบบ

บ�ญช่�,โปร์แกร์มควบค�มสต�อิกส�นค�า,โปร์แกร์มแฟ้ มทะเบ�ยนปร์ะว�ต�,โปร์แกร์มค#านวณภาษี�,โปร์แกร์มคอิดเงิ�นเด)อิน เป*นต�น

•Package Program เช่�น Microsoft Office (MS-Word,MS-Excel,MS-Access,MS-PowerPoint) CorelDraw, Photoshop, Internet Explorer , PageMaker

Page 5: การเขียนโปรแกรมคอมพิวเตอร์  1

คอมพิ�วเตอร� ค ออะไร •คอิมพ�วเตอิร์เป*นอิ�ปกร์ณอิ�เล�ก

ทร์อิน�คอิย�างิหน,-งิท�-มน�ษียสร์�างิขึ้,/นเพ)-อิเสร์�มความสามาร์ถขึ้อิงิมน�ษีย

ในด�านการ์ร์�บร์2 � การ์จำ#า การ์ ค#านวณ การ์แสดงิอิอิก และการ์

เปร์�ยบเท�ยบต�ดส�นใจำ

Page 6: การเขียนโปรแกรมคอมพิวเตอร์  1

• ในการท�!จะสุ�!งให์$เคร !องคอมพิ�วเตอร�ท)างานโดยต$องอาศั�ยมน�ษย�เพิ !อป5อนค)าสุ�!งเขี$าไปในเคร !องคอมพิ�วเตอร� ซึ่,!งค)าสุ�!งน�-นจะต$องเป*นค)าสุ�!งท�!เคร !องเขี$า น�-นค อ ภาษาเคร !องห์ร อท�!เร�ยกเป*นภาษาอ�งกฤษว(า Machine Language ซึ่,!งประกอบด$วย ต�วเลัขี 0 ก�บ 1 เท(าน�-น10010

0101010001110

คอมพิ�วเตอร� ค ออะไร

Page 7: การเขียนโปรแกรมคอมพิวเตอร์  1

ขี�-นตอนการท)างานขีองระบบขี�-นตอนการท)างานขีองระบบคอมพิ�วเตอร�คอมพิ�วเตอร�

Input Process

Output

Memory

Page 8: การเขียนโปรแกรมคอมพิวเตอร์  1

ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ((Computer AlgorithmsComputer Algorithms))

วงจรการพิ�ฒนาโปรแกรม (Program Development Life Cycle: PDLC)

การว�เคราะห์�โปรแกรม (Program Analysis) การออกแบบโปรแกรม (Program Design) การเขี�ยนโปรแกรม (Program Coding) การทดสุอบโปรแกรม (Program Testing) การทบทวนการท)างานขีองโปรแกรมคร�-งสุ�ดท$าย

(Program Formalization) การบ)าร�งร�กษาโปรแกรม (Program Maintenance)

Page 9: การเขียนโปรแกรมคอมพิวเตอร์  1

ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ขี�-นตอนว�ธี�การทางคอมพิ�วเตอร� ((Computer AlgorithmsComputer Algorithms)) 1. ว�เคราะห์�โปร์แกร์ม• ตรวจสุอบ Program Specification Package• ห์าร อก�บน�กว�เคราะห์�ระบบ (SA) แลัะผู้:$ใชุ$• ก)าห์นดองค�ประกอบขีองโปรแกรม เชุ(น อ�นพิ�ต เอาต�พิ�ต การประมวลัผู้ลั

2. ออกแบบโปรแกรม• แบ(งห์น$าท�!ห์ลั�ก (Main Module) ขีองโปรแกรมออกเป*น Module ต(างๆ• ออกแบบอ�ลักอร�ท,มให์$แต(ลัะโมด:ลั• ทดสุอบผู้ลัลั�พิธี�ท�!ได$จากอ�ลักอร�ท,ม

6. บ)าร�งร�กษาโปรแกรม• แก$ไขี Error ท�!พิบระห์ว(างการใชุ$งานโปรแกรมจร�งโดยผู้:$ใชุ$• ปร�บปร�งแลัะเพิ�!มเต�มความสุามารถ้ให์$ก�บโปรแกรมมากขี,-น

3. เขี�ยนโปรแกรม• เปลั�!ยนอ�ลักอร�ท,มใน

ขี�-นตอนท�! 2 มาเป*นภาษาโปรแกรมม�!ง• เขี�ยนโปรแกรมแลัะทดลัองร�นโปรแกรมด:

5. ทบทวนการท)างานขีองโปรแกรมคร�-งสุ�ดท$าย• ลับโค$ดท�!ใม(ใชุ$ออกให์$ห์มด แลั$วลัองร�นโปรแกรมด:ว(า ท)างานได$ด�งเด�มห์ร อไม(• รวบรวมเอกสุารท�!เก�!ยวท�-งห์มดให์$ SA

4. ทดสุอบโปรแกรม• เม !อพิบ Error ขีองโปรแกรมให์$แก$ไขีท�นท�• การ Error อาจเก�ดขี,-นจากการเขี�ยนไวยากรณ์�ขีองภาษาผู้�ดห์ร ออาจผู้�ดท�!อ�ลักอร�ท,มก#ได$

วงจรการพิ�ฒนา

โปรแกรม

ภาพร์วมวงิจำร์การ์พ�ฒนาโปร์แกร์ม (PDLC)

Page 10: การเขียนโปรแกรมคอมพิวเตอร์  1

การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis))การว�เคราะห์�โปรแกรมแต(ลัะอย(างม�ห์ลั�กเกณ์ฑ์�แลัะ

รายลัะเอ�ยด แบ(งได$ 5 ห์�วขี$อ ด�งน�- 1 . การว�เคราะห์�ห์าว�ตถ้�ประสุงค�ขีองการเขี�ยนโปรแกรม

ผู้:$เขี�ยนโปรแกรมจะต$องห์าว�ตถ้�ประสุงค�จากงานท�!จะเขี�ยนโปรแกรม ว(าต$องการเขี�ยน โปรแกรมเพิ !อแก$ป%ญห์าอะไรบ$าง

2 . การว�เคราะห์�ห์าร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการการก)าห์นดร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการจาก

โปรแกรม ซึ่,!งร:ปแบบผู้ลัลั�พิธี�อาจอย:(ในลั�กษณ์ะขีองขี$อความห์ร อต�วเลัขี ห์ร อตาราง ห์ร อแผู้นภ:ม� ห์ร ออาจใชุ$ผู้สุมก�นระห์ว(างต�วเลัขีก�บขี$อความ ห์ร อขี$อความก�บต�วเลัขี แลัะตารางก#ได$

Page 11: การเขียนโปรแกรมคอมพิวเตอร์  1

การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))การว�เคราะห์�โปรแกรมแต(ลัะอย(างม�ห์ลั�กเกณ์ฑ์�แลัะรายลัะเอ�ยด

แบ(งได$ 5 ห์�วขี$อ ด�งน�- 3 . การว�เคราะห์�ห์าขี$อม:ลัน)าเขี$าท�!ต$องใสุ(เขี$าไปในโปรแกรม

ผู้:$เขี�ยนโปรแกรมจะต$องห์าขี$อม:ลัน)าเขี$าจากผู้ลัลั�พิธี�ท�!ได$จากโปรแกรม โดยค)าน,งถ้,งขี�-นตอนว�ธี�การค)านวณ์ แลัะขี$อม:ลัท�!จ)าเป*นต$องใสุ(เขี$าไปเพิ !อให์$ได$ผู้ลัลั�พิธี�ท�!ต$องการ

4 . การว�เคราะห์�ห์าต�วแปรท�!จ)าเป*นต$องใชุ$ในโปรแกรมการต�-งชุ !อต�วแปรท�!ใชุ$ในการเก#บขี$อม:ลัแลัะผู้ลัลั�พิธี�ท�-งห์มด

ภายในโปรแกรม   รวมถ้,งต�วแปรบางต�วท�!ใชุ$ในการน�บจ)านวนรอบขีองการท)างานในโปรแกรม

5 . การว�เคราะห์�ห์าขี�-นตอนว�ธี�การท)างานขีองโปรแกรมเป*นการห์าลั)าด�บขี�-นตอนว�ธี�การท)างานขีองโปรแกรม ห์ร อ

เร�ยกว(า อ�ลักอร�ท,ม (Algorithm) จะขี,-นอย:(ก�บลั�กษณ์ะขีองการแก$ป%ญห์าขีองแต(ลัะโปรแกรม

Page 12: การเขียนโปรแกรมคอมพิวเตอร์  1

การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((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. จบการท)างานจบการท)างาน

Page 13: การเขียนโปรแกรมคอมพิวเตอร์  1

การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))ต�วอย(างท�! ต�วอย(างท�! 1.21.2 จงเขี�ยนว�เคราะห์�โปรแกรม จงเขี�ยนว�เคราะห์�โปรแกรม

เพิ !อใชุ$ค)านวณ์ห์าพิ -นท�!สุ�!เห์ลั�!ยมผู้ นผู้$า เพิ !อใชุ$ค)านวณ์ห์าพิ -นท�!สุ�!เห์ลั�!ยมผู้ นผู้$า จ)านวน จ)านวน 11 ร:ป โดยท�!ผู้:$ใชุ$โปรแกรม จะต$องร:ป โดยท�!ผู้:$ใชุ$โปรแกรม จะต$องป5อนความกว$าง แลัะความยาวขีองป5อนความกว$าง แลัะความยาวขีองสุ�!เห์ลั�!ยมผู้ นผู้$า เขี$าไปในโปรแกรม สุ�!เห์ลั�!ยมผู้ นผู้$า เขี$าไปในโปรแกรม

ว�ธี�ท)าว�ธี�ท)า      ตามขี�-นตอนการว�เคราะห์�โปรแกรมท�-งตามขี�-นตอนการว�เคราะห์�โปรแกรมท�-ง    5  5  ขี�-นตอนขี�-นตอน      สุามารถ้แสุดงได$ด�งน�-สุามารถ้แสุดงได$ด�งน�-

Page 14: การเขียนโปรแกรมคอมพิวเตอร์  1

การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))1)1) ว�ตถ้�ประสุงค�ขีองการเขี�ยนโปรแกรมว�ตถ้�ประสุงค�ขีองการเขี�ยนโปรแกรม

เพ)-อิค#านวณพ)/นท�-ส�-เหล�-ยมผ)นผ�าจำ#านวน 1 ร์2ป2)2) ร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการร:ปแบบผู้ลัลั�พิธี�ท�!ต$องการ

     พ�มพผลล�พธ์อิอิกทางิจำอิภาพ   ด�งิน�/

*** Input Data ***Width = 8Length = 12

*** Output ***Area = 96

Page 15: การเขียนโปรแกรมคอมพิวเตอร์  1

การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))3) 3) ขี$อม:ลัน)าเขี$าขี$อม:ลัน)าเขี$า

3.1) ส2ตร์ค#านวณพ)/นท�-ส�-เหล�-ยมผ)นผ�า               พ)/นท�-  =   กว�างิ x ยาว

          3.2) ร์�บค�าความกว�างิและความยาวขึ้อิงิส�-เหล�-ยมผ)นผ�าผ�านทางิค�ยบอิร์ด

4) 4) ต�วแปรท�!ต�-งขี,-นเพิ !อใชุ$ในโปรแกรมต�วแปรท�!ต�-งขี,-นเพิ !อใชุ$ในโปรแกรมWidth   =  ต�วแปร์ท�-ใช่�เก�บความกว�างิขึ้อิงิส�-เหล�-ยมผ)นผ�า  Length  =  ต�วแปร์ท�-ใช่�เก�บความยาวขึ้อิงิส�-เหล�-ยมผ)นผ�าArea = ต�วแปร์ท�-ใช่�เก�บพ)/นท�-ขึ้อิงิส�-เหล�-ยมผ)นผ�า   โดยค#านวณได�จำากส2ตร์    Area   =   Width*Length

Page 16: การเขียนโปรแกรมคอมพิวเตอร์  1

การว�เคราะห์�โปรแกรม การว�เคราะห์�โปรแกรม ((Program Program AnalysisAnalysis ) ( ) (ต(อต(อ))

55 ) ) ขี�-นตอนว�ธี�การท)างานขีองโปรแกรมม�ด�งน�-ขี�-นตอนว�ธี�การท)างานขีองโปรแกรมม�ด�งน�-5.1 ) เร์�-มต�นท#างิาน5.2 ) ร์�บขึ้�อิม2ลค�าความยาวและความกว�างิขึ้อิงิส�-เหล�-ยมผ)นผ�าผ�านค�ยบอิร์ด5.3 ) ค#านวณหาพ)/นท�-ส�-เหล�-ยมผ)นผ�าตามส2ตร์                 พ)/นท�-  =   กว�างิ x ยาว

5.4 ) พ�มพค�าความยาว ความกว�างิ และพ)/นท�-ส�-เหล�-ยมผ)นผ�าอิอิกทางิจำอิภาพ5.5 ) จำบการ์ท#างิาน

Page 17: การเขียนโปรแกรมคอมพิวเตอร์  1

การสุร$างรห์�สุเท�ยม การสุร$างรห์�สุเท�ยม ((PseudocodePseudocode ) ( ) (ต(อต(อ))• ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ((ต(อต(อ))

– Pseudocode Pseudocode ลั�กษณ์ะงานแสุดงผู้ลั ลั�กษณ์ะงานแสุดงผู้ลั ((OutputOutput)) AlgorithmAlgorithm

SeudocodeSeudocode แสดงิค�าช่)-อิ แสดงิค�าช่)-อิ outputoutput namename แสดงิค�าท�-อิย2� แสดงิค�าท�-อิย2� printprint addressaddress แสดงิค�าเกร์ด แสดงิค�าเกร์ด writewrite gradegrade แสดงิค�าคะแนน แสดงิค�าคะแนน writewrite((scorescore))

เช่�นเด�ยวก�น เช่�นเด�ยวก�น outputoutput ,, printprint ,, writewrite ต�างิม�ความต�างิม�ความหมายถ,งิการ์แสดงิค�าอิอิกมาหมายถ,งิการ์แสดงิค�าอิอิกมา

Page 18: การเขียนโปรแกรมคอมพิวเตอร์  1

การสุร$างรห์�สุเท�ยม การสุร$างรห์�สุเท�ยม ((PseudocodePseudocode ) ( ) (ต(อต(อ))• ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ((ต(อต(อ))

– ต�วอย(างท�! ต�วอย(างท�! 1 1

Page 19: การเขียนโปรแกรมคอมพิวเตอร์  1

การสุร$างรห์�สุเท�ยม การสุร$างรห์�สุเท�ยม ((PseudocodePseudocode ) ( ) (ต(อต(อ))• ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ร:ปแบบการเขี�ยนการสุร$างรห์�สุเท�ยม ((ต(อต(อ))

– ต�วอย(างท�! ต�วอย(างท�! 2 2

Page 20: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design))

การออกแบบโปรแกรม เป*นการการออกแบบโปรแกรม เป*นการน)าเอาว�ธี�การท�!ได$จากการน)าเอาว�ธี�การท�!ได$จากการว�เคราะห์�โปรแกรมมาเขี�ยนว�เคราะห์�โปรแกรมมาเขี�ยนแผู้นภาพิห์ร อสุ�ญลั�กษณ์�แสุดงแผู้นภาพิห์ร อสุ�ญลั�กษณ์�แสุดงลั)าด�บขี�-นตอนการท)างานขีองลั)าด�บขี�-นตอนการท)างานขีองโปรแกรม โปรแกรม ((FlowchartFlowchart))

Page 21: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))

““ผู้�งงานผู้�งงาน” ” ((flowchartflowchart ) ) ทางทางคอมพิ�วเตอร�คอมพิ�วเตอร� เป*นเคร !องม อท�!ใชุ$เขี�ยน เป*นเคร !องม อท�!ใชุ$เขี�ยนอ�ลักอร�ท,มร:ปแบบห์น,!งซึ่,!งเขี$าใจง(าย ใชุ$อ�ลักอร�ท,มร:ปแบบห์น,!งซึ่,!งเขี$าใจง(าย ใชุ$ร:ปภาพิเป*นสุ�ญลั�กษณ์�แสุดงการท)างาน ร:ปภาพิเป*นสุ�ญลั�กษณ์�แสุดงการท)างาน

““ผู้�งงานผู้�งงาน”” ห์มายถ้,ง แผู้นภาพิท�!เขี�ยนขี,-นห์มายถ้,ง แผู้นภาพิท�!เขี�ยนขี,-นโดยใชุ$สุ�ญลั�กษณ์�มาตรฐาน เพิ !อแสุดงโดยใชุ$สุ�ญลั�กษณ์�มาตรฐาน เพิ !อแสุดงขี�-นตอนว�ธี�การท)างานขีองโปรแกรม ขี�-นตอนว�ธี�การท)างานขีองโปรแกรม ห์ร อระบบงานท�!ต$องการ ห์ร อระบบงานท�!ต$องการ

Page 22: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))

ประเภทขีองผู้�งงาน ผู้�งงานสุามารถ้ประเภทขีองผู้�งงาน ผู้�งงานสุามารถ้จ)าแนกออกได$ จ)าแนกออกได$ 22 ประเภท ค อประเภท ค อ

11 ) ) ผู้�งงานระบบ ผู้�งงานระบบ ((system flowchartsystem flowchart ) ) ห์มายถ้,ง ผู้�งงานท�!แสุดงถ้,งขี�-นตอนว�ธี�ห์มายถ้,ง ผู้�งงานท�!แสุดงถ้,งขี�-นตอนว�ธี�การท)างานขีองระบบงานใดระบบห์น,!ง การท)างานขีองระบบงานใดระบบห์น,!ง

Page 23: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))

22 ) ) ผู้�งงานโปรแกรม ผู้�งงานโปรแกรม ((program program flowchartflowchart ) ) ห์มายถ้,งผู้�งงานท�!ห์มายถ้,งผู้�งงานท�!แสุดงขี�-นตอน ว�ธี�การท)างานขีองแสุดงขี�-นตอน ว�ธี�การท)างานขีองโปรแกรมท�!ต$องการเขี�ยนขี,-นโปรแกรมท�!ต$องการเขี�ยนขี,-น

Page 24: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))

สุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานสุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานโปรแกรมโปรแกรมSymbol

Meaning

Terminator Symbolใชุ$แสุดงต)าแห์น(งขีองจ�ดเร�!มต$น จ�ดสุ�-นสุ�ดโปรแกรมProcess Symbolใชุ$ในการค)านวณ์Input/Output Symbolใชุ$ในการร�บขี$อม:ลั การแสุดงผู้ลัขี$อม:ลั

Page 25: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))

สุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานสุ�ญลั�กษณ์�มาตรฐานท�!ใชุ$เขี�ยนผู้�งงานโปรแกรมโปรแกรมSymb

olMeaning

Display /Monitor Symbol ใชุ$เม !อต$องการระบ�ให์$แสุดงขี$อม:ลับนจอภาพิ Document Symbol ใชุ$เม !อต$องการระบ�ให์$แสุดงขี$อม:ลับนเคร !องพิ�มพิ� Decision Symbol ใชุ$ในการเปร�ยบเท�ยบเง !อนไขีห์ร อต�ดสุ�นใจ Keyboard Symbol ใชุ$ในการร�บขี$อม:ลัจากแป5นพิ�มพิ� External Subroutine Symbol ใชุ$เร�ยกฟ%งก�ชุ�นต(าง ๆ ท�! C Compiler สุร$างไว$แลั$ว

Page 26: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโปรแกรม การออกแบบโปรแกรม ((program Designprogram Design ) ( ) (ต(อต(อ))

Comment Symbol ใชุ$แสุดงความเห์#น ค)าอธี�บาย ห์ร อขี$อสุ�งเกตต(าง ๆ Flowline Symbol ใชุ$เป*นจ�ดเชุ !อมต(อระห์ว(างสุ�ญลั�กษณ์� On-page Connector Symbol ใชุ$ในการเชุ !อมโยงในห์น$าเด�ยวก�น Off-page Connector Symbol ใชุ$ในการเชุ !อมโยงไปห์น$าอ !น

Manual  Operationการร�บขี$อม:ลัห์ร อแสุดงผู้ลัลั�พิธี�โดยไม(ระบ�สุ !อ Internal Subroutine Symbol ใชุ$เร�ยกฟ%งก�ชุ�นต(าง ๆ ท�!ผู้:$เขี�ยนโปรแกรมสุร$างไว$ใชุ$งานภายในโปรแกรม

Page 27: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) )ค อ เทคน�คท�!ใชุ$ในการออกแบบอ�ลักอร�ท,ม ซึ่,!งค อ เทคน�คท�!ใชุ$ในการออกแบบอ�ลักอร�ท,ม ซึ่,!ง

โครงสุร$างขีองอ�ลักอร�ท,มม�อย:( โครงสุร$างขีองอ�ลักอร�ท,มม�อย:( 33 โครงสุร$าง ได$แก( โครงสุร$าง ได$แก( 11 . . โครงสุร$างควบค�มการท)างานแบบเร�ยงลั)าด�บ โครงสุร$างควบค�มการท)างานแบบเร�ยงลั)าด�บ ((Sequence Control StructureSequence Control Structure ) )

22 . . โครงสุร$างควบค�มการท)างานแบบเลั อกกระท)าโครงสุร$างควบค�มการท)างานแบบเลั อกกระท)า ((Selection Control StructureSelection Control Structure ) )

33 . . โครงสุร$างควบค�มการท)างานแบบวนซึ่)-า โครงสุร$างควบค�มการท)างานแบบวนซึ่)-า ((Repetition Control StructureRepetition Control Structure))

Page 28: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )1 . โครงสุร$างควบค�มการท)างานแบบเร�ยงลั)าด�บ

(Sequence Control Structure )เป*นโครงสุร$างท�!ม�การท)างานท�กค)าสุ�!งอย(างเป*นลั)าด�บขี�-นตอน ประกอบไปด$วยค)าสุ�!งท�!วๆ ไป ไม(ม�การต�ดสุ�นใจไม(ม�การวนซึ่)-า (Looping ) ไม(ม�การขี$ามขี�-นตอนห์ร อย$อยกลั�บไปท)าขี�-นตอนเด�ม จะท)างานตาม

ค#าส�-งิท�- 1

ค)าสุ�!งท�! 2

ค)าสุ�!งท�! n

Page 29: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )2 . โครงสุร$างควบค�มการท)างานแบบม�

เง !อนไขีเลั อกกระท)า (Selection Control Structure)1 ) โครงสุร$างแบบทดสุอบเง !อนไขี 1 ทางเลั อก

ท)าการทดสุอบเง !อนไขีว(าเป*นจร�งห์ร อเท#จ ถ้$าเง !อนไขีเป*นจร�ง ให์$ท)างานตามค)าสุ�!งท�!ก)าห์นดไว$แลั$วออกจากการท)างาน แต(ถ้$าเง !อนไขีเป*นเท#จ ให์$ออกจากการท)างาน

Page 30: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )1 ) โครงสุร$างแบบทดสุอบเง !อนไขี 1 ทางเลั อก

Page 31: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )2 ) โครงสุร$างแบบทดสุอบเง !อนไขี 2 ทางเลั อก

ท)าการทดสุอบเง !อนไขีว(าเป*นจร�งห์ร อเท#จ ถ้$าเง !อนไขีเป*นจร�ง ให์$ท)างานตามค)าสุ�!ง A ท�!ก)าห์นดไว$แลั$วออกจากการท)างาน แต(ถ้$าเง !อนไขีเป*นเท#จ ให์$ท)างานตามค)าสุ�!ง B ท�!ก)าห์นดไว$แลั$วออกจากการท)างาน

Page 32: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )3 ) โครงสุร$างแบบทดสุอบเง !อนไขีมากกว(า 2 ทางขี,-นไป

Page 33: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )3 . โครงสุร$างควบค�มการท)างานแบบวนซึ่)-า

(Repetition Control Structure)1 ) โครงสุร$างแบบท)างานวนลั:ป

ห์มายถ้,ง โครงสุร$างขีองค)าสุ�!งท�!ม�การท)างานซึ่)-า ๆ เป*นวงจรป?ด จนกว(าเง !อนไขีท�!ทดสุอบจะตรงก�บค(าจร�งห์ร อเท#จตามโครงสุร$างท�!ใชุ$ จ,งสุามารถ้ออกจากการท)างานได$ 

Page 34: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )1 ) โครงสุร$างแบบ DO UNTIL

ประโยคเง !อนไขี

ค)าสุ�!งการท)างาน

เท#จ

จร�ง

Page 35: การเขียนโปรแกรมคอมพิวเตอร์  1

การออกแบบโครงสุร$าง การออกแบบโครงสุร$าง ((Structured DesignStructured Design ) ( ) (ต(อต(อ ) )2 ) โครงสุร$างแบบ DO WHILE

ประโยคเง !อนไขี

ค)าสุ�!งการท)างาน

เท#จ

จร�ง

Page 36: การเขียนโปรแกรมคอมพิวเตอร์  1

ห์ลั�กการเขี�ยนผู้�งงานโปรแกรมห์ลั�กการเขี�ยนผู้�งงานโปรแกรม11 ) ) เขี�ยนผู้�งงานจากด$านบนลังด$านลั(างเขี�ยนผู้�งงานจากด$านบนลังด$านลั(าง22 ) ) ใชุ$สุ�ญลั�กษณ์�ให์$ตรงก�บความห์มายขีองผู้�งงานใชุ$สุ�ญลั�กษณ์�ให์$ตรงก�บความห์มายขีองผู้�งงาน33 ) ) ใชุ$เสุ$น ใชุ$เสุ$น flow line flow line แลัะ แลัะ arrowheads arrowheads แสุดงแสุดง

ท�ศัทางการท)างานขีองผู้�งงานท�ศัทางการท)างานขีองผู้�งงาน44 ) ) ใสุ(ค)าอธี�บายลังในสุ�ญลั�กษณ์�สุ�-น ๆ แต(เขี$าใจง(าย จะใชุ$ใสุ(ค)าอธี�บายลังในสุ�ญลั�กษณ์�สุ�-น ๆ แต(เขี$าใจง(าย จะใชุ$

ภาษาไทยห์ร ออ�งกฤษก#ได$ภาษาไทยห์ร ออ�งกฤษก#ได$55 ) ) ห์ลั�กเลั�!ยงการโยงเสุ$นท�ศัทางขีองผู้�งงานให์$ต�ดก�นห์ลั�กเลั�!ยงการโยงเสุ$นท�ศัทางขีองผู้�งงานให์$ต�ดก�น

เพิราะจะท)าให์$สุ�บสุน ควรใชุ$จ�ดเชุ !อมต(อ เพิราะจะท)าให์$สุ�บสุน ควรใชุ$จ�ดเชุ !อมต(อ ((connectorconnector ) ) ห์น$าเด�ยวก�นแทน จะเขี$าใจได$ง(ายห์น$าเด�ยวก�นแทน จะเขี$าใจได$ง(ายแลัะเป*นระเบ�ยบแลัะเป*นระเบ�ยบ

66 ) ) พิยายามเขี�ยนผู้�งงานให์$จบในห์น$ากระดาษเด�ยวก�น พิยายามเขี�ยนผู้�งงานให์$จบในห์น$ากระดาษเด�ยวก�น แต(ถ้$าไม(จบในห์น$าเด�ยวก�น ควรใชุ$จ�ดเชุ !อมต(อต(างแต(ถ้$าไม(จบในห์น$าเด�ยวก�น ควรใชุ$จ�ดเชุ !อมต(อต(างห์น$ากระดาษ ห์น$ากระดาษ ((off page connectoroff page connector))

Page 37: การเขียนโปรแกรมคอมพิวเตอร์  1

ขี�-นตอนการเขี�ยนผู้�งงานโปรแกรมขี�-นตอนการเขี�ยนผู้�งงานโปรแกรม

Page 38: การเขียนโปรแกรมคอมพิวเตอร์  1

ขี�-นตอนการเขี�ยนผู้�งงานโปรแกรมขี�-นตอนการเขี�ยนผู้�งงานโปรแกรม

Page 39: การเขียนโปรแกรมคอมพิวเตอร์  1

ขี�-นตอนการเขี�ยนผู้�งงานโปรแกรมขี�-นตอนการเขี�ยนผู้�งงานโปรแกรม

แบบลั)าด�บ แบบลั)าด�บ ((SequenceSequence))

แบบม�เง !อนไขีแบบม�เง !อนไขี//เลั อกท)า เลั อกท)า ((selectionselection))

แบบวนรอบ แบบวนรอบ ((looploop))

Page 40: การเขียนโปรแกรมคอมพิวเตอร์  1

การเขี�ยนโปรแกรมการเขี�ยนโปรแกรม    ((programmingprogramming))

ค อ การเปลั�!ยนอ�ลักอร�ท,มเป*นภาษาท�!คอมพิ�วเตอร�สุามารถ้น)าไปปฏิ�บ�ต�ได$ ท�!เร�ยกว(าSource Code

Page 41: การเขียนโปรแกรมคอมพิวเตอร์  1

ความห์มายขีองโปรแกรมความห์มายขีองโปรแกรมคอมพิ�วเตอร�คอมพิ�วเตอร�โปรแกรมคอมพิ�วเตอร� (computer

program ) ห์มายถ้,ง ชุ�ดขีองค)าสุ�!งท�!เขี�ยนขี,-นเพิ !อสุ�!งให์$คอมพิ�วเตอร�ท)างานตามท�!ต$องการ สุ(วนการเขี�ยนโปรแกรม (programming ) ห์มายถ้,ง การเขี�ยนชุ�ดค)าสุ�!งด$วยภาษาคอมพิ�วเตอร�ภาษาใดภาษาห์น,!ง เพิ !อให์$คอมพิ�วเตอร�ท)างานตามโปรแกรมท�!เราเขี�ยนขี,-น

ด�งน�-น ผู้:$เขี�ยนโปรแกรม (programmer ) จ,งจ)าเป*นต$องเร�ยนร:$ภาษาคอมพิ�วเตอร�ภาษาใดภาษาห์น,!งห์ร อห์ลัายภาษา แลั$วฝึBกฝึนท�กษะการเขี�ยนโปรแกรมด$วยภาษาคอมพิ�วเตอร�ท�!ต$องการใชุ$งานให์$เก�ดความชุ)านาญจ,งจะสุามารถ้เขี�ยนโปรแกรมคอมพิ�วเตอร�ได$อย(างม�ประสุ�ทธี�ภาพิ

Page 42: การเขียนโปรแกรมคอมพิวเตอร์  1

ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((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

Page 43: การเขียนโปรแกรมคอมพิวเตอร์  1

ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((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

Page 44: การเขียนโปรแกรมคอมพิวเตอร์  1

ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((Computer Computer LanguageLanguage))

3 . ภาษาในย�คท�! 3 (Third Generation Language:3GL)

3GL เร�ยกอ�กอย(างห์น,!งว(า “ภาษาระด�บสุ:ง (High-Level Language)” ภาษาระด�บสุ:งเป*นภาษาท�!ผู้:$เขี�ยนโปรแกรมสุามารถ้เขี$าใจได$ง(ายกว(าภาษาแอสุเซึ่มบลั�แลัะภาษาเคร !อง ท�-งน�-ก#เพิราะการเขี�ยนค)าสุ�!งขีองภาษาระด�บสุ:งม�ลั�กษณ์ะเป*นภาษาอ�งกฤษ ซึ่,!งอ(านแลั$วเขี$าใจได$ง(ายกว(าภาษาแอสุเซึ่มบลั� เชุ(น ใชุ$ค)าว(า READ, WRITE, PRINT, COMPUTE เป*นต$น ต�วอย(างขีองภาษาระด�บสุ:งได$แก( ภาษาฟอร�แทรน (FORTRAN), ภาษาโคบอลั (COBOL), ภาษาเบสุ�ก (BASIC), ภาษาปาสุคาลั (PASCAL ) แลัะภาษาซึ่� (C ) เป*นต$น

Page 45: การเขียนโปรแกรมคอมพิวเตอร์  1

ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((Computer Computer LanguageLanguage))

4 . ภาษาในย�คท�! 4 (Fourth Generation Language:4GL)

4GL เร�ยกอ�กอย(างห์น,!งว(า “ภาษาระด�บสุ:งมาก (Very High-Level Language)” โดยได$พิ�ฒนาจากภาษาในย�คท�! 3 ให์$ม�ประสุ�ทธี�ภาพิมากขี,-น ม�ค)าสุ�!งท�!สุามารถ้เขี�ยนเป*นภาษาอ�งกฤษได$มากขี,-น แลัะสุามารถ้น)ามาใชุ$เขี�ยนค)าสุ�!งเพิ !อเชุ !อมต(อก�บฐานขี$อม:ลัได$ ซึ่,!งน�กเขี�ยนโปรแกรมไม(ต$องบอกว�ธี�การท)างานโดยลัะเอ�ยด เพิ�ยงระบ�เป*นค)าสุ�!งสุ�-น ๆ ให์$ภาษาระด�บสุ:งมากเขี$าใจก#พิอ สุ(วนการค)านวณ์ห์ร อการท)างานภาษาระด�บสุ:งมากจะจ�ดการเองท�-งห์มด เชุ(น JAVA , SQL,Visual Basic , PHP เป*นต$น

Page 46: การเขียนโปรแกรมคอมพิวเตอร์  1

ภาษาคอมพิ�วเตอร� ภาษาคอมพิ�วเตอร� ((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

Page 47: การเขียนโปรแกรมคอมพิวเตอร์  1

ต�วแปลัภาษาคอมพิ�วเตอร� ต�วแปลัภาษาคอมพิ�วเตอร� ((Translation ProgramTranslation Program))ค อ โปรแกรมระบบท�!ท)าห์น$าท�!ใน

การแปลัโปรแกรม ห์ร อชุ�ดค)าสุ�!งท�!เขี�ยนด$วยภาษาท�!ไม(ใชุ(ภาษาเคร !องห์ร อภาษาท�!เคร !องไม(เขี$าใจให์$เป*นภาษาท�!เคร !องเขี$าใจ แลัะน)าไปปฏิ�บ�ต�ได$ เชุ(น ภาษาBASIC,COBOL,C,PASCAL, FORTRAN,ASSEMBLY เป*นต$น สุ)าห์ร�บต�วแปลัน�-นจะม�อย:( 3 แบบ ค อ

Page 48: การเขียนโปรแกรมคอมพิวเตอร์  1

ต�วแปลัภาษาคอมพิ�วเตอร� ต�วแปลัภาษาคอมพิ�วเตอร� ((Translation ProgramTranslation Program))1. Assembler เป*นโปรแกรมท�!ใชุ$แปลัภาษาแอสุแซึ่มบลั� ซึ่,!งม�

ลั�กษณ์ะการแปรท�ลัะค)าสุ�!ง เม !อท)าตามค)าสุ�!งน�-นเสุร#จแลั$ว ก#จะแปลัค)าสุ�!งถ้�ดไปเร !อย ๆ จนจบ

2 . อ�นเตอร�พิร�เตอร� (Interpreter ) เป*นต�วแปลัภาษาระด�บสุ:งเชุ(นเด�ยวก�บคอมไพิลั�เลัอร�แต(จะแปลัพิร$อมก�บท)างานตามค)าสุ�!งท�ลัะค)าสุ�!งตลัอดไปท�-งโปรแกรม ท)าให์$การแก$ไขีโปรแกรมท)าได$ง(ายแลัะรวดเร#ว การแปลัโดยใชุ$อ�นเตอร�พิร�เตอร�จะไม(สุร$างโปรแกรมเร�ยกใชุ$งาน ด�งน�-นจะต$องท)าการแปลัให์ม(ท�กคร�-งท�!ม�การเร�ยกใชุ$งาน ต�วอย(างต�วแปลัภาษาท�!ใชุ$ต�วแปลัอ�นเตอร�พิร�เตอร� เชุ(น ภาษาเบสุ�ก (BASIC )

3 . คอมไพิเลัอร� (Compiler ) เป*นต�วแปลัภาษาระด�บสุ:ง เชุ(น ภาษาปาสุคาลั ภาษาโคบอลัแลัะภาษาฟอร�เเทรน การท)างานจะใชุ$ห์ลั�กการแปลัโปรแกรมต$นฉบ�บท�-งโปรแกรมให์$เป*นโปรแกรมเร�ยกใชุ$งาน (executable program ) ซึ่,!งจะถ้:กบ�นท,กไว$ในลั�กษณ์ะขีองแฟ5มขี$อม:ลัห์ร อไฟลั� เม !อต$องการเร�ยกใชุ$งานโปรแกรมก#สุามารถ้เร�ยกใชุ$จากไฟลั�เร�ยกใชุ$งานโดยไม(ต$องท)าการแปลัห์ร อคอมไพิลั�อ�ก ท)าให์$การท)างานเป*นไปอย(างรวดเร#ว

Page 49: การเขียนโปรแกรมคอมพิวเตอร์  1

การทดสุอบโปรแกรม การทดสุอบโปรแกรม ((Program Program TestingTesting))ห์ลั�งจากท�!เราเขี�ยนโปรแกรมเสุร#จแลั$ว ขี�-นตอนต(อ

ไป ค อ การทดสุอบโปรแกรมท�!เขี�ยนขี,-นซึ่,!งอาจพิบความผู้�ดพิลัาดได$ 2 ชุน�ด ด�งน�-

1 ) ความผู้�ดพิลัาดทางไวยากรณ์�ภาษา (syntax error ) เป*นความผู้�ดพิลัาดท�!เก�ดจากการเขี�ยนค)าสุ�!งขีองภาษาคอมพิ�วเตอร�ผู้�ด ต�วอย(างเชุ(น ค)าสุ�!ง printf ( ) ในภาษา C ต$องเขี�ยนด$วยต�วอ�กษรต�วเลั#ก แต(เขี�ยนเป*น PRINTF ( ) เป*นต$น โดยสุ(วนมากความผู้�ดพิลัาดทางไวยากรณ์� จะถ้:กตรวจสุอบพิบเม !อม�การแปลัโปรแกรม (compile ) ให์$เป*นภาษาเคร !อง ซึ่,!งเราสุามารถ้แก$ไขีโดยการเขี�ยนค)าสุ�!งให์$ถ้:กต$องตามไวยากรณ์�ขีองภาษาน�-น ๆ

2 ) ความผู้�ดพิลัาดทางตรรกะ (logical error ) เป*นความผู้�ดพิลัาดท�!เก�ดจากการลั)าด�บการท)างานผู้�ดห์ร อป5อนสุ:ตรค)านวณ์ผู้�ด

Page 50: การเขียนโปรแกรมคอมพิวเตอร์  1

การทบทวนการท)างานขีองการทบทวนการท)างานขีองโปรแกรมคร�-งสุ�ดท$าย โปรแกรมคร�-งสุ�ดท$าย

((Program FormalizationProgram Formalization))เป*นขี�-นตอนขีองการตรวจสุอบ Source Code ขีองโปรแกรมท�-งห์มดอ�กคร�-ง แลั$ว ลับ Dead Code ...ต(างๆออกให์$ห์มด จากน�-นทดลัองร�นโปรแกรมด:ว(าโปรแกรมย�งคงท)างานได$เห์ม อนเด�มห์ร อไม( ห์ลั�งจากน�-นโปรแกรมเมอร�จะตรวจสุอบเอกสุารต(างๆท�!เก�!ยวก�บต�วโปรแกรม แลัะสุ(งมอบเอกสุารท�-งห์มดให์$ก�บน�กว�เคราะห์�ระบบ

Page 51: การเขียนโปรแกรมคอมพิวเตอร์  1

การบ)าร�งร�กษาโปรแกรม การบ)าร�งร�กษาโปรแกรม ((Program MaintenanceProgram Maintenance)) ขี�-นตอนสุ�ดท$ายในการเขี�ยนโปรแกรม

คอมพิ�วเตอร�จะเร�!มห์ลั�งจากโปรแกรมคอมพิ�วเตอร�ท�!พิ�ฒนาขี,-นน�-นเป*นท�!ยอมร�บจากผู้:$ใชุ$แลัะได$ปฏิ�บ�ต�งานมาแลั$วชุ�!วระยะเวลัาห์น,!ง ต(อมาเก�ดความจ)าเป*นบางอย(างเก�ดขี,-น เชุ(น ต$องการปร�บปร�งระบบให์$ม�ประสุ�ทธี�ภาพิด�ขี,-น ห์ร อต$องการแก$ไขีห์น$าท�!บางอย(างห์ร อต$องการขียายขี�ดความสุามารถ้ขีองโปรแกรม ห์ร ออาจเก�ดจากความผู้�ดพิลัาดในโปรแกรมต$องการแก$ไขีให์$ถ้:กต$อง โดยอาจม�ผู้ลัมาจากนโยบายขีองบร�ษ�ทท�!เปลั�!ยนไป ห์ร อระเบ�ยบทางราชุการบ�งค�บ ห์ร อการแขี(งขี�นทางธี�รก�จ ฯลัฯ

Page 52: การเขียนโปรแกรมคอมพิวเตอร์  1

การบ)าร�งร�กษาโปรแกรม การบ)าร�งร�กษาโปรแกรม ((Program MaintenanceProgram Maintenance)) ขี�-นตอนสุ�ดท$ายในการเขี�ยนโปรแกรม

คอมพิ�วเตอร�จะเร�!มห์ลั�งจากโปรแกรมคอมพิ�วเตอร�ท�!พิ�ฒนาขี,-นน�-นเป*นท�!ยอมร�บจากผู้:$ใชุ$แลัะได$ปฏิ�บ�ต�งานมาแลั$วชุ�!วระยะเวลัาห์น,!ง ต(อมาเก�ดความจ)าเป*นบางอย(างเก�ดขี,-น เชุ(น ต$องการปร�บปร�งระบบให์$ม�ประสุ�ทธี�ภาพิด�ขี,-น ห์ร อต$องการแก$ไขีห์น$าท�!บางอย(างห์ร อต$องการขียายขี�ดความสุามารถ้ขีองโปรแกรม ห์ร ออาจเก�ดจากความผู้�ดพิลัาดในโปรแกรมต$องการแก$ไขีให์$ถ้:กต$อง โดยอาจม�ผู้ลัมาจากนโยบายขีองบร�ษ�ทท�!เปลั�!ยนไป ห์ร อระเบ�ยบทางราชุการบ�งค�บ ห์ร อการแขี(งขี�นทางธี�รก�จ ฯลัฯ