560 likes | 1.11k Views
การเขียนโปรแกรมคอมพิวเตอร์ 1. อาจารย์สุรัตน์ สิงห์ทอง โทร. 0872257745 วิทยาลัยชุมชนมุกดาหาร. Tel. 0872257745 ,E-mail :surat_master@hotmail.com. เราเขียนโปรแกรมไปเพื่ออะไร.
E N D
การเขียนโปรแกรมคอมพิวเตอร์ 1 อาจารย์สุรัตน์ สิงห์ทอง โทร. 0872257745 วิทยาลัยชุมชนมุกดาหาร Tel. 0872257745 ,E-mail :surat_master@hotmail.com
เราเขียนโปรแกรมไปเพื่ออะไรเราเขียนโปรแกรมไปเพื่ออะไร • การเขียนโปรแกรมก็เหมือนการแก้โจทย์ปัญหา เราจะต้องทราบว่าเราต้องการอะไรเพื่อนำไป สร้างเป็นโปรแกรมใหม่ขึ้นมาตามที่เราต้องการ • โปรแกรมคอมพิวเตอร์ คือ คำสั่งหรือชุดคำสั่ง ที่เขียนขึ้นมาเพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานตามที่เราต้องการ เราจะให้คอมพิวเตอร์ทำอะไรก็เขียนเป็นคำสั่ง ซึ่งต้องสั่งเป็นขั้นตอนและแต่ละขั้นตอนต้องทำอย่างละเอียดและครบถ้วน ซึ่งจะเกิดเป็นงานชิ้นหนึ่งขึ้นมามีชื่อเรียกว่า "โปรแกรม" ซอฟต์แวร์จะแบ่งออกเป็นประเภทใหญ่ ๆ ได้ 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) • User Program เช่น โปรแกรมระบบบัญชี,โปรแกรมควบคุมสต็อกสินค้า,โปรแกรมแฟ้มทะเบียนประวัติ,โปรแกรมคำนวณภาษี,โปรแกรมคอดเงินเดือน เป็นต้น • Package Programเช่น Microsoft Office (MS-Word,MS-Excel,MS-Access,MS-PowerPoint) CorelDraw, Photoshop, Internet Explorer , PageMaker
คอมพิวเตอร์ คืออะไร • คอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิคอย่างหนึ่งที่มนุษย์สร้างขึ้น เพื่อเสริมความสามารถของมนุษย์ในด้านการรับรู้ การจำ การคำนวณ การแสดงออก และการเปรียบเทียบตัดสินใจ
คอมพิวเตอร์ คืออะไร • ในการที่จะสั่งให้เครื่องคอมพิวเตอร์ทำงานโดยต้องอาศัยมนุษย์เพื่อป้อนคำสั่งเข้าไปในเครื่องคอมพิวเตอร์ ซึ่งคำสั่งนั้นจะต้องเป็นคำสั่งที่เครื่องเข้า นั้นคือ ภาษาเครื่องหรือที่เรียกเป็นภาษาอังกฤษว่า Machine Language ซึ่งประกอบด้วย ตัวเลข 0 กับ 1 เท่านั้น 100100101 010001110
ขั้นตอนการทำงานของระบบคอมพิวเตอร์ขั้นตอนการทำงานของระบบคอมพิวเตอร์ Memory Output Input Process Memory Output Input Process
ขั้นตอนวิธีการทางคอมพิวเตอร์ (Computer Algorithms) • วงจรการพัฒนาโปรแกรม (Program Development Life Cycle: PDLC) • การวิเคราะห์โปรแกรม (Program Analysis) • การออกแบบโปรแกรม (Program Design) • การเขียนโปรแกรม (Program Coding) • การทดสอบโปรแกรม (Program Testing) • การทบทวนการทำงานของโปรแกรมครั้งสุดท้าย (Program Formalization) • การบำรุงรักษาโปรแกรม (Program Maintenance)
1. วิเคราะห์โปรแกรม • ตรวจสอบ Program Specification Package • หารือกับนักวิเคราะห์ระบบ (SA) และผู้ใช้ • กำหนดองค์ประกอบของโปรแกรม เช่น อินพุต เอาต์พุต การประมวลผล • 2. ออกแบบโปรแกรม • แบ่งหน้าที่หลัก (Main Module) ของโปรแกรมออกเป็น Module ต่างๆ • ออกแบบอัลกอริทึมให้แต่ละโมดูล • ทดสอบผลลัพธ์ที่ได้จากอัลกอริทึม • 6. บำรุงรักษาโปรแกรม • แก้ไข Error ที่พบระหว่างการใช้งานโปรแกรมจริงโดยผู้ใช้ • ปรับปรุงและเพิ่มเติมความสามารถให้กับโปรแกรมมากขึ้น • 3. เขียนโปรแกรม • เปลี่ยนอัลกอริทึมในขั้นตอนที่ 2 มาเป็นภาษาโปรแกรมมิ่ง • เขียนโปรแกรม และทดลองรันโปรแกรมดู • 5. ทบทวนการทำงานของโปรแกรมครั้งสุดท้าย • ลบโค้ดที่ใม่ใช้ออกให้หมด แล้วลองรันโปรแกรมดูว่า ทำงานได้ดังเดิมหรือไม่ • รวบรวมเอกสารที่เกี่ยวทั้งหมดให้ SA • 4. ทดสอบโปรแกรม • เมื่อพบ Error ของโปรแกรมให้แก้ไขทันที • การ Error อาจเกิดขึ้นจากการเขียนไวยากรณ์ของภาษาผิดหรืออาจผิดที่อัลกอริทึมก็ได้ • วงจรการพัฒนาโปรแกรม • ภาพรวมวงจรการพัฒนาโปรแกรม (PDLC) ขั้นตอนวิธีการทางคอมพิวเตอร์ (Computer Algorithms)
การวิเคราะห์โปรแกรม (Program Analysis) การวิเคราะห์โปรแกรมแต่ละอย่างมีหลักเกณฑ์และรายละเอียด แบ่งได้ 5 หัวข้อ ดังนี้ • 1. การวิเคราะห์หาวัตถุประสงค์ของการเขียนโปรแกรม ผู้เขียนโปรแกรมจะต้องหาวัตถุประสงค์จากงานที่จะเขียนโปรแกรม ว่าต้องการเขียน โปรแกรมเพื่อแก้ปัญหาอะไรบ้าง • 2. การวิเคราะห์หารูปแบบผลลัพธ์ที่ต้องการ การกำหนดรูปแบบผลลัพธ์ที่ต้องการจากโปรแกรม ซึ่งรูปแบบผลลัพธ์อาจอยู่ในลักษณะของข้อความหรือตัวเลข หรือตาราง หรือแผนภูมิ หรืออาจใช้ผสมกันระหว่างตัวเลขกับข้อความ หรือข้อความกับตัวเลข และตารางก็ได้
การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) การวิเคราะห์โปรแกรมแต่ละอย่างมีหลักเกณฑ์และรายละเอียด แบ่งได้ 5 หัวข้อ ดังนี้ • 3. การวิเคราะห์หาข้อมูลนำเข้าที่ต้องใส่เข้าไปในโปรแกรม ผู้เขียนโปรแกรมจะต้องหาข้อมูลนำเข้าจากผลลัพธ์ที่ได้จากโปรแกรม โดยคำนึงถึงขั้นตอนวิธีการคำนวณ และข้อมูลที่จำเป็นต้องใส่เข้าไปเพื่อให้ได้ผลลัพธ์ที่ต้องการ • 4. การวิเคราะห์หาตัวแปรที่จำเป็นต้องใช้ในโปรแกรม การตั้งชื่อตัวแปรที่ใช้ในการเก็บข้อมูลและผลลัพธ์ทั้งหมดภายในโปรแกรมรวมถึงตัวแปรบางตัวที่ใช้ในการนับจำนวนรอบของการทำงานในโปรแกรม • 5. การวิเคราะห์หาขั้นตอนวิธีการทำงานของโปรแกรม เป็นการหาลำดับขั้นตอนวิธีการทำงานของโปรแกรม หรือเรียกว่า อัลกอริทึม (Algorithm)จะขึ้นอยู่กับลักษณะของการแก้ปัญหาของแต่ละโปรแกรม
การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) วิธีการเขียนอัลกอริทึม 4. การตัดสินใจเลือกจากเงื่อนไข(Decision) ใช้รูปแบบ ถ้า....................ไปขั้นตอนที่....................... เช่น ถ้าค่าอายุน้อยกว่า 10 ปี ไปขั้นตอนที่ 12 ถ้าคะแนนมากกว่า 79 คะแนน ไปขั้นตอนที่ 10 ถ้าค่าที่ได้เท่ากับ 0 ไปขั้นตอนที่ 2 5. การประมวลผล การคำนวณ (process) ใช้รูปแบบ คำนวณค่า………=……… เช่น คำนวณค่า ภาษี = ค่าเงินเดือน * 10 / 100 คำนวณหาค่า ภาษีมูลค่าเพิ่ม = ค่าสินค้า * 7 / 100 6. การแสดงผล (Output) ใช้รูปแบบ แสดงผลค่า................ หรือ พิมพ์ค่า....................... เช่น แสดงผล คะแนน แสดงผล ภาษี 7. จบการทำงาน • เริ่มต้นทำงาน • การกำหนดค่า ใช้รูปแบบ • กำหนดค่า…………….=………… • เช่น • กำหนดค่า ชื่อ = “สมชาย” • กำหนดค่า อายุ = 0 • กำหนดค่า ระยะทาง = 100 • 3. การรับข้อมูล ( Input) ใช้รูปแบบ • รับค่า.............................. • เช่น • รับค่าคะแนน • รับค่าตัวเลข • รับค่าอายุ
การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) ตัวอย่างที่ 1.2 จงเขียนวิเคราะห์โปรแกรม เพื่อใช้คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า จำนวน 1 รูป โดยที่ผู้ใช้โปรแกรม จะต้องป้อนความกว้าง และความยาวของสี่เหลี่ยมผืนผ้า เข้าไปในโปรแกรม วิธีทำ ตามขั้นตอนการวิเคราะห์โปรแกรมทั้ง 5 ขั้นตอนสามารถแสดงได้ดังนี้
การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) • วัตถุประสงค์ของการเขียนโปรแกรม เพื่อคำนวณพื้นที่สี่เหลี่ยมผืนผ้าจำนวน 1 รูป • รูปแบบผลลัพธ์ที่ต้องการพิมพ์ผลลัพธ์ออกทางจอภาพดังนี้*** Input Data *** Width = 8 Length = 12 *** Output *** Area = 96
การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) 3) ข้อมูลนำเข้า 3.1) สูตรคำนวณพื้นที่สี่เหลี่ยมผืนผ้า พื้นที่ = กว้าง x ยาว 3.2) รับค่าความกว้างและความยาวของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด 4) ตัวแปรที่ตั้งขึ้นเพื่อใช้ในโปรแกรมWidth = ตัวแปรที่ใช้เก็บความกว้างของสี่เหลี่ยมผืนผ้าLength = ตัวแปรที่ใช้เก็บความยาวของสี่เหลี่ยมผืนผ้าArea = ตัวแปรที่ใช้เก็บพื้นที่ของสี่เหลี่ยมผืนผ้า โดยคำนวณได้จากสูตร Area = Width*Length
การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) 5) ขั้นตอนวิธีการทำงานของโปรแกรมมีดังนี้5.1) เริ่มต้นทำงาน5.2) รับข้อมูลค่าความยาวและความกว้างของสี่เหลี่ยมผืนผ้าผ่านคีย์บอร์ด5.3) คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้าตามสูตรพื้นที่ = กว้าง x ยาว 5.4) พิมพ์ค่าความยาวความกว้างและพื้นที่สี่เหลี่ยมผืนผ้าออกทางจอภาพ5.5) จบการทำงาน
การสร้างรหัสเทียม (Pseudocode) (ต่อ) • รูปแบบการเขียนการสร้างรหัสเทียม (ต่อ) • Pseudocode ลักษณะงานแสดงผล (Output) • AlgorithmSeudocode • แสดงค่าชื่อ outputname • แสดงค่าที่อยู่ printaddress • แสดงค่าเกรด writegrade • แสดงค่าคะแนน write(score) • เช่นเดียวกัน output,print,write ต่างมีความหมายถึงการแสดงค่าออกมา
การสร้างรหัสเทียม (Pseudocode) (ต่อ) • รูปแบบการเขียนการสร้างรหัสเทียม (ต่อ) • ตัวอย่างที่ 1
การสร้างรหัสเทียม (Pseudocode) (ต่อ) • รูปแบบการเขียนการสร้างรหัสเทียม (ต่อ) • ตัวอย่างที่ 2
การออกแบบโปรแกรม (program Design) การออกแบบโปรแกรม เป็นการนำเอาวิธีการที่ได้จากการวิเคราะห์โปรแกรมมาเขียนแผนภาพหรือสัญลักษณ์แสดงลำดับขั้นตอนการทำงานของโปรแกรม (Flowchart)
การออกแบบโปรแกรม (program Design) (ต่อ) “ผังงาน” (flowchart) ทางคอมพิวเตอร์ เป็นเครื่องมือที่ใช้เขียนอัลกอริทึมรูปแบบหนึ่งซึ่งเข้าใจง่าย ใช้รูปภาพเป็นสัญลักษณ์แสดงการทำงาน “ผังงาน”หมายถึง แผนภาพที่เขียนขึ้นโดยใช้สัญลักษณ์มาตรฐาน เพื่อแสดงขั้นตอนวิธีการทำงานของโปรแกรม หรือระบบงานที่ต้องการ
การออกแบบโปรแกรม (program Design) (ต่อ) ประเภทของผังงาน ผังงานสามารถจำแนกออกได้ 2 ประเภท คือ 1) ผังงานระบบ (system flowchart) หมายถึง ผังงานที่แสดงถึงขั้นตอนวิธีการทำงานของระบบงานใดระบบหนึ่ง
การออกแบบโปรแกรม (program Design) (ต่อ) 2) ผังงานโปรแกรม (program flowchart) หมายถึงผังงานที่แสดงขั้นตอน วิธีการทำงานของโปรแกรมที่ต้องการเขียนขึ้น
Symbol Meaning Terminator Symbolใช้แสดงตำแหน่งของจุดเริ่มต้นจุดสิ้นสุดโปรแกรม Process Symbol ใช้ในการคำนวณ Input/Output Symbolใช้ในการรับข้อมูลการแสดงผลข้อมูล การออกแบบโปรแกรม (program Design) (ต่อ) สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม
Symbol Meaning Display /Monitor Symbol ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนจอภาพ Document Symbol ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนเครื่องพิมพ์ Decision Symbol ใช้ในการเปรียบเทียบเงื่อนไขหรือตัดสินใจ Keyboard Symbol ใช้ในการรับข้อมูลจากแป้นพิมพ์ External Subroutine Symbol ใช้เรียกฟังก์ชันต่าง ๆ ที่ C Compiler สร้างไว้แล้ว การออกแบบโปรแกรม (program Design) (ต่อ) สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม
Comment Symbol ใช้แสดงความเห็นคำอธิบายหรือข้อสังเกตต่างๆ Flowline Symbol ใช้เป็นจุดเชื่อมต่อระหว่างสัญลักษณ์ On-page Connector Symbol ใช้ในการเชื่อมโยงในหน้าเดียวกัน Off-page Connector Symbol ใช้ในการเชื่อมโยงไปหน้าอื่น Manual Operation การรับข้อมูลหรือแสดงผลลัพธ์โดยไม่ระบุสื่อ Internal Subroutine Symbol ใช้เรียกฟังก์ชันต่าง ๆ ที่ผู้เขียนโปรแกรมสร้างไว้ใช้งานภายในโปรแกรม การออกแบบโปรแกรม (program Design) (ต่อ)
การออกแบบโครงสร้าง (Structured Design) คือ เทคนิคที่ใช้ในการออกแบบอัลกอริทึม ซึ่งโครงสร้างของอัลกอริทึมมีอยู่ 3 โครงสร้าง ได้แก่ 1. โครงสร้างควบคุมการทำงานแบบเรียงลำดับ (Sequence Control Structure) 2. โครงสร้างควบคุมการทำงานแบบเลือกกระทำ (Selection Control Structure) 3. โครงสร้างควบคุมการทำงานแบบวนซ้ำ (Repetition Control Structure)
คำสั่งที่ 1 คำสั่งที่ n คำสั่งที่ 2 … การออกแบบโครงสร้าง (Structured Design) (ต่อ) 1. โครงสร้างควบคุมการทำงานแบบเรียงลำดับ (Sequence Control Structure) เป็นโครงสร้างที่มีการทำงานทุกคำสั่งอย่างเป็นลำดับขั้นตอน ประกอบไปด้วยคำสั่งทั่วๆ ไป ไม่มีการตัดสินใจ ไม่มีการวนซ้ำ (Looping) ไม่มีการข้าม ขั้นตอนหรือย้อยกลับไปทำขั้นตอนเดิม จะทำงานตาม
การออกแบบโครงสร้าง (Structured Design) (ต่อ) 2. โครงสร้างควบคุมการทำงานแบบมีเงื่อนไขเลือกกระทำ (Selection Control Structure) 1) โครงสร้างแบบทดสอบเงื่อนไข 1 ทางเลือก ทำการทดสอบเงื่อนไขว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไขเป็นจริง ให้ทำงานตามคำสั่งที่กำหนดไว้แล้วออกจากการทำงาน แต่ถ้าเงื่อนไขเป็นเท็จ ให้ออกจากการทำงาน
การออกแบบโครงสร้าง (Structured Design) (ต่อ) 1) โครงสร้างแบบทดสอบเงื่อนไข 1 ทางเลือก
การออกแบบโครงสร้าง (Structured Design) (ต่อ) 2) โครงสร้างแบบทดสอบเงื่อนไข 2 ทางเลือก ทำการทดสอบเงื่อนไขว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไขเป็นจริง ให้ทำงานตามคำสั่ง A ที่กำหนดไว้แล้วออกจากการทำงาน แต่ถ้าเงื่อนไขเป็นเท็จ ให้ทำงานตามคำสั่ง B ที่กำหนดไว้แล้วออกจากการทำงาน
การออกแบบโครงสร้าง (Structured Design) (ต่อ) 3) โครงสร้างแบบทดสอบเงื่อนไขมากกว่า 2 ทางขึ้นไป
การออกแบบโครงสร้าง (Structured Design) (ต่อ) 3. โครงสร้างควบคุมการทำงานแบบวนซ้ำ (Repetition Control Structure) 1) โครงสร้างแบบทำงานวนลูป หมายถึงโครงสร้างของคำสั่งที่มีการทำงานซ้ำ ๆ เป็นวงจรปิดจนกว่าเงื่อนไขที่ทดสอบจะตรงกับค่าจริงหรือเท็จตามโครงสร้างที่ใช้จึงสามารถออกจากการทำงานได้
เท็จ • ประโยคเงื่อนไข • จริง • คำสั่งการทำงาน การออกแบบโครงสร้าง (Structured Design) (ต่อ) 1) โครงสร้างแบบ DO UNTIL
การออกแบบโครงสร้าง (Structured Design) (ต่อ) 2) โครงสร้างแบบ DO WHILE • คำสั่งการทำงาน • จริง • ประโยคเงื่อนไข • เท็จ
หลักการเขียนผังงานโปรแกรมหลักการเขียนผังงานโปรแกรม 1) เขียนผังงานจากด้านบนลงด้านล่าง 2) ใช้สัญลักษณ์ให้ตรงกับความหมายของผังงาน 3) ใช้เส้น flow line และ arrowheads แสดงทิศทางการทำงานของผังงาน 4) ใส่คำอธิบายลงในสัญลักษณ์สั้น ๆ แต่เข้าใจง่าย จะใช้ภาษาไทยหรืออังกฤษก็ได้ 5) หลีกเลี่ยงการโยงเส้นทิศทางของผังงานให้ตัดกันเพราะจะทำให้สับสน ควรใช้จุดเชื่อมต่อ (connector) หน้าเดียวกันแทน จะเข้าใจได้ง่ายและเป็นระเบียบ 6) พยายามเขียนผังงานให้จบในหน้ากระดาษเดียวกัน แต่ถ้าไม่จบในหน้าเดียวกัน ควรใช้จุดเชื่อมต่อต่างหน้ากระดาษ (off page connector)
ขั้นตอนการเขียนผังงานโปรแกรมขั้นตอนการเขียนผังงานโปรแกรม
ขั้นตอนการเขียนผังงานโปรแกรมขั้นตอนการเขียนผังงานโปรแกรม
แบบวนรอบ (loop) แบบลำดับ (Sequence) แบบมีเงื่อนไข/เลือกทำ (selection) ขั้นตอนการเขียนผังงานโปรแกรม
การเขียนโปรแกรม(programming) คือ การเปลี่ยนอัลกอริทึมเป็นภาษาที่คอมพิวเตอร์สามารถนำไปปฏิบัติได้ ที่เรียกว่าSource Code
ความหมายของโปรแกรมคอมพิวเตอร์ความหมายของโปรแกรมคอมพิวเตอร์ โปรแกรมคอมพิวเตอร์ (computer program) หมายถึง ชุดของคำสั่งที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทำงานตามที่ต้องการ ส่วนการเขียนโปรแกรม (programming) หมายถึง การเขียนชุดคำสั่งด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อให้คอมพิวเตอร์ทำงานตามโปรแกรมที่เราเขียนขึ้น ดังนั้น ผู้เขียนโปรแกรม (programmer) จึงจำเป็นต้องเรียนรู้ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งหรือหลายภาษา แล้วฝึกฝนทักษะการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ที่ต้องการใช้งานให้เกิดความชำนาญจึงจะสามารถเขียนโปรแกรมคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ
ภาษาคอมพิวเตอร์ (Computer Language) ภาษาคอมพิวเตอร์หมายถึง ภาษาที่สามารถนำมาใช้เขียนหรือพัฒนาโปรแกรมคอมพิวเตอร์ได้ ซึ่งได้มีการจัดแบ่งภาษาคอมพิวเตอร์ตามยุคที่มีการพัฒนาของภาษาดังนี้ 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 เขียนเป็นภาษาเครื่องได้ดังนี้ 000010011010101000000011
ภาษาคอมพิวเตอร์ (Computer Language) 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 Language) 3. ภาษาในยุคที่ 3 (Third Generation Language:3GL) 3GL เรียกอีกอย่างหนึ่งว่า “ภาษาระดับสูง (High-Level Language)” ภาษาระดับสูงเป็นภาษาที่ผู้เขียนโปรแกรมสามารถเข้าใจได้ง่ายกว่าภาษาแอสเซมบลีและภาษาเครื่อง ทั้งนี้ก็เพราะการเขียนคำสั่งของภาษาระดับสูงมีลักษณะเป็นภาษาอังกฤษ ซึ่งอ่านแล้วเข้าใจได้ง่ายกว่าภาษาแอสเซมบลี เช่น ใช้คำว่า READ, WRITE, PRINT, COMPUTE เป็นต้น ตัวอย่างของภาษาระดับสูงได้แก่ ภาษาฟอร์แทรน (FORTRAN), ภาษาโคบอล (COBOL), ภาษาเบสิก (BASIC), ภาษาปาสคาล (PASCAL) และภาษาซี (C) เป็นต้น
ภาษาคอมพิวเตอร์ (Computer Language) 4. ภาษาในยุคที่ 4 (Fourth Generation Language:4GL) 4GL เรียกอีกอย่างหนึ่งว่า “ภาษาระดับสูงมาก (Very High-Level Language)” โดยได้พัฒนาจากภาษาในยุคที่ 3 ให้มีประสิทธิภาพมากขึ้น มีคำสั่งที่สามารถเขียนเป็นภาษาอังกฤษได้มากขึ้น และสามารถนำมาใช้เขียนคำสั่งเพื่อเชื่อมต่อกับฐานข้อมูลได้ ซึ่งนักเขียนโปรแกรมไม่ต้องบอกวิธีการทำงานโดยละเอียด เพียงระบุเป็นคำสั่งสั้น ๆ ให้ภาษาระดับสูงมากเข้าใจก็พอ ส่วนการคำนวณหรือการทำงานภาษาระดับสูงมากจะจัดการเองทั้งหมด เช่น JAVA , SQL,Visual Basic , PHP เป็นต้น
ภาษาคอมพิวเตอร์ (Computer Language) 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 Program) คือ โปรแกรมระบบที่ทำหน้าที่ในการแปลโปรแกรม หรือชุดคำสั่งที่เขียนด้วยภาษาที่ไม่ใช่ภาษาเครื่องหรือภาษาที่เครื่องไม่เข้าใจให้เป็นภาษาที่เครื่องเข้าใจ และนำไปปฏิบัติได้ เช่น ภาษาBASIC,COBOL,C,PASCAL, FORTRAN,ASSEMBLY เป็นต้น สำหรับตัวแปลนั้นจะมีอยู่ 3 แบบ คือ
ตัวแปลภาษาคอมพิวเตอร์ (Translation Program) 1. Assembler เป็นโปรแกรมที่ใช้แปลภาษาแอสแซมบลี ซึ่งมีลักษณะการแปรทีละคำสั่ง เมื่อทำตามคำสั่งนั้นเสร็จแล้ว ก็จะแปลคำสั่งถัดไปเรื่อย ๆ จนจบ 2. อินเตอร์พรีเตอร์ (Interpreter) เป็นตัวแปลภาษาระดับสูงเช่นเดียวกับคอมไพล์เลอร์แต่จะแปลพร้อมกับทำงานตามคำสั่งทีละคำสั่งตลอดไปทั้งโปรแกรม ทำให้การแก้ไขโปรแกรมทำได้ง่ายและรวดเร็ว การแปลโดยใช้อินเตอร์พรีเตอร์จะไม่สร้างโปรแกรมเรียกใช้งาน ดังนั้นจะต้องทำการแปลใหม่ทุกครั้งที่มีการเรียกใช้งาน ตัวอย่างตัวแปลภาษาที่ใช้ตัวแปลอินเตอร์พรีเตอร์ เช่น ภาษาเบสิก (BASIC) 3. คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาระดับสูง เช่น ภาษาปาสคาล ภาษาโคบอลและภาษาฟอร์เเทรน การทำงานจะใช้หลักการแปลโปรแกรมต้นฉบับทั้งโปรแกรมให้เป็นโปรแกรมเรียกใช้งาน (executable program) ซึ่งจะถูกบันทึกไว้ในลักษณะของแฟ้มข้อมูลหรือไฟล์ เมื่อต้องการเรียกใช้งานโปรแกรมก็สามารถเรียกใช้จากไฟล์เรียกใช้งานโดยไม่ต้องทำการแปลหรือคอมไพล์อีก ทำให้การทำงานเป็นไปอย่างรวดเร็ว
การทดสอบโปรแกรม (Program Testing) หลังจากที่เราเขียนโปรแกรมเสร็จแล้ว ขั้นตอนต่อไป คือ การทดสอบโปรแกรมที่เขียนขึ้นซึ่งอาจพบความผิดพลาดได้ 2 ชนิด ดังนี้ 1) ความผิดพลาดทางไวยากรณ์ภาษา (syntax error) เป็นความผิดพลาดที่เกิดจากการเขียนคำสั่งของภาษาคอมพิวเตอร์ผิด ตัวอย่างเช่น คำสั่ง printf( ) ในภาษา C ต้องเขียนด้วยตัวอักษรตัวเล็ก แต่เขียนเป็น PRINTF( ) เป็นต้น โดยส่วนมากความผิดพลาดทางไวยากรณ์ จะถูกตรวจสอบพบเมื่อมีการแปลโปรแกรม (compile) ให้เป็นภาษาเครื่อง ซึ่งเราสามารถแก้ไขโดยการเขียนคำสั่งให้ถูกต้องตามไวยากรณ์ของภาษานั้น ๆ2) ความผิดพลาดทางตรรกะ (logical error) เป็นความผิดพลาดที่เกิดจากการลำดับการทำงานผิดหรือป้อนสูตรคำนวณผิด
การทบทวนการทำงานของโปรแกรมครั้งสุดท้าย (Program Formalization) เป็นขั้นตอนของการตรวจสอบ Source Code ของโปรแกรมทั้งหมดอีกครั้ง แล้ว ลบ Dead Code... ต่างๆออกให้หมด จากนั้นทดลองรันโปรแกรมดูว่าโปรแกรมยังคงทำงานได้เหมือนเดิมหรือไม่ หลังจากนั้นโปรแกรมเมอร์จะตรวจสอบเอกสารต่างๆที่เกี่ยวกับตัวโปรแกรม และส่งมอบเอกสารทั้งหมดให้กับนักวิเคราะห์ระบบ