1 / 52

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

การเขียนโปรแกรมคอมพิวเตอร์ 1. อาจารย์สุรัตน์ สิงห์ทอง โทร. 0872257745 วิทยาลัยชุมชนมุกดาหาร. Tel. 0872257745 ,E-mail :surat_master@hotmail.com. เราเขียนโปรแกรมไปเพื่ออะไร.

krista
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. การเขียนโปรแกรมคอมพิวเตอร์ 1 อาจารย์สุรัตน์ สิงห์ทอง โทร. 0872257745 วิทยาลัยชุมชนมุกดาหาร Tel. 0872257745 ,E-mail :surat_master@hotmail.com

  2. เราเขียนโปรแกรมไปเพื่ออะไรเราเขียนโปรแกรมไปเพื่ออะไร • การเขียนโปรแกรมก็เหมือนการแก้โจทย์ปัญหา เราจะต้องทราบว่าเราต้องการอะไรเพื่อนำไป สร้างเป็นโปรแกรมใหม่ขึ้นมาตามที่เราต้องการ • โปรแกรมคอมพิวเตอร์ คือ คำสั่งหรือชุดคำสั่ง ที่เขียนขึ้นมาเพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานตามที่เราต้องการ เราจะให้คอมพิวเตอร์ทำอะไรก็เขียนเป็นคำสั่ง ซึ่งต้องสั่งเป็นขั้นตอนและแต่ละขั้นตอนต้องทำอย่างละเอียดและครบถ้วน ซึ่งจะเกิดเป็นงานชิ้นหนึ่งขึ้นมามีชื่อเรียกว่า "โปรแกรม" ซอฟต์แวร์จะแบ่งออกเป็นประเภทใหญ่ ๆ ได้ 2 ประเภท คือ 1. ซอฟต์แวร์ระบบ (System Software) 2. ซอฟต์แวร์ประยุกต์ (Application Software)

  3. ซอฟต์แวร์ระบบ (System Software) • OS (Operating System)เช่น DOS UNIX LINUX WINDOWS • Translation Program เช่น Assembler อินเตอร์พรีเตอร์ (Interpreter) คอมไพเลอร์ (Compiler) • Utility Programเช่น Scan Disk, Defragmenter, Disk Cleanup, Norton Utility

  4. ซอฟต์แวร์ประยุกต์ (Application Software) • User Program เช่น โปรแกรมระบบบัญชี,โปรแกรมควบคุมสต็อกสินค้า,โปรแกรมแฟ้มทะเบียนประวัติ,โปรแกรมคำนวณภาษี,โปรแกรมคอดเงินเดือน เป็นต้น • Package Programเช่น Microsoft Office (MS-Word,MS-Excel,MS-Access,MS-PowerPoint) CorelDraw, Photoshop, Internet Explorer , PageMaker

  5. คอมพิวเตอร์ คืออะไร • คอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิคอย่างหนึ่งที่มนุษย์สร้างขึ้น เพื่อเสริมความสามารถของมนุษย์ในด้านการรับรู้ การจำ การคำนวณ การแสดงออก และการเปรียบเทียบตัดสินใจ

  6. คอมพิวเตอร์ คืออะไร • ในการที่จะสั่งให้เครื่องคอมพิวเตอร์ทำงานโดยต้องอาศัยมนุษย์เพื่อป้อนคำสั่งเข้าไปในเครื่องคอมพิวเตอร์ ซึ่งคำสั่งนั้นจะต้องเป็นคำสั่งที่เครื่องเข้า นั้นคือ ภาษาเครื่องหรือที่เรียกเป็นภาษาอังกฤษว่า Machine Language ซึ่งประกอบด้วย ตัวเลข 0 กับ 1 เท่านั้น 100100101 010001110

  7. ขั้นตอนการทำงานของระบบคอมพิวเตอร์ขั้นตอนการทำงานของระบบคอมพิวเตอร์ Memory Output Input Process Memory Output Input Process

  8. ขั้นตอนวิธีการทางคอมพิวเตอร์ (Computer Algorithms) • วงจรการพัฒนาโปรแกรม (Program Development Life Cycle: PDLC) • การวิเคราะห์โปรแกรม (Program Analysis) • การออกแบบโปรแกรม (Program Design) • การเขียนโปรแกรม (Program Coding) • การทดสอบโปรแกรม (Program Testing) • การทบทวนการทำงานของโปรแกรมครั้งสุดท้าย (Program Formalization) • การบำรุงรักษาโปรแกรม (Program Maintenance)

  9. 1. วิเคราะห์โปรแกรม • ตรวจสอบ Program Specification Package • หารือกับนักวิเคราะห์ระบบ (SA) และผู้ใช้ • กำหนดองค์ประกอบของโปรแกรม เช่น อินพุต เอาต์พุต การประมวลผล • 2. ออกแบบโปรแกรม • แบ่งหน้าที่หลัก (Main Module) ของโปรแกรมออกเป็น Module ต่างๆ • ออกแบบอัลกอริทึมให้แต่ละโมดูล • ทดสอบผลลัพธ์ที่ได้จากอัลกอริทึม • 6. บำรุงรักษาโปรแกรม • แก้ไข Error ที่พบระหว่างการใช้งานโปรแกรมจริงโดยผู้ใช้ • ปรับปรุงและเพิ่มเติมความสามารถให้กับโปรแกรมมากขึ้น • 3. เขียนโปรแกรม • เปลี่ยนอัลกอริทึมในขั้นตอนที่ 2 มาเป็นภาษาโปรแกรมมิ่ง • เขียนโปรแกรม และทดลองรันโปรแกรมดู • 5. ทบทวนการทำงานของโปรแกรมครั้งสุดท้าย • ลบโค้ดที่ใม่ใช้ออกให้หมด แล้วลองรันโปรแกรมดูว่า ทำงานได้ดังเดิมหรือไม่ • รวบรวมเอกสารที่เกี่ยวทั้งหมดให้ SA • 4. ทดสอบโปรแกรม • เมื่อพบ Error ของโปรแกรมให้แก้ไขทันที • การ Error อาจเกิดขึ้นจากการเขียนไวยากรณ์ของภาษาผิดหรืออาจผิดที่อัลกอริทึมก็ได้ • วงจรการพัฒนาโปรแกรม • ภาพรวมวงจรการพัฒนาโปรแกรม (PDLC) ขั้นตอนวิธีการทางคอมพิวเตอร์ (Computer Algorithms)

  10. การวิเคราะห์โปรแกรม (Program Analysis) การวิเคราะห์โปรแกรมแต่ละอย่างมีหลักเกณฑ์และรายละเอียด แบ่งได้ 5 หัวข้อ ดังนี้ • 1. การวิเคราะห์หาวัตถุประสงค์ของการเขียนโปรแกรม ผู้เขียนโปรแกรมจะต้องหาวัตถุประสงค์จากงานที่จะเขียนโปรแกรม ว่าต้องการเขียน โปรแกรมเพื่อแก้ปัญหาอะไรบ้าง • 2. การวิเคราะห์หารูปแบบผลลัพธ์ที่ต้องการ การกำหนดรูปแบบผลลัพธ์ที่ต้องการจากโปรแกรม ซึ่งรูปแบบผลลัพธ์อาจอยู่ในลักษณะของข้อความหรือตัวเลข หรือตาราง หรือแผนภูมิ หรืออาจใช้ผสมกันระหว่างตัวเลขกับข้อความ หรือข้อความกับตัวเลข และตารางก็ได้

  11. การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) การวิเคราะห์โปรแกรมแต่ละอย่างมีหลักเกณฑ์และรายละเอียด แบ่งได้ 5 หัวข้อ ดังนี้ • 3. การวิเคราะห์หาข้อมูลนำเข้าที่ต้องใส่เข้าไปในโปรแกรม ผู้เขียนโปรแกรมจะต้องหาข้อมูลนำเข้าจากผลลัพธ์ที่ได้จากโปรแกรม โดยคำนึงถึงขั้นตอนวิธีการคำนวณ และข้อมูลที่จำเป็นต้องใส่เข้าไปเพื่อให้ได้ผลลัพธ์ที่ต้องการ • 4. การวิเคราะห์หาตัวแปรที่จำเป็นต้องใช้ในโปรแกรม การตั้งชื่อตัวแปรที่ใช้ในการเก็บข้อมูลและผลลัพธ์ทั้งหมดภายในโปรแกรมรวมถึงตัวแปรบางตัวที่ใช้ในการนับจำนวนรอบของการทำงานในโปรแกรม • 5. การวิเคราะห์หาขั้นตอนวิธีการทำงานของโปรแกรม เป็นการหาลำดับขั้นตอนวิธีการทำงานของโปรแกรม หรือเรียกว่า อัลกอริทึม (Algorithm)จะขึ้นอยู่กับลักษณะของการแก้ปัญหาของแต่ละโปรแกรม

  12. การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) วิธีการเขียนอัลกอริทึม 4. การตัดสินใจเลือกจากเงื่อนไข(Decision) ใช้รูปแบบ ถ้า....................ไปขั้นตอนที่....................... เช่น ถ้าค่าอายุน้อยกว่า 10 ปี ไปขั้นตอนที่ 12 ถ้าคะแนนมากกว่า 79 คะแนน ไปขั้นตอนที่ 10 ถ้าค่าที่ได้เท่ากับ 0 ไปขั้นตอนที่ 2 5. การประมวลผล การคำนวณ (process) ใช้รูปแบบ คำนวณค่า………=……… เช่น คำนวณค่า ภาษี = ค่าเงินเดือน * 10 / 100 คำนวณหาค่า ภาษีมูลค่าเพิ่ม = ค่าสินค้า * 7 / 100 6. การแสดงผล (Output) ใช้รูปแบบ แสดงผลค่า................ หรือ พิมพ์ค่า....................... เช่น แสดงผล คะแนน แสดงผล ภาษี 7. จบการทำงาน • เริ่มต้นทำงาน • การกำหนดค่า ใช้รูปแบบ • กำหนดค่า…………….=………… • เช่น • กำหนดค่า ชื่อ = “สมชาย” • กำหนดค่า อายุ = 0 • กำหนดค่า ระยะทาง = 100 • 3. การรับข้อมูล ( Input) ใช้รูปแบบ • รับค่า.............................. • เช่น • รับค่าคะแนน • รับค่าตัวเลข • รับค่าอายุ

  13. การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) ตัวอย่างที่ 1.2 จงเขียนวิเคราะห์โปรแกรม เพื่อใช้คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า จำนวน 1 รูป โดยที่ผู้ใช้โปรแกรม จะต้องป้อนความกว้าง และความยาวของสี่เหลี่ยมผืนผ้า เข้าไปในโปรแกรม วิธีทำ ตามขั้นตอนการวิเคราะห์โปรแกรมทั้ง  5  ขั้นตอนสามารถแสดงได้ดังนี้

  14. การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) • วัตถุประสงค์ของการเขียนโปรแกรม เพื่อคำนวณพื้นที่สี่เหลี่ยมผืนผ้าจำนวน 1 รูป • รูปแบบผลลัพธ์ที่ต้องการพิมพ์ผลลัพธ์ออกทางจอภาพดังนี้*** Input Data *** Width = 8 Length = 12 *** Output *** Area = 96

  15. การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) 3) ข้อมูลนำเข้า 3.1) สูตรคำนวณพื้นที่สี่เหลี่ยมผืนผ้า พื้นที่  =   กว้าง x ยาว           3.2) รับค่าความกว้างและความยาวของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด 4) ตัวแปรที่ตั้งขึ้นเพื่อใช้ในโปรแกรมWidth   =  ตัวแปรที่ใช้เก็บความกว้างของสี่เหลี่ยมผืนผ้าLength  =  ตัวแปรที่ใช้เก็บความยาวของสี่เหลี่ยมผืนผ้าArea = ตัวแปรที่ใช้เก็บพื้นที่ของสี่เหลี่ยมผืนผ้า โดยคำนวณได้จากสูตร    Area   =   Width*Length

  16. การวิเคราะห์โปรแกรม (Program Analysis) (ต่อ) 5) ขั้นตอนวิธีการทำงานของโปรแกรมมีดังนี้5.1) เริ่มต้นทำงาน5.2) รับข้อมูลค่าความยาวและความกว้างของสี่เหลี่ยมผืนผ้าผ่านคีย์บอร์ด5.3) คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้าตามสูตรพื้นที่  =   กว้าง x ยาว 5.4) พิมพ์ค่าความยาวความกว้างและพื้นที่สี่เหลี่ยมผืนผ้าออกทางจอภาพ5.5) จบการทำงาน

  17. การสร้างรหัสเทียม (Pseudocode) (ต่อ) • รูปแบบการเขียนการสร้างรหัสเทียม (ต่อ) • Pseudocode ลักษณะงานแสดงผล (Output) • AlgorithmSeudocode • แสดงค่าชื่อ outputname • แสดงค่าที่อยู่ printaddress • แสดงค่าเกรด writegrade • แสดงค่าคะแนน write(score) • เช่นเดียวกัน output,print,write ต่างมีความหมายถึงการแสดงค่าออกมา

  18. การสร้างรหัสเทียม (Pseudocode) (ต่อ) • รูปแบบการเขียนการสร้างรหัสเทียม (ต่อ) • ตัวอย่างที่ 1

  19. การสร้างรหัสเทียม (Pseudocode) (ต่อ) • รูปแบบการเขียนการสร้างรหัสเทียม (ต่อ) • ตัวอย่างที่ 2

  20. การออกแบบโปรแกรม (program Design) การออกแบบโปรแกรม เป็นการนำเอาวิธีการที่ได้จากการวิเคราะห์โปรแกรมมาเขียนแผนภาพหรือสัญลักษณ์แสดงลำดับขั้นตอนการทำงานของโปรแกรม (Flowchart)

  21. การออกแบบโปรแกรม (program Design) (ต่อ) “ผังงาน” (flowchart) ทางคอมพิวเตอร์ เป็นเครื่องมือที่ใช้เขียนอัลกอริทึมรูปแบบหนึ่งซึ่งเข้าใจง่าย ใช้รูปภาพเป็นสัญลักษณ์แสดงการทำงาน “ผังงาน”หมายถึง แผนภาพที่เขียนขึ้นโดยใช้สัญลักษณ์มาตรฐาน เพื่อแสดงขั้นตอนวิธีการทำงานของโปรแกรม หรือระบบงานที่ต้องการ

  22. การออกแบบโปรแกรม (program Design) (ต่อ) ประเภทของผังงาน ผังงานสามารถจำแนกออกได้ 2 ประเภท คือ 1) ผังงานระบบ (system flowchart) หมายถึง ผังงานที่แสดงถึงขั้นตอนวิธีการทำงานของระบบงานใดระบบหนึ่ง

  23. การออกแบบโปรแกรม (program Design) (ต่อ) 2) ผังงานโปรแกรม (program flowchart) หมายถึงผังงานที่แสดงขั้นตอน วิธีการทำงานของโปรแกรมที่ต้องการเขียนขึ้น

  24. Symbol Meaning Terminator Symbolใช้แสดงตำแหน่งของจุดเริ่มต้นจุดสิ้นสุดโปรแกรม Process Symbol ใช้ในการคำนวณ Input/Output Symbolใช้ในการรับข้อมูลการแสดงผลข้อมูล การออกแบบโปรแกรม (program Design) (ต่อ) สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม

  25. Symbol Meaning Display /Monitor Symbol ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนจอภาพ Document Symbol ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนเครื่องพิมพ์ Decision Symbol ใช้ในการเปรียบเทียบเงื่อนไขหรือตัดสินใจ Keyboard Symbol ใช้ในการรับข้อมูลจากแป้นพิมพ์ External Subroutine Symbol ใช้เรียกฟังก์ชันต่าง ๆ ที่ C Compiler สร้างไว้แล้ว การออกแบบโปรแกรม (program Design) (ต่อ) สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม

  26. Comment Symbol ใช้แสดงความเห็นคำอธิบายหรือข้อสังเกตต่างๆ Flowline Symbol ใช้เป็นจุดเชื่อมต่อระหว่างสัญลักษณ์ On-page Connector Symbol ใช้ในการเชื่อมโยงในหน้าเดียวกัน Off-page Connector Symbol ใช้ในการเชื่อมโยงไปหน้าอื่น Manual  Operation การรับข้อมูลหรือแสดงผลลัพธ์โดยไม่ระบุสื่อ Internal Subroutine Symbol ใช้เรียกฟังก์ชันต่าง ๆ ที่ผู้เขียนโปรแกรมสร้างไว้ใช้งานภายในโปรแกรม การออกแบบโปรแกรม (program Design) (ต่อ)

  27. การออกแบบโครงสร้าง (Structured Design) คือ เทคนิคที่ใช้ในการออกแบบอัลกอริทึม ซึ่งโครงสร้างของอัลกอริทึมมีอยู่ 3 โครงสร้าง ได้แก่ 1. โครงสร้างควบคุมการทำงานแบบเรียงลำดับ (Sequence Control Structure) 2. โครงสร้างควบคุมการทำงานแบบเลือกกระทำ (Selection Control Structure) 3. โครงสร้างควบคุมการทำงานแบบวนซ้ำ (Repetition Control Structure)

  28. คำสั่งที่ 1 คำสั่งที่ n คำสั่งที่ 2 … การออกแบบโครงสร้าง (Structured Design) (ต่อ) 1. โครงสร้างควบคุมการทำงานแบบเรียงลำดับ (Sequence Control Structure) เป็นโครงสร้างที่มีการทำงานทุกคำสั่งอย่างเป็นลำดับขั้นตอน ประกอบไปด้วยคำสั่งทั่วๆ ไป ไม่มีการตัดสินใจ ไม่มีการวนซ้ำ (Looping) ไม่มีการข้าม ขั้นตอนหรือย้อยกลับไปทำขั้นตอนเดิม จะทำงานตาม

  29. การออกแบบโครงสร้าง (Structured Design) (ต่อ) 2. โครงสร้างควบคุมการทำงานแบบมีเงื่อนไขเลือกกระทำ (Selection Control Structure) 1) โครงสร้างแบบทดสอบเงื่อนไข 1 ทางเลือก ทำการทดสอบเงื่อนไขว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไขเป็นจริง ให้ทำงานตามคำสั่งที่กำหนดไว้แล้วออกจากการทำงาน แต่ถ้าเงื่อนไขเป็นเท็จ ให้ออกจากการทำงาน

  30. การออกแบบโครงสร้าง (Structured Design) (ต่อ) 1) โครงสร้างแบบทดสอบเงื่อนไข 1 ทางเลือก

  31. การออกแบบโครงสร้าง (Structured Design) (ต่อ) 2) โครงสร้างแบบทดสอบเงื่อนไข 2 ทางเลือก ทำการทดสอบเงื่อนไขว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไขเป็นจริง ให้ทำงานตามคำสั่ง A ที่กำหนดไว้แล้วออกจากการทำงาน แต่ถ้าเงื่อนไขเป็นเท็จ ให้ทำงานตามคำสั่ง B ที่กำหนดไว้แล้วออกจากการทำงาน

  32. การออกแบบโครงสร้าง (Structured Design) (ต่อ) 3) โครงสร้างแบบทดสอบเงื่อนไขมากกว่า 2 ทางขึ้นไป

  33. การออกแบบโครงสร้าง (Structured Design) (ต่อ) 3. โครงสร้างควบคุมการทำงานแบบวนซ้ำ (Repetition Control Structure) 1) โครงสร้างแบบทำงานวนลูป หมายถึงโครงสร้างของคำสั่งที่มีการทำงานซ้ำ ๆ เป็นวงจรปิดจนกว่าเงื่อนไขที่ทดสอบจะตรงกับค่าจริงหรือเท็จตามโครงสร้างที่ใช้จึงสามารถออกจากการทำงานได้

  34. เท็จ • ประโยคเงื่อนไข • จริง • คำสั่งการทำงาน การออกแบบโครงสร้าง (Structured Design) (ต่อ) 1) โครงสร้างแบบ DO UNTIL

  35. การออกแบบโครงสร้าง (Structured Design) (ต่อ) 2) โครงสร้างแบบ DO WHILE • คำสั่งการทำงาน • จริง • ประโยคเงื่อนไข • เท็จ

  36. หลักการเขียนผังงานโปรแกรมหลักการเขียนผังงานโปรแกรม 1) เขียนผังงานจากด้านบนลงด้านล่าง 2) ใช้สัญลักษณ์ให้ตรงกับความหมายของผังงาน 3) ใช้เส้น flow line และ arrowheads แสดงทิศทางการทำงานของผังงาน 4) ใส่คำอธิบายลงในสัญลักษณ์สั้น ๆ แต่เข้าใจง่าย จะใช้ภาษาไทยหรืออังกฤษก็ได้ 5) หลีกเลี่ยงการโยงเส้นทิศทางของผังงานให้ตัดกันเพราะจะทำให้สับสน ควรใช้จุดเชื่อมต่อ (connector) หน้าเดียวกันแทน จะเข้าใจได้ง่ายและเป็นระเบียบ 6) พยายามเขียนผังงานให้จบในหน้ากระดาษเดียวกัน แต่ถ้าไม่จบในหน้าเดียวกัน ควรใช้จุดเชื่อมต่อต่างหน้ากระดาษ (off page connector)

  37. ขั้นตอนการเขียนผังงานโปรแกรมขั้นตอนการเขียนผังงานโปรแกรม

  38. ขั้นตอนการเขียนผังงานโปรแกรมขั้นตอนการเขียนผังงานโปรแกรม

  39. แบบวนรอบ (loop) แบบลำดับ (Sequence) แบบมีเงื่อนไข/เลือกทำ (selection) ขั้นตอนการเขียนผังงานโปรแกรม

  40. การเขียนโปรแกรม(programming) คือ การเปลี่ยนอัลกอริทึมเป็นภาษาที่คอมพิวเตอร์สามารถนำไปปฏิบัติได้ ที่เรียกว่าSource Code

  41. ความหมายของโปรแกรมคอมพิวเตอร์ความหมายของโปรแกรมคอมพิวเตอร์ โปรแกรมคอมพิวเตอร์ (computer program) หมายถึง ชุดของคำสั่งที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทำงานตามที่ต้องการ ส่วนการเขียนโปรแกรม (programming) หมายถึง การเขียนชุดคำสั่งด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อให้คอมพิวเตอร์ทำงานตามโปรแกรมที่เราเขียนขึ้น ดังนั้น ผู้เขียนโปรแกรม (programmer) จึงจำเป็นต้องเรียนรู้ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งหรือหลายภาษา แล้วฝึกฝนทักษะการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ที่ต้องการใช้งานให้เกิดความชำนาญจึงจะสามารถเขียนโปรแกรมคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ

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

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

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

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

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

  47. ตัวแปลภาษาคอมพิวเตอร์ (Translation Program) คือ โปรแกรมระบบที่ทำหน้าที่ในการแปลโปรแกรม หรือชุดคำสั่งที่เขียนด้วยภาษาที่ไม่ใช่ภาษาเครื่องหรือภาษาที่เครื่องไม่เข้าใจให้เป็นภาษาที่เครื่องเข้าใจ และนำไปปฏิบัติได้ เช่น ภาษาBASIC,COBOL,C,PASCAL, FORTRAN,ASSEMBLY เป็นต้น สำหรับตัวแปลนั้นจะมีอยู่ 3 แบบ คือ

  48. ตัวแปลภาษาคอมพิวเตอร์ (Translation Program) 1. Assembler เป็นโปรแกรมที่ใช้แปลภาษาแอสแซมบลี ซึ่งมีลักษณะการแปรทีละคำสั่ง เมื่อทำตามคำสั่งนั้นเสร็จแล้ว ก็จะแปลคำสั่งถัดไปเรื่อย ๆ จนจบ 2. อินเตอร์พรีเตอร์ (Interpreter) เป็นตัวแปลภาษาระดับสูงเช่นเดียวกับคอมไพล์เลอร์แต่จะแปลพร้อมกับทำงานตามคำสั่งทีละคำสั่งตลอดไปทั้งโปรแกรม ทำให้การแก้ไขโปรแกรมทำได้ง่ายและรวดเร็ว การแปลโดยใช้อินเตอร์พรีเตอร์จะไม่สร้างโปรแกรมเรียกใช้งาน ดังนั้นจะต้องทำการแปลใหม่ทุกครั้งที่มีการเรียกใช้งาน ตัวอย่างตัวแปลภาษาที่ใช้ตัวแปลอินเตอร์พรีเตอร์ เช่น ภาษาเบสิก (BASIC) 3. คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาระดับสูง เช่น ภาษาปาสคาล ภาษาโคบอลและภาษาฟอร์เเทรน การทำงานจะใช้หลักการแปลโปรแกรมต้นฉบับทั้งโปรแกรมให้เป็นโปรแกรมเรียกใช้งาน (executable program) ซึ่งจะถูกบันทึกไว้ในลักษณะของแฟ้มข้อมูลหรือไฟล์ เมื่อต้องการเรียกใช้งานโปรแกรมก็สามารถเรียกใช้จากไฟล์เรียกใช้งานโดยไม่ต้องทำการแปลหรือคอมไพล์อีก ทำให้การทำงานเป็นไปอย่างรวดเร็ว

  49. การทดสอบโปรแกรม (Program Testing) หลังจากที่เราเขียนโปรแกรมเสร็จแล้ว ขั้นตอนต่อไป คือ การทดสอบโปรแกรมที่เขียนขึ้นซึ่งอาจพบความผิดพลาดได้ 2 ชนิด ดังนี้ 1) ความผิดพลาดทางไวยากรณ์ภาษา (syntax error) เป็นความผิดพลาดที่เกิดจากการเขียนคำสั่งของภาษาคอมพิวเตอร์ผิด ตัวอย่างเช่น คำสั่ง printf( ) ในภาษา C ต้องเขียนด้วยตัวอักษรตัวเล็ก แต่เขียนเป็น PRINTF( ) เป็นต้น โดยส่วนมากความผิดพลาดทางไวยากรณ์ จะถูกตรวจสอบพบเมื่อมีการแปลโปรแกรม (compile) ให้เป็นภาษาเครื่อง ซึ่งเราสามารถแก้ไขโดยการเขียนคำสั่งให้ถูกต้องตามไวยากรณ์ของภาษานั้น ๆ2) ความผิดพลาดทางตรรกะ (logical error) เป็นความผิดพลาดที่เกิดจากการลำดับการทำงานผิดหรือป้อนสูตรคำนวณผิด

  50. การทบทวนการทำงานของโปรแกรมครั้งสุดท้าย (Program Formalization) เป็นขั้นตอนของการตรวจสอบ Source Code ของโปรแกรมทั้งหมดอีกครั้ง แล้ว ลบ Dead Code... ต่างๆออกให้หมด จากนั้นทดลองรันโปรแกรมดูว่าโปรแกรมยังคงทำงานได้เหมือนเดิมหรือไม่ หลังจากนั้นโปรแกรมเมอร์จะตรวจสอบเอกสารต่างๆที่เกี่ยวกับตัวโปรแกรม และส่งมอบเอกสารทั้งหมดให้กับนักวิเคราะห์ระบบ

More Related