37
หหหหหหหหหหหห หหหหหหห ง33201 งงงงงงงงง งงงงงงงง ง.3 1

หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

Embed Size (px)

DESCRIPTION

หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3. โปรแกรมเมอร์คนแรกของโลก. Augusta Lovelace Ada คือ โปรแกรมเมอร์คนแรกของโลก แต่ Edsger Wybe Dijkstra ใช้คำว่า โปรแกรมเมอร์ (Programmer) กับโลกของคอมพิวเตอร์เป็นคนแรก. - PowerPoint PPT Presentation

Citation preview

Page 1: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

หลั�กการเขียนโปรแกรม

ง 33201

เทคโนโลยีสารสนเทศ ม3.

1

Page 2: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

โปรแกรมเมอร�คนแรกขีองโลัก Augusta Lovelace Ada ค�อ

โปรแกรมเมอร�คนแรกขีองโลัก แต่� Edsger Wybe Dijkstra ใช้�ค�าว่�า โปรแกรมเมอร� (Programmer) ก�บโลักขีองคอมพิ�ว่เต่อร�เป นคนแรก

ข้�อม�ลจาก -341http://www.cs.utexas.edu/users/dahlin/Classes/GradOS/papers/p dijkstra.pdf

Page 3: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

โปรแกรมเมอร�คนแรกข้องโลก

•"what if a calculating engine could not only foresee but could act on that foresight" •(จะเป�นอยี�างไร ถ้�าหากเคร !องค"านวณไม�เพียีงสามารถ้หยี&!งร� �ได้� หากแต่�สามารถ้ต่อบสนองต่�อการหยี&!งร� �น& *นได้�ด้�วยี)•ส+!งท!เธอท"าค อ การสร�างภาษาส"าหร&บเคร !องว+เคราะห� (analytical engine)

Page 4: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

โปรแกรมเมอร�คนแรกข้องโลก

•แต่�งเพีลงท!ซั&บซั�อน •สร�างภาพีกราฟิ2ก •น"ามาใช้�เพี !อการค"านวณข้&*นส�ง •พี&ฒนาวงการว+ทยีาศาสต่ร�ได้�

•ร�อยีกว�าป6ต่�อมา ในป6 พี.ศ . 2522 (ค.ศ . 1979)

กระทรวงกลาโหมสหร&ฐฯ สร�างภาษาคอมพี+วเต่อร�

มาต่รฐานISO ข้9*นมาต่&วแรก พีร�อมต่&*งช้ !อเพี !อเป�นเกยีรต่+แก�

เลด้* เอด้า ว�า ภาษา "ADA"

Page 5: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ภาษาคอมพิ�ว่เต่อร�

หมายถึ$ง สั�ญลั�กษณ์�ที่)ผู้+�ค�ดพิ�ฒนาภาษาก�าหนดขี$.นมา เพิ�)อใช้�แที่นค�าสั�)งสั�)อสัารสั�)งงาน ระหว่�างมน0ษย�ก�บเคร�)องคอมพิ�ว่เต่อร�แลัะอ0ปกรณ์�ต่�อพิ�ว่งอ�)นๆ

Page 6: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ภาษาคอมพี+วเต่อร�มมากมายีข้�อม�ลจาก 143http://dmoz.org/Computers/Programming/Languages/ ภาษา

ABC, Ada, ADL, Algol 60, Algol 68, APL, AppleScript@, Assembly, Awk, BASIC, Befunge, BETA, Bigwig, Bistro@, Blue, Brainfuck, C, C++, Caml@, Cecil, CHILL, Clarion, Clean, Clipper, CLU, Cobol, CobolScript, Cocoa, Component Pascal@, C-sharp, Curl, D, DATABUS, Delphi, DOS Batch@, Dylan, E, Eiffel, ElastiC, Erlang, Euphoria, Forth, Fortran, Fortress, FP, Frontier, Goedel, Groovy@, Haskell, HTML@, HTMLScript@, HyperCard@, ICI, Icon, IDL, Intercal, Io, Jal@, Java, JavaScript, Jovial, LabVIEW, Lagoona@, LaTeX@, Leda, Limbo, Lisp, Logo@, Lua, m4, Maple@, Mathematica@, MATLAB@, Mercury, Miranda, Miva, ML, Modula-2, Modula-3, Moto, Oberon, Objective Caml@, Objective-C, Obliq, Occam, Oz, Pascal, Perl, PHP, Pike, PL, Pliant, PL-SQL, POP-11, PostScript@, PowerBuilder@, Prograph, Prolog, Proteus, Python, R@, REBOL, Refal, Rexx, Rigal, RPG, Ruby, SAS, Sather, Scheme@, Self@, SETL, SGML@, Simkin, Simula, Sisal, S-Lang, Smalltalk, Snobol, SQL, Squeak@, Tcl-Tk, Tempo, TeX@, TOM, TRAC, Transcript, Turing, T3X, UML@, VBScript@, Verilog@, VHDL@, Visual Basic, Visual DialogScript, Visual FoxPro, Water, XML@, XOTcl@, YAFL, Yorick, Z

Page 7: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ภาษาคอมพิ�ว่เต่อร�ภาษาคอมพิ�ว่เต่อร� สัามารถึแบ�งออกได�เป น 5 ย0คค�อ 1. ภาษาเคร�)อง (Machine language) 2. ภาษาแอสัเซมบลั (Assembly language) 3. ภาษาช้�.นสั+ง - (High level language)หร�อ

ภาษาร0�นที่) 3 (3GL:Third Generation Language)

4. ภาษาช้�.นสั+งมาก - (Very high level language) หร�อภาษาร0�นที่) 4 (4GL)

5. ภาษาธรรมช้าต่� (Natural language)หร�อภาษาร0�นที่) 5 (5GL)

Page 8: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

1. 1. ภาษาเคร�)องภาษาเคร�)อง (Machine

language) เป นภาษาพิ�.นฐานที่)คอมพิ�ว่เต่อร�

สัามารถึเขี�าใจได� แต่�ลัะค�าสั�)งประกอบขี$.นจากกลั0�มต่�ว่เลัขี

0 แลัะ 1ซ$)งเป นเลัขีฐานสัอง

Page 9: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

2. 2. ภาษาแอสัเซมบลั ภาษาแอสัเซมบลั (Assembly language) (Assembly language)

เป�นภาษาท!ใช้�ส&ญล&กษณ�ข้�อความ แทนกล;�มข้องต่&วเลข้ฐานสอง

เพี !อให�ง�ายีต่�อการเข้ยีนและการจด้จ"ามากข้9*น การท"างานข้องโปรแกรมจะต่�องท"าการแปลภาษา

แอสเซัมบลให�เป�นภาษาเคร !อง โด้ยีใช้�ต่&วแปลท!เรยีกว�า แอสเซัม

เบลอร� (Assembler)

Page 10: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

3. ภาษาช้�.นสั+ง - (High level language) หร�อภาษาร0�นที่) 3

(3GL:Third Generation Language) ถ้�กสร�างข้9*นมาเพี !อให�เข้ยีนโปรแกรมได้�ง�ายีข้9*น

โด้ยีมล&กษณะเหม อนก&บภาษาอ&งกฤษท&!วไป ผู้��เข้ยีนไม�จ"าเป�นต่�องมความร� �เก!ยีวก&บฮาร�แวร�แต่�อยี�าง

ใด้ ภาษาน*จ"าเป�นต่�องมต่&วแปลภาษาเคร !องเช้�นก&น เรยีก

ต่&วแปลน*ว�า คอมไพีเลอร� (compiler) หร อ อ+นเต่อร�พีรเต่อร� (Interpreter) อยี�างใด้อยี�างหน9!ง

ต่&วอยี�างข้องภาษาช้&*นส�ง เช้�น ภาษาปาสคาล ภาษาซั ภาษาโคบอล ภาษาเบส+ก ภาษาฟิอร�แทรน

Page 11: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

4. 4. ภาษาช้&*นส�งมาก ภาษาช้&*นส�งมาก (Very (Very- high level language)- high level language)

หร อภาษาร; �นท! หร อภาษาร; �นท! 44 (4GL) (4GL)

เป�นภาษาท!มล&กษณะคล�ายีภาษาพี�ด้ต่ามปกต่+ข้องมน;ษยี� ภาษาน*จะช้�วยีให�การเข้ยีนโปรแกรมเร?ว

มากข้9*นกว�าภาษาในร; �นท! 3 เน !องจากมเคร !องม อท!ช้�วยีในการสร�างแบบฟิอร�มหน�าจอ เพี !อจ&ด้การก&บข้�อม�ลรวมไปถ้9งการออกรายีงาน เมน�ต่�าง ๆ

ต่&วอยี�างข้องภาษาช้&*นส�งมากได้�แก� informix-4GL, MAGIC , Delphi , Power Builder ฯลฯ

Page 12: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

5. 5. ภาษาธรรมช้าต่+ ภาษาธรรมช้าต่+ (Natural (Natural language) language)

หร อภาษาร; �นท! หร อภาษาร; �นท! 55 (5GL) (5GL) เป�นภาษาท!สามารถ้ส&!งงานคอมพี+วเต่อร�โด้ยีใช้�ร�ป

แบบข้องภาษามน;ษยี�ได้�เลยี ค"าส&!งอยี��ในร�ปแบบท!ไม�แน�นอนต่ายีต่&ว แต่�

คอมพี+วเต่อร�จะท"าการแปลให�ออกมาในร�ปท!คอมพี+วเต่อร�เข้�าใจได้�

ภาษาน*ถ้�กสร�างข้9*นมาจากเทคโนโลยีทางด้�านระบบผู้��เช้!ยีวช้าญ (Expert system)

ต่&วอยี�างภาษาในร; �นท! 5 ได้�แก� ภาษา PROLOG เป�นต่�น

Page 13: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ข้&*นต่อนการเข้ยีนโปรแกรมคอมพี+วเต่อร�

13

การว+เคราะห�ปAญหา (Problem analysis) การออกแบบโปรแกรม (Design) การเข้ยีนโปรแกรมโด้ยีใช้�ภาษาใด้ภาษาหน9!ง (Coding) การต่รวจสอบข้�อผู้+ด้พีลาด้ข้องโปรแกรม (Testing

and Debugging ) การทด้สอบความถ้�กต่�องข้องโปรแกรม (Testing and

validating) การท"าเอกสารประกอบโปรแกรม (Documentation) การบ"าร;งร&กษาโปรแกรม (Program Maintenance)

Page 14: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การออกแบบโปรแกรม14

เคร !องม อท!ใช้�ในการออกแบบ ผู้&งงาน ผู้&งงาน ((FlowchartFlowchart)) ข้& *นต่อนการแก�

ปAญหาทละข้&*นต่อนในล&กษณะร�ปภาพี รห&สจ"าลอง รห&สจ"าลอง ((PseudoPseudo)) ร�ปแบบเป�น

ภาษาพี�ด้ง�ายี ๆ ภาษาอ&งกฤษ หร อภาษาไทยีก?ได้�

Page 15: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

15

ส&ญล&กษณ�ในผู้&งงานจ0ดเร�)มต่�น หร�อสั�.นสั0ด

อ�านขี�อม+ลัเขี�า หร�อแสัดงผู้ลั

ประมว่ลัผู้ลั

ต่�ดสั�นใจ

แฟ้9มขี�อม+ลั

จ0ดเช้�)อมต่�อในหน�าเดยว่ก�น

โปรแกรมย�อย

แสัดงผู้ลัที่างหน�าจอ แสัดงที่�ศที่างการประมว่ลัผู้ลั

พิ�มพิ�ผู้ลัที่างเคร�)องพิ�มพิ�

จ0ดเช้�)อมต่�อในหน�าอ�)น

Page 16: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม16

หล&กการโครงสร�างควบค;ม (Control structures)การเข้ยีนข้&*นต่อนในรายีละเอยีด้ข้องแต่�ละอ&ลกอ

ร+ธ9ม อาศ&ยีโครงสร�างควบค;มด้&งน* โครงสร�างล"าด้&บ (Sequence structure) โครงสร�างต่&ด้ส+นใจ (Selection structure) โครงสร�างท"าซั"*า (Repetition structure)

Page 17: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม17

โครงสัร�างลั�าด�บ (Sequence) หมายีถ้9ง งานท!ต่�องท"าต่�องมล"าด้&บก�อนหล&ง เช้�น อ&ลกอร+ธ9ม “การต่ !นนอนต่�อนร&บว&นใหม�”

งาน ต่ !นนอนงาน ถ้อด้ช้;ด้นอนงาน เข้�าห�องน"*างาน แต่�งต่&วงาน เด้+นทางมาเรยีนต่�องจ&ด้ล"าด้&บให�ถ้�กต่�อง

งาน ต่ !นนอน

งาน ถ้อด้ช้;ด้นอน

งาน เข้�าห�องน"*า

งาน แต่�งต่&ว

งาน เด้+นทางมาเรยีน

Page 18: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

โครงสร�างการท"างานแบบล"าด้&บ (Sequence)

18

โครงสร�างล"าด้&บ หล&กการให�มองงานเป�นช้+*นใหญ�ก�อน ยี&งไม�ต่�องลง

รายีละเอยีด้ แล�วจ&ด้ล"าด้&บความค+ด้ว�าจะท"าอะไร ก�อนหร อหล&ง ต่ามล"าด้&บ

งาน 1

งาน 2

Begin งาน 1 งาน 2end

ผู้&งงาน รห&สเทยีม

Page 19: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ต่&วอยี�างการเข้ยีนผู้&งงาน

19

จงเข้ยีนผู้&งงานท!แสด้งล"าด้&บการค"านวณต่&วเลข้ เพี !อหาผู้ลล&พีธ�การค"านวณ แล�วเก?บผู้ลล&พีธ�ไว�ในหน�วยีความจ"าต่"าแหน�ง K

8 + 10 / 5 - 6 * 3โด้ยีมล"าด้&บการค"านวณทางเลข้คณ+ต่ ด้&งน*

1. ยีกก"าล&ง 2. ค�ณหร อหาร (โด้ยีท"าจากซั�ายีไปข้วา)

3. บวกหร อลบ (โด้ยีท"าจากซั�ายีไปข้วา)

Page 20: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ต่&วอยี�างการเข้ยีนผู้&งงาน

20

เร+!มต่�น

T1 = 10 / 5

T2 = 6 * 3

1

1

T3 = 8 + T1

K = T3 - T2

จบงาน

8 + 10 / 5 - 6 * 3

Page 21: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม21

โครงสร�างต่&ด้ส+นใจ (selection) โครงสร�าง IF โครงสร�าง IF else

Page 22: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม22

โครงสร�าง IF เป�นโครงสร�างท!ทด้สอบเง !อนไข้ แล�วเล อกว�าจะท"า

หร อไม�ท"า ก�อนท!จะไปท"างานอ !นต่�อไป

เง�)อนไขี งานที่)ต่�องที่�าใช้�

งานต่�อไป

ไม�ใช้�

Page 23: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม23

ต่&วอยี�าง โครงสร�าง IF แม�ถ้ามว�าห+วข้�าวหร อไม� ถ้�าห+วก?ให�ก+น ถ้�าไม�ห+วไม�

ต่�องก+น แล�วจ9ง เด้+นทางไปโรงเรยีน (งานต่�อไป)

ห�ว่ใช้�ไหม? งานก�นขี�าว่ใช้�

งานเด�นที่างมาเรยน

ไม�ใช้�

Page 24: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ต่&วอยี�างการเข้ยีนผู้&งงาน

24

จงเข้ยีนผู้&งงานแสด้งการเข้ยีนและส�งจด้หมายีเร�)มต่�น

เขียนจดหมาย

พิ�บจดหมาย

ใสั�ซองจดหมาย

จ�าหน�าซอง

1 จบงาน

1

มแสัต่มป;หร�อไม�ที่�าการซ�.อแสัต่มป;

ต่�ดแสัต่มป;

สั�งจดหมาย

ม ไม�ม

Page 25: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม25

โครงสร�าง IF-else

If เง !อนไข้ งาน 1Else งาน 2End if

เง !อนไข้

งาน 1งาน 2

ใช้�ไม�ใช้�

Page 26: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

ต่&วอยี�างการเข้ยีนผู้&งงาน

26

เม !อเราซั *อยีาจากร�านข้ายียีาท!มอยี��ท& !ว ๆ ไปน&*น ในส�วนข้องว+ธใช้�ยีาม&กจะแยีกข้นาด้ร&บประทานไว�ต่ามอายี; เช้�นอายี;มากกว�า 10 ป6 ร&บประทานคร&*งละ 3 ช้�อนช้าอายี; - 610 ป6 ร&บประทานคร&*งละ 2 ช้�อนช้าอายี; - 25 ป6 ร&บประทานคร&*งละ 1 ช้�อนช้าเด้?กอายี;ต่"!ากว�า 1 ป6 ห�ามร&บประทาน

จงเข้ยีนผู้&งงานท!แสด้งถ้9งข้นาด้ข้องการใช้�ยีาต่ามอายี;น*

Page 27: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

27

เร�)มต่�น

อาย0 > 10

6 <= อาย0 <=10

2 <= อาย0 <=5

ห�ามร�บประที่าน

จบงาน

ร�บประที่านคร�.งลัะ 3 ช้�อนช้า

ร�บประที่านคร�.งลัะ 2 ช้�อนช้า

ร�บประที่านคร�.งลัะ 1 ช้�อนช้า

ใช้�

ใช้�

ใช้�ไม�ใช้�

ไม�ใช้�

ไม�ใช้�

Page 28: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม28

โครงสร�างท"าซั"*า (Repetition Structure) While Repetition Structure

โครงสร�างท!ต่�องต่รวจสอบเง !อนไข้ก�อนท"าในล�ป

Do While Repetition Structureโครงสร�างท!ต่�องประมวลผู้ลในล�ปอยี�างน�อยี 1 รอบก�อนทด้สอบเง !อนไข้ออกจากล�ป

Page 29: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม29

โครงสร�าง while

While เง !อนไข้ งานend while

เง !อนไข้

งาน

เท?จ

จร+ง

รห&สเทยีม

ผู้&งงาน

Page 30: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การพี&ฒนาอ&ลกอร+ธ9ม30

โครงสร�าง DO while

เง !อนไข้

งาน

เท?จ

จร+ง

ผู้&งงาน

DO ค"าส&!งต่�าง ๆWhile เง !อนไข้

รห&สเทยีม

Page 31: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

โครงสร�างการท"างานแบบมการท"างานซั"*า (Iteration)

31

จงเข้ยีนผู้&งงาน แสด้งถ้9งการพี+มพี�ค�าบวกข้อง 12345

100

ออกทางเคร !องพี+มพี�

เร+!มต่�น

J=1SUM = 0

SUM = SUM+J

J=J+1

J <=100? Print SUM จบงานใช้� ไม�ใ

ช้�

Page 32: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การเข้ยีนโปรแกรมโด้ยีใช้�ภาษาใด้ภาษาหน9!ง(Coding)32

การเข้ยีนโปรแกรมท!ด้น& *น ควรจะท"าต่ามข้&*นต่อน ค อเร+!มต่&*งแต่� ว+เคราะห�ปAญหา ก�อนแล�วท"าการออกแบบ

โปรแกรม จ9งเร+!มเข้ยีนโปรแกรม ส"าหร&บผู้��ท!ไม�มประสบการณ�ควรทด้ลองเข้ยีนในกระด้าษก�อน แล�วต่รวจสอบจนแน�ใจว�าสามารถ้ท"างานได้�แล�วจ9งท"าการ

คยี�ลงเคร !อง

Page 33: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การต่รวจสอบข้�อผู้+ด้พีลาด้ข้องโปรแกรม(Testing and Debugging the Program)

33

ร�ปแบบข้�อผู้+ด้พีลาด้ ม 3 แบบค อ Syntax Error – ข้�อผู้+ด้พีลาด้จากการใช้�ไวยีากรณ�

ภาษาท!ผู้+ด้ หร อ อาจเก+ด้จากการสะกด้ค"าผู้+ด้ Run-time Error – ข้�อผู้+ด้พีลาด้ในระหว�างการ

ปฏิ+บ&ต่+งาน(Execution ) ม&กเก+ด้จากความร� �เท�าไม�ถ้9งการณ�

Logical Error – ข้�อผู้+ด้พีลาด้ท!หาและแก�ได้�ยีากท!ส;ด้ ต่�องท"าการไล�โปรแกรมทละค"าส&!งเพี !อหาข้�อผู้+ด้พีลาด้น&*น

Page 34: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การต่รวจสอบข้�อผู้+ด้พีลาด้ข้องโปรแกรม(Testing and Debugging the Program)

34

ว+ธการต่รวจสอบข้�อผู้+ด้พีลาด้ข้องโปรแกรม มด้&งน* การต่รวจสอบด้�วยีต่นเอง การต่รวจสอบด้�วยีต่นเอง ((Self CheckingSelf Checking))

เข้ยีนโปรแกรมลงกระด้าษแล�วไล�เช้?คต่รวจสอบการท"างานทละข้&*นด้�วยีต่นเอง ว�าจะมการท"างาน

ท!ถ้�กต่�องต่ามความต่�องการหร อไม� ต่รวจสอบด้�วยีการแปลโปรแกรม ต่รวจสอบด้�วยีการแปลโปรแกรม

((TranslatingTranslating)) การแปลเป�นภาษาเคร !อง ต่รวจสอบข้�อผู้+ด้พีลาด้ข้องโปรแกรม

Page 35: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การทด้สอบความถ้�กต่�องข้องโปรแกรม (Testing and Validating)

35

ว+ธทด้สอบความถ้�กต่�องข้องข้�อม�ล มด้&งน* กรณท!ข้�อม�ลถ้�กต่�อง กรณท!ข้�อม�ลถ้�กต่�อง ((valid casevalid case)) ทด้สอบโด้ยี

ใส�ข้�อม�ลท!ถ้�กต่�องลงไปในโปรแกรม เพี !อทด้สอบผู้ลล&พีธ�ว�าต่รงก&บท!ต่�องการหร อไม�

การใช้�ข้อบเข้ต่และความถ้�กต่�องข้องการใช้�ข้อบเข้ต่และความถ้�กต่�องข้องข้�อม�ล ข้�อม�ล ((Range check and Completeness Range check and Completeness checkcheck)) เป�นการเช้?คข้อบเข้ต่ข้�อม�ล

การใช้�ความสมเหต่;สมผู้ล การใช้�ความสมเหต่;สมผู้ล ((Consistency Consistency CheckCheck))

Page 36: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การทด้สอบความถ้�กต่�องข้องโปรแกรม (Testing and Validating)

36

ข้�อม�ลท!เป�นต่&วเลข้และต่&วอ&กษร ข้�อม�ลท!เป�นต่&วเลข้และต่&วอ&กษร ((Correct No. Correct No. and Type character checkand Type character check)) ต่รวจสอบว�าถ้�าเป�นฟิ2ลด้�ท!เป�นต่&วเลข้อยี�างเด้ยีว เช้�น จ"านวนเง+น ก?ควรจะปCอนข้�อม�ลได้�เฉพีาะต่&วเลข้เท�าน&*น

ข้�อม�ลเป�นไปต่ามข้�อก"าหนด้ ข้�อม�ลเป�นไปต่ามข้�อก"าหนด้ ((Existence Existence CheckCheck)) ข้�อม�ลท!ปCอนต่�องเป�นไปต่ามท!ก"าหนด้ไว�แน�นอนแล�วเท�าน&*น

Page 37: หลักการเขียนโปรแกรม ง33201 เทคโนโลยีสารสนเทศ ม.3

การบ�าน37

1 .1 .คนที่)ย�งจดเน�.อหาภาษาคอมพิ�ว่เต่อร�ไม�เสัร<จ คนที่)ย�งจดเน�.อหาภาษาคอมพิ�ว่เต่อร�ไม�เสัร<จ ให�จดให�เสัร<จให�จดให�เสัร<จ

2.2. ที่�าใบงานในเว่<บ ใบงานที่) ที่�าใบงานในเว่<บ ใบงานที่) 11. 11. โครงสัร�างโครงสัร�างโปรแกรมโปรแกรม

3.3. เขียนโครงสัร�างผู้�งงาน มาอย�างลัะ เขียนโครงสัร�างผู้�งงาน มาอย�างลัะ 1 1 ผู้�งผู้�ง ลั�าด�บลั�าด�บ ที่างเลั�อกที่างเลั�อก ที่�าซ�.าที่�าซ�.า