2.25k likes | 3.76k Views
การเขียนโปรแกรมคอมพิวเตอร์ 1. โปรแกรมเมอร์คนแรกของโลก. Augusta Lovelace Ada คือ โปรแกรมเมอร์คนแรกของโลก แต่ Edsger Wybe Dijkstra ใช้คำว่า โปรแกรมเมอร์ (Programmer) กับโลกของคอมพิวเตอร์เป็นคนแรก. ข้อมูลจาก http://www.twoguru.com/playground/article/dijkstra.htm
E N D
โปรแกรมเมอร์คนแรกของโลกโปรแกรมเมอร์คนแรกของโลก Augusta Lovelace Ada คือ โปรแกรมเมอร์คนแรกของโลก แต่ Edsger Wybe Dijkstra ใช้คำว่า โปรแกรมเมอร์ (Programmer) กับโลกของคอมพิวเตอร์เป็นคนแรก ข้อมูลจาก http://www.twoguru.com/playground/article/dijkstra.htm ข้อมูลจาก http://www.cs.utexas.edu/users/dahlin/Classes/GradOS/papers/p341-dijkstra.pdf ข้อมูลจาก http://www.twoguru.com/playground/article/dijkstra.htm ข้อมูลจาก http://www.thaiall.com/article/teachpro.htm
โปรแกรมเมอร์คนแรกของโลกโปรแกรมเมอร์คนแรกของโลก • "what if a calculating engine could not only foresee but could act on that foresight" • (จะเป็นอย่างไร ถ้าหากเครื่องคำนวณไม่เพียงสามารถหยั่งรู้ได้ หากแต่สามารถตอบสนองต่อการหยั่งรู้นั้นได้ด้วย) • สิ่งที่เธอทำคือ การสร้างภาษาสำหรับเครื่องวิเคราะห์ (analytical engine)
โปรแกรมเมอร์คนแรกของโลกโปรแกรมเมอร์คนแรกของโลก • แต่งเพลงที่ซับซ้อน • สร้างภาพกราฟิก • นำมาใช้เพื่อการคำนวณขั้นสูง • พัฒนาวงการวิทยาศาสตร์ได้ • ร้อยกว่าปีต่อมา ในปี พ.ศ. 2522 (ค.ศ. 1979) กระทรวงกลาโหมสหรัฐฯ สร้างภาษาคอมพิวเตอร์มาตรฐานISOขึ้นมาตัวแรก พร้อมตั้งชื่อเพื่อเป็นเกียรติแก่ เลดี้ เอดา ว่า ภาษา "ADA"
ภาษาคอมพิวเตอร์ • หมายถึง สัญลักษณ์ที่ผู้คิดพัฒนาภาษากำหนดขึ้นมา • เพื่อใช้แทนคำสั่งสื่อสารสั่งงาน ระหว่างมนุษย์กับเครื่องคอมพิวเตอร์และอุปกรณ์ต่อพ่วงอื่นๆ
ภาษาคอมพิวเตอร์มีมากมายภาษาคอมพิวเตอร์มีมากมาย ข้อมูลจาก http://dmoz.org/Computers/Programming/Languages/ 143 ภาษา ข้อมูลจาก http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm 2500 ภาษา ข้อมูลจาก http://www.levenez.com/lang/ 50 ภาษา (Computer Languages Timeline) 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
ภาษาคอมพิวเตอร์ • สามารถแบ่งออกได้เป็น 5 ยุคคือ 1. ภาษาเครื่อง (Machinelanguage) 2. ภาษาแอสเซมบลี (Assemblylanguage) 3. ภาษาชั้นสูง (High-levellanguage)หรือ ภาษารุ่นที่ 3 (3GL:Third Generation Language) 4. ภาษาชั้นสูงมาก (Veryhigh-levellanguage) หรือภาษารุ่นที่ 4 (4GL) 5. ภาษาธรรมชาติ (Naturallanguage) หรือภาษารุ่นที่ 5 (5GL)
1. ภาษาเครื่อง (Machinelanguage) • เป็นภาษาพื้นฐานที่คอมพิวเตอร์สามารถเข้าใจได้ แต่ละคำสั่งประกอบขึ้นจากกลุ่มตัวเลข 0 และ 1 ซึ่งเป็นเลขฐานสอง
2. ภาษาแอสเซมบลี (Assemblylanguage) • เป็นภาษาที่ใช้สัญลักษณ์ข้อความ แทนกลุ่มของตัวเลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจำมากขึ้น การทำงานของโปรแกรมจะต้องทำการแปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง โดยใช้ตัวแปลที่เรียกว่า แอสเซมเบลอร์(Assembler)
3. ภาษาชั้นสูง (High-levellanguage) หรือภาษารุ่นที่ 3 (3GL:Third Generation Language) • ถูกสร้างขึ้นมาเพื่อให้เขียนโปรแกรมได้ง่ายขึ้น โดยมีลักษณะเหมือนกับภาษาอังกฤษทั่วไป ผู้เขียนไม่จำเป็นต้องมีความรู้เกี่ยวกับฮาร์แวร์แต่อย่างใด ภาษานี้จำเป็นต้องมีตัวแปลภาษาเครื่องเช่นกัน เรียกตัวแปลนี้ว่า คอมไพเลอร์ (compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) อย่างใดอย่างหนึ่ง • ตัวอย่างของภาษาชั้นสูง เช่น ภาษาปาสคาล ภาษาซี ภาษโคบอล ภาษาเบสิก ภาษาฟอร์แทรน
4. ภาษาชั้นสูงมาก (Veryhigh-levellanguage) หรือภาษารุ่นที่ 4 (4GL) • เป็นภาษาที่มีลักษณะคล้ายภาษาพูดตามปกติของมนุษย์ ภาษานี้จะช่วยให้การเขียนโปรแกรมเร็วมากขึ้นกว่าภาษาในรุ่นที่ 3 เนื่องจากมีเครื่องมือที่ช่วยในการสร้างแบบฟอร์มหน้าจอ เพื่อจัดการกับข้อมูลรวมไปถึงการออกรายงาน เมนูต่าง ๆ • ตัวอย่างของภาษาชั้นสูงมากได้แก่ informix-4GL, MAGIC , Delphi , Power Builder ฯลฯ
5. ภาษาธรรมชาติ (Naturallanguage) หรือภาษารุ่นที่ 5 (5GL) • เป็นภาษาที่สามารถสั่งงานคอมพิวเตอร์โดยใช้รูปแบบของภาษามนุษย์ได้เลย คำสั่งอยู่ในรูปแบบที่ไม่แน่นอนตายตัว แต่คอมพิวเตอร์จะทำการแปลให้ออกมาในรูปที่คอมพิวเตอร์เข้าใจได้ ภาษานี้ถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชี่ยวชาญ (Expert system) • ตัวอย่างภาษาในรุ่นที่ 5 ได้แก่ ภาษา PROLOG เป็นต้น
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ • การวิเคราะห์ปัญหา (Problem analysis) • การออกแบบโปรแกรม (Design) • การเขียนโปรแกรมโดยใช้ภาษาใดภาษาหนึ่ง (Coding) • การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging ) • การทดสอบความถูกต้องของโปรแกรม (Testingand validating) • การทำเอกสารประกอบโปรแกรม (Documentation) • การบำรุงรักษาโปรแกรม (Program Maintenance)
Input Output Process Input 2 3 1 การวิเคราะห์ปัญหา • สิ่งที่ต้องพิจารณา • Input ? (พิจารณาจาก Output) • Output? (พิจารณาอันดับแรก) • Process (ยังไม่ต้องสนใจตอนนี้)
แนวความคิดเบื้องต้นการวิเคราะห์ปัญหาแนวความคิดเบื้องต้นการวิเคราะห์ปัญหา • การวิเคราะห์ปัญหา วิเคราะห์ผลลัพธ์ วิเคราะห์ Input Process เขียนขั้นตอนการแก้ปัญหา
การออกแบบโปรแกรม • เครื่องมือที่ใช้ในการออกแบบ • ผังงาน (Flowchart) ขั้นตอนการแก้ปัญหาทีละขั้นตอนในลักษณะรูปภาพ • รหัสจำลอง (Pseudo) รูปแบบเป็นภาษาพูดง่าย ๆ ภาษาอังกฤษ หรือภาษาไทยก็ได้
การพัฒนาอัลกอริธึม • ข้อดีของรหัสเทียม (จำลอง) • แปลงเป็นโปรแกรมได้ง่าย • ข้อดีของผังงาน • อ่านง่าย เข้าใจตรงกันได้
สัปดาห์ที่ ๑ ขั้นตอนการวิเคราะห์งาน ๑ การหาวัตถุประสงค์ของการเขียนโปรแกรม ๒ การหารูปแบบผลลัพธ์ที่ต้องการ ๓ การหาข้อมูลนำเข้าของโปรแกรม ๔ การหาตัวแปรที่จำเป็นต้องใช้ในโปแกรม ๕ การหาขั้นตอนวิธีการทำงานของโปรแกรม
สูง ฐาน ๑ การหาวัตถุประสงค์ของการเขียนโปรแกรม • ผู้เขียนโปรแกรมจะต้องหาวัตถุประสงค์จากงานที่ต้องการเขียนโปรแกรม ว่างานต้องการแก้ปัญหาอะไรบ้าง เช่น ต้องการหาพื้นที่สามเหลี่ยมมุมฉากโดยรับค่าทางแป้นพิมพ์ วัตถุประสงค์ เพื่อคำนวณหาพื้นที่สามเหลี่ยม
สูง ฐาน ๒ การหารูปแบบผลลัพธ์ของโปรแกรม • เมื่อผู้เขียนโปรแกรมหาวัตถุประสงค์จากงานที่ต้องการเขียนโปรแกรมเรียบร้อยแล้ว ก็มาทำการออกแบบผลลัพธ์ของโปรแกรม ตามความต้องการของงาน เช่น กรุณาป้อน ค่าความสูง = ค่าฐาน = พื้นที่สามเหลี่ยม = รับค่าทางแป้นพิมพ์ วิชา 13-100-152 การเขียนโปรแกรมคอมพิวเตอร์ (Computer Programming ) (2-2-3) บรรยายโดย อาจารย์ สุวุฒิ ตุ้มทอง
สัปดาห์ที่ ๑ สูง ฐาน ๓ การหาข้อมูลนำเข้าของโปรแกรม • ผู้เขียนโปรแกรมจะต้องหาข้อมูลนำเข้า จากผลลัพธ์ของโปรแกรม โดยคำนึงถึงวิธีการคำนวณ และข้อมูลที่ใช้ เพื่อให้ได้ผลลัพธ์เช่น ผลลัพธ์ต้องการ พื้นที่สามเหลี่ยมมุมฉาก ข้อมูลที่หาและเตรียม ประกอบด้วย ๑ สูตรการคำนวณพื้นที่ = 0.5 X ฐาน X สูง ๒ ค่าความยาวของฐาน และ ค่าความสูง
สัปดาห์ที่ ๑ ๔ การหาตัวแปรที่จำเป็นต้องใช้ในโปแกรม • ผู้เขียนโปรแกรมจะต้องกำหนดชื่อตัวแปรสำหรับใช้เป็นที่เก็บข้อมูลทั้งหมดของโปรแกรม ซึ่งรวมทั้งจำนวนรอบการทำงานของโปรแกรมด้วย • กฏการตั้งชื่อตัวแปร ๑ ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษร ตัวต่อไปอาจเป็นตัวอักษรหรือตัวเลขก็ได้ แต่จะต้องไม่มีเครื่องหมาย บวก(+) ลบ(-) คูณ(*) หาร (/) หารเอาเศษ(%) และเครื่องเว้นวรรค (Blank) เช่น A+5 ๒ ความยาวของตัวแปรและตัวอักษรตัวเล็กตัวใหญ่ก็แตกต่างกัน ๓ ซื่อตัวแปรต้องไม่ซ้ำคำสงวน เช่น For , If ๔ ชื่อตัวแปรควรตั้งให้สื่อความหมาย เช่น ความยาวฐาน = Base
๕ การหาขั้นตอนวิธีการทำงานของโปรแกรม • ขั้นตอนนี้หาวิธีการทำงานของโปรแกรม หรือเรียกว่า อัลกอริทึม( Algorithm)โดยจะขึ้นอยู่กับลักษณะงานโดยที่ผู้เขียนจะต้องมีความเข้าใจในงานที่วิเคราะห์ ถ้าผู้เขียนสามารถกำหนดขั้นตอนวิธีการทำงานของโปรแกรมอย่างละเอียด และ ถูกต้องแล้วจะทำให้การเขียนโปรแกรมด้วยภาษาจะทำง่ายขึ้น เช่น • ขั้นตอนวิธีการทำงานของ โปรแกรมการหาพื้นที่สามเหลี่ยมมุมฉากป้อนค่าทางแป้นพิมพ์
๕ การหาขั้นตอนวิธีการทำงานของโปรแกรม • ขั้นตอนวิธีการทำงานของ (อัลกอริทึม ) โปรแกรมการหาพื้นที่สามเหลี่ยมมุมฉากป้อนค่าทางแป้นพิมพ์ ๑ เริ่มต้นโปรแกรม ๒ กำหนดค่าให้กับตัวแปร ๓ รับข้อมูลค่าฐาน ค่าความสูง จากแป้นพิมพ์ ๔ คำนวณพื้นที่สามเหลี่ยมมุมฉาก ๕ แสดงค่าผลลัพธ์ทางจอภาพ ๖ จบโปรแกรม
นักศึกษาจงเขียนขั้นตอนการวิเคราะห์งานทั้ง ๕ ขั้นตอน แบบฝึกหัดครั้งที่ ๑ • จงเขียนขั้นตอนการวิเคราะห์งานโปรแกรมการคำนวณพื้นที่ วงกลม โดยรับค่ารัศมีจากแป้นพิมพ์ โดยแสดงการวิเคราะห์ทีละขั้นตอนอย่างละเอียด
การเขียนผังงาน ( Flowchart) • ความหมาย แผนภาพที่เขียนขึ้นโดยใช้สัญลักษณ์มาตรฐานเพื่อแสดงขั้นตอนวิธีการทำงานของโปรแกรม หรือระบบงานที่ต้องการ • ประเภทของผังงาน ๑ ผังงานระบบ (System Flowchart) ผังงานที่แสดงถึงขึ้นตอนการทำงานของระบบ ให้เห็นในภาพรวมอย่างกว้างๆ ๒ ผังงานโปรแกรม (Program Flowchart) ผังงานที่แสดงถึงขึ้นตอนการทำงานของระบบ อย่างละเอียดซึ่งสามารถนำเอาผังงานมาเขียนโปรแกรมตามที่ต้องการได้
สัญลักษณ์ในผังงาน จุดเริ่มต้น หรือสิ้นสุด แฟ้มข้อมูล จุดเชื่อมต่อในหน้าอื่น อ่านข้อมูลเข้า หรือแสดงผล จุดเชื่อมต่อในหน้าเดียวกัน ประมวลผล โปรแกรมย่อย ตัดสินใจ พิมพ์ผลทางเครื่องพิมพ์ แสดงทิศทางการประมวลผล แสดงผลทางหน้าจอ
A= 0.5 * H * B สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Process Process คือ การกำหนดค่า หรือการคำนวณค่า • ตัวอย่าง สูตรการคำนวณพื้นที่
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Decision Decision คือ การทดสอบเงื่อนไขหรือเปรียบเทียบเงื่อนไขเพื่อตัดสินใจทำงานอย่างใดอย่างหนึ่ง • ตัวอย่าง การตัดสินใจเลือก ๑ ทาง False True X > Y X=X+2
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Decision Decision คือ การทดสอบเงื่อนไขหรือเปรียบเทียบเงื่อนไขเพื่อตัดสินใจทำงานอย่างใดอย่างหนึ่ง • ตัวอย่าง การตัดสินใจเลือก ๒ ทาง False True X > Y X=X+2 Y=X+1
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Start / Stop Program OR Terminal Interrupt คือ การเริ่มต้นโปรแกรมหรือสิ้นสุดการทำงานโปรแกรม หรือการหยุดชั่วคราว • ตัวอย่าง การใช้งาน Pause Start Stop
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Input / Output Input / Output คือ การรับข้อมูล หรือ การแสดงผลลัพธ์ โดยไม่ได้ระบุสื่อที่ใช้ • ตัวอย่าง การใช้งาน Print P,O,M Input P,O,M
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Display Display คือ การแสดงผลลัพธ์ทางจอภาพ • ตัวอย่าง การใช้งาน Display P,O,M
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Document Document คือ การพิมพ์ผลลัพธ์ออกทางกระดาษพิมพ์ • ตัวอย่าง การใช้งาน Print P,O,M
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Manual Input Manual Input คือ การรับข้อมูลหรือคำสั่งผ่านทางคีย์บอร์ด • ตัวอย่าง การใช้งาน Input x,y
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Connector Connector คือ แสดงจุดเชื่อมต่อจากที่หนึ่งไปยังอีกที่หนึ่งของผังงาน โดยที่จุดเชื่อมต่อนี้อยู่ในหน้าเดียวกัน • ตัวอย่าง การใช้งาน X = x+1 A
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Off page Connector Off page Connector คือ แสดงจุดเชื่อมต่อจากที่หนึ่งไปยังอีกที่หนึ่งของผังงาน โดยที่จุดเชื่อมต่อนี้อยู่ต่างหน้ากัน • ตัวอย่าง การใช้งาน X = x+1 A
สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรมสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม • สัญลักษณ์ Flow line and arrowheads คือ แสดงทิศทางการทำงานของผังงาน โดยใช้ลูกศรเป็นตัวกำหนดทิศทางการทำงานของผังงาน • ตัวอย่าง การใช้งาน X = x+1 A
หลักการเขียนผังงานโปรแกรมหลักการเขียนผังงานโปรแกรม • เขียนผังงานจากด้านบนลงด้านล่าง • ใช้สัญลักษณ์ให้ตรงกับความหมายของผังงาน • ใช้เส้น Flow line and arrowheads แสดงทิศทางการทำงานของผังงาน • ใส่คำอธิบายในสัญลักษณ์สั้นๆ แต่เข้าใจง่าย จะใช้ภาษาไทยหรือภาษาอังกฤษก็ได้ • หลีกเลียงการโยงเส้นทิศทางของผังงาน ควรใช้จุดเชื่อมต่อหน้าเดียวกันแทน • พยายามเขียนผังงานให้จบในหน้าเดียวกัน ถ้าไม่จบควรใช้จุดต่อหน้า
ขั้นตอนการเขียนผังงานโปรแกรมขั้นตอนการเขียนผังงานโปรแกรม จงเขียนผังงานโปรแกรม จากการวิเคราะห์งาน ซึ่งมีขั้นตอนวิธีการทำงาน (อัลกอริทึม) ดังนี้ • เริ่มต้นทำงาน • รับข้อมูลค่าความยาวและความกว้างของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด • คำนวณพื้นที่สี่เหลี่ยผืนผ้าตามสูตร Area = Width*Length • พิมพ์ค่าความยาว ความกว้าง และพื้นที่สี่เหลี่ยมออกทางจอภาพ • จบการทำงาน
ขั้นตอนการเขียนผังงานโปรแกรมขั้นตอนการเขียนผังงานโปรแกรม เริ่มต้นทำงาน รับข้อมูล Width, Length คำนวณ Area = Width*Length พิมพ์ Width, Length จบการทำงาน
นักศึกษาจงเขียนผังงานโปรแกรมนักศึกษาจงเขียนผังงานโปรแกรม แบบฝึกหัดครั้งที่ ๒ • จงเขียนผังงานโปรแกรมการคำนวณพื้นที่ วงกลม โดยรับค่ารัศมีจากแป้นพิมพ์ พร้อมการอธิบาย
การพัฒนาอัลกอริธึม • หลักการโครงสร้างควบคุม (Control structures) การเขียนขั้นตอนในรายละเอียดของแต่ละอัลกอริธึม อาศัยโครงสร้างควบคุมดังนี้ • โครงสร้างลำดับ (Sequence structure) • โครงสร้างตัดสินใจ (Selection structure) • โครงสร้างทำซ้ำ (Repetition structure)
การพัฒนาอัลกอริธึม • โครงสร้างลำดับ • หมายถึง งานที่ต้องทำต้องมีลำดับก่อนหลัง • เช่น อัลกอริธึม “การตื่นนอนต้อนรับวันใหม่” • งาน ตื่นนอน • งาน ถอดชุดนอน • งาน เข้าห้องน้ำ • งาน แต่งตัว • งาน เดินทางมาเรียน ต้องจัดลำดับให้ถูกต้อง งาน ตื่นนอน งาน ถอดชุดนอน งาน เข้าห้องน้ำ งาน แต่งตัว งาน เดินทางมาเรียน
โครงสร้างการทำงานแบบลำดับ (Sequence) • โครงสร้างลำดับ • หลักการให้มองงานเป็นชิ้นใหญ่ก่อน ยังไม่ต้องลงรายละเอียด แล้วจัดลำดับความคิดว่าจะทำอะไร ก่อนหรือหลัง ตามลำดับ Begin งาน 1 งาน 2 end งาน 1 งาน 2 ผังงาน รหัสเทียม
ตัวอย่างการเขียนผังงานตัวอย่างการเขียนผังงาน • จงเขียนผังงานที่แสดงลำดับการคำนวณตัวเลข เพื่อหาผลลัพธ์การคำนวณ แล้วเก็บผลลัพธ์ไว้ในหน่วยความจำตำแหน่ง K 8 + 10 / 5 - 6 * 3 โดยมีลำดับการคำนวณทางเลขคณิต ดังนี้ 1. ยกกำลัง 2. คูณหรือหาร (โดยทำจากซ้ายไปขวา) 3. บวกหรือลบ (โดยทำจากซ้ายไปขวา)
ตัวอย่างการเขียนผังงานตัวอย่างการเขียนผังงาน 1 เริ่มต้น T1 = 10 / 5 T3 = 8 + T1 T2 = 6 * 3 K = T3 - T2 1 จบงาน
การพัฒนาอัลกอริธึม example: จงเขียนโปรแกรมคำนวณหาค่า y ของสมการ y = x^2 + 2x +10 start Begin read x y = x*x + 2*x +10 Write y end Read x Y = x*x + 2*x +10 Write y stop รหัสเทียม ผังงาน
จงเขียนผังงานคำนวณการหาพื้นที่สี่เหลี่ยมคางหมู โดยกำหนดค่าความยาวด้านคู่ขนานและความสูงให้ เริ่มต้น 1 พิมพ์ค่าพื้นที่ อ่านความยาวด้าน คู่ขนานและความสูง จบงาน คำนวณหาพื้นที่คางหมู = ½ * ด้านคู่ขนาน * สูง 1
การพัฒนาอัลกอริธึม • โครงสร้างตัดสินใจ (selection) • โครงสร้าง IF • โครงสร้าง IF else