ขั้นตอนการพัฒนาด้วยโปรแกรมภาษา C
ขั้นตอนที่ 1 เขียนโปรแกรม (Source code)
ใช้โปรแกรม editor หรือโปรแกรมที่รองรับการเขียนภาษาซีเช่น Dev C++, Visual C++
เป็นต้นในการเขียนโค้ดภาษาซี และทำการบันทึกไฟล์ให้มีนามสกุลเป็น .c เช่น test.c เป็นต้น
ขั้นตอนที่ 2 คอมไพล์โปรแกรม (Compile)
นำ Source code จากขั้นตอนที่ 1 มาทำการคอมไพล์เพื่อแปลภาษาซีที่มนุษย์เข้าใจไปเป็นภาษาเครื่องที่คอมพิวเตอร์สามารถเข้าใจได้ โดยคอมไพล์ภาษาซีคือ C Compiler จะทำการตรวจสอบ Source code
ทีเดียวตั้งแต่ต้นจนจบจากนั้นจึงแจ้งให้ผู้ใช้ทราบว่ามีความผิดพลาดใน Source code หรือไม่
- หากพบข้อผิดพลาด โปรแกรมจะแจ้งเป็นข้อความ error ให้ผู้เขียนโปรแกรมทราบ ผู้เขียนโปรแกรมจะต้องกลับไปแก้ไขโปรแกรม และทำการคอมไพล์โปรแกรมใหม่อีกครั้ง
- หากไม่พบข้อผิดพลาด คอมไพล์จะแปลไฟล์ Source code จากภาษาซีไปเป็นภาษาเครื่อง(ไฟล์นามสกุล .obj) เช่น ถ้าไฟล์ Source code ชื่อ test.c ก็จะถูกแปลงเป็น test.obj
ซึงเก็บภาษาเครื่องไว้เป็นต้น
ขั้นตอนที่ 3 เชื่อมโยงโปรแกรม (link)
การเขียนโปรแกรมภาษาซีนั้นผู้เขียนโปรแกรมไม่จำเป็นต้องเขียนคำสั่งต่างๆ ขึ้นใช้งานเองเนื่องจากภาษาซีมีฟังก์ชั่นมาตรฐานให้ผู้เขียนโปรแกรมเลือกใช้ได้ เช่น ฟังก์ชั่น printf() เป็นต้น ส่วนการประกาศ(declaration) ฟังก์ชั่นมาตรฐานต่างๆ จะถูกเก็บไว้ในไฟล์แต่ละตัว แตกต่างกันไปตามลักษณะการใช้งาน ด้วยเหตุนี้ภาษาเครื่องในข้้นตอนที่ 2 จะยังใช้งานไม่ได้
ต้องนำมาเชื่อมโยง(link) เข้ากับ library ก่อนซึ่งผลจากการเชื่อมโยงจะทำให้ได้ executable program (ไฟล์นามสกุล .exe เช่น test.exe) ที่สามารถนำไปใช้งานได้
ขั้นตอนที่ 4 การประมวลผล (run)
เมื่อนำไฟล์ .exe ที่ได้จากขั้นตอนที่ 3 มาประมวลผลก็จะได้ผลลัพธ์(Output) ของโปรแกรมออกมา(ถ้าผู้เขียนให้มีการแสดงผลลัพธ์)
รูปขั้นตอนการพัฒนาโปรแกรมด้วยภาษาซี
แหล่งอ้างอิง
อรพิน ประวัติบริสุทธิ์.(2552). คู่มือเรียนภาษาซี ฉบับปรับปรุงใหม่. กรุงเทพฯ:โปรวิชั่น
โพสต์ยอดนิยมจากบล็อกนี้
โครงสร้างของโปรแกรมภาษาซี /
คอมเมนต์ในภาษาซี / กฎการตั้งชื่อ
โครงสร้างของโปรแกรมภาษาซี #include <stdio.h> ----(1) main () ----(2) { ..... ----(3) } โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็น 3 ส่วน คือ 1. ส่วนหัวของโปรแกรม (Preprocessing Directives) ส่วนหัวของโปรแกรมใช้เพื่อบอกให้คอมไพล์เลอร์กระทำการใดๆก่อนการแปลผลโปรแกรม โดยการกำหนดส่วนหัวของโปรแกรมจะต้องขึ้นต้นด้วยเครื่องหมาย # (pound sign) เสมอ
คำสั่งที่จะใช้ระบุให้คอมไพเลอร์นำเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ #include <ชื่อเฮดเดอร์ไฟล์> คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟล์ที่ระบุ จากไดเร็คทอรี(ปกติคือไดเร็คทอรี include) ที่ใช้สำหรับเก็บเฮดเดอร์ไฟล์โดยเฉพาะ #include "ชื่อเฮดเดอร์ไฟล์" คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟล์ที่ระบุ จากไดเร็คทอรีเดียวกันกับไฟล์โค้ดโปรแกรม แต่ถ้าไม่พบจะไปค้นหาจากไดเร็คทอรีที่ใช้สำหรับเก็บเฮดเดอร์ไฟล์โดยเฉพาะ 2. ส่วนของฟังก์ชั่นหลัก
ฟังก์ชั่นหลักของภาษาซีคือ ฟังก์ชั่น main() ภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่น main() เสมอจะขาดฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตการ
|
หน้าแรก
|
คำชี้แจงก่อนเรียน
|
รายละเอียดรายวิชา
|
|
แบบทดสอบก่อนเรียน
|
หน่วยที่ 1 ภาษาคอมพิวเตอร์เบื้องต้น
|
แบบทดสอบก่อนเรียนประจำหน่วย
| 1.1 โปรแกรมคอมพิวเตอร์
| 1.2 ภาษาคอมพิวเตอร์
| 1.3 ยุคของภาษาโปรแกรม
| 1.4 ตัวแปลภาษา
| 1.5 ขั้นตอนการพัฒนาโปรแกรม
| แบบฝึกหัดที่ 1.1
| แบบทดสอบหลังเรียนประจำหน่วย
|
|
หน่วยที่ 2 เริ่มต้นกับภาษาซี
|
หน่วยที่ 3 ข้อมูลพื้นฐานและตัวดำเนินการ
|
หน่วยที่ 4 คำสั่งพื้นฐานในภาษาซี
|
หน่วยที่ 5 คำสั่งควบคุมแบบทางเลือก
|
หน่วยที่ 6 คำสั่งควบคุมแบบวนซ้ำ
|
แบบทดสอบหลังเรียน
|
บรรณานุกรม
|
|
แจ้งข่าว
|
แหล่งเรียนรู้เพิ่มเติม
|
ติดต่อครูผู้สอน
|
ผู้พัฒนาบทเรียน
|
|
|
|
|
|
1. มีความรู้ความเข้าใจความหมาย โปรแกรมคอมพิวเตอร์ ภาษาคอมพิวเตอร์ ยุคของภาษาคอมพิวเตอร์และตัวแปลภาษา
|
| 2. มีความรู้ความเข้าใจในขั้นตอนการเขียนและพัฒนาโปรแกรม
|
|
|
|
|
1. อธิบายความหมายของโปรแกรมคอมพิวเตอร์ได้
| 2. อธิบายความหมายของภาษาและบอกยุคของภาษาคอมพิวเตอร์ได้
| 3. อธิบายความหมายของตัวแปลภาษาได้
| 4. อธิบายและบอกลำดับขั้นตอนของการพัฒนาโปรแกรมได้
| 5. อธิบายความหมายของรหัสเทียมและผังงานได้
| 6. บอกขั้นตอนการทำงานของโปรแกรมด้วยรหัสเทียมและผังงานได้
|
|
|
|
|
|
1.1 โปรแกรมคอมพิวเตอร์
| 1.2 ภาษาคอมพิวเตอร์
| 1.3 ยุคของภาษาโปรแกรม
| 1.4 ตัวแปลภาษา
| 1.5 ขั้นตอนการพัฒนาโปรแกรม
|
|
|
|
|
|
คอมพิวเตอร์เป็นเครื่องมืออิเล็กทรอนิกส์ชนิดหนึ่ง ใช้ในการประมวลผลข้อมูล สามารถทำงานตามคำสั่งได้รวดเร็ว แต่ไม่สามารถคิด ริเริ่มทำงานเองได้ ต้องอาศัยผู้ใช้งาน ควบคุม เปิด ปิด หรือสั่งให้คอมพิวเตอร์ทำงานตามต้องการ ด้วยชุดคำสั่งที่เขียนขึ้น ซึ่งเรียกว่าโปรแกรมหรือซอฟต์แวร์
|
| โปรแกรมคอมพิวเตอร์ หมายถึง ชุดคำสั่งที่มีขั้นตอน ตามลำดับ หรือตามเงื่อนไขที่กำหนด ที่สั่งให้เครื่องคอมพิวเตอร์ทำงาน เพื่อให้ได้ผลลัพธ์ตามวัตถุประสงค์ แบ่งออกเป็น 2 ประเภท คือ โปรแกรมระบบหรือซอฟต์แวร์ระบบ (System Software) และ โปรแกรมประยุกต์หรือซอฟต์แวร์ประยุกต์ (Application Software)
| - โปรแกรมระบบหรือซอฟต์แวร์ระบบ (System Software) คือ ชุดคำสั่งที่ทำหน้าที่ควบคุมการปฏิบัติงานของอุปกรณ์คอมพิวเตอร์ ตลอดจนทำหน้าที่ควบคุมด้านการสื่อสารข้อมูลในระบบเครือข่ายคอมพิวเตอร์ แบ่งออกเป็น 3 ประเภท คือ โปรแกรมระบบปฏิบัติการ (Operating System : OS) โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator) และโปรแกรมอรรถประโยขน์ (Utility programs)
- โปรแกรมระบบปฏิบัติการ
(Operating System : OS) เป็นโปรแกรมที่ทำหน้าที่เป็นสื่อกลางในการประสานงานระหว่าง โปรแกรมต่าง ๆ กับ อุปกรณ์คอมพิวเตอร์ โดยมีวัตถุประสงค์ เพื่อให้ผู้ใช้สามารถสั่งงานคอมพิวเตอร์ได้ คอมพิวเตอร์ทุกเครื่องต้องถูกติดตั้งโปรแกรมระบบปฏิบัติการก่อนที่จะติดตั้งโปรแกรมใช้งานอื่น ๆ ระบบปฏิบัติการที่รู้จักกันทั่วไป เช่น วินโดวส์ (Wondows) , ลีนุกซ์ (linux) , ยูนิกซ์ (Unix) เป็นต้น
- โปรแกรมแปลภาษาคอมพิวเตอร์
(Translator) ทำหน้าที่แปลภาษาที่ผู้เขียนโปรแกรมเขียนขึ้นให้เป็นภาษาเครื่อง ที่คอมพิวเตอร์เข้าใจและสามารถปฏิบัติตามคำสั่งได้
- โปรแกรมอรรถประโยขน์ (Utility programs)
คือ โปรแกรมที่ช่วยเพิ่มประสิทธิภาพให้กับโปรแกรมระบบปฏิบัติการ โดยให้ผู้ใช้สามารถดูแลความปลอดภัยของข้อมูล และตรวจสอบอุปกรณ์คอมพิวเตอร์ เช่น โปรแกรมตรวจสอบความถูกต้องของข้อมูลในฮาร์ดดิสก์
(Scandisk) โปรแกรมตรวจไวรัส (Virun Scan) โปรแกรมบีบอัดข้อมูล (Compression Utility) โปรแกรมช่วยจัดระเบียบข้อมูลในฮาร์ดดิสก์ (Disk Defragmenter) เป็นต้น
- โปรแกรมประยุกต์หรือซอฟต์แวร์ประยุกต์ (Application Software) หมายถึง โปรแกรมคอมพิวเตอร์ที่ถูกพัฒนาขึ้น เพื่อให้ระบบคอมพิวเตอร์ทำงานด้านต่าง ๆ ตามวัตถุประสงค์ของผู้ใช้ แบ่งรูปแบบของการพัฒนาโปรแกรมออกเป็น 2 ประเภทใหญ่ ๆ คือ โปรแกรมสำเร็จรูป (Package Software) และโปรแกรมที่เขียนขึ้นเพื่อใช้งานเฉพาะด้าน (Application
Specific)
- โปรแกรมสำเร็จรูป (Package Software) เป็นโปรแกรมที่พัฒนาขึ้นมาโดยไม่เจาะจงสำหรับหน่วยงานใดหน่วยงานหนึ่ง แต่พัฒนาขึ้นสำหรับงานทั่ว ๆ ไป ที่ผู้ใช้สามารถเลือกโปรแกรมเหล่านั้นไปประยุกต์ใช้กับงานของตนได้ทันที เช่น โปรแกรมประมวลคำ (Word Processing) โปรแกรมตารางงาน (Spreadsheet) โปรแกรมการนำเสนอ (Presentation) โปรแกรมจัดการฐานข้อมูล (Database) โปรแกรมกราฟิก
(Graphics Software) เป็นต้น
- โปรแกรมที่เขียนขึ้นเพื่อใช้งานเฉพาะด้าน (Application Specific) เป็นโปรแกรมที่ถูกพัฒนาขึ้นสำหรับการใช้งานเฉพาะภายในหน่วยงาน และพัฒนาตามความต้องการของหน่วยงาน แต่ละหน่วยงาน เช่น โปรแกรมข้อมูลนักเรียน-นักศึกษา โปรแกรมสหกรณ์ร้านค้า เป็นต้น โปรแกรมประเภทนี้มีค่าใช้จ่ายในการพัฒนาสูง และใช้เวลาในการพัฒนานาน
|
|
|
|
|
|
|
มนุษย์สื่อสารกับมนุษย์ด้วยกันต้องอาศัยภาษาในการสื่อสารที่เข้าใจกันทั้งสองฝ่าย เช่น คนไทยใช้ภาษาไทยในการสื่อสารกัน คนอังกฤษใช้ภาษาอังกฤษสื่อสารกัน เป็นต้น หากคนไทยกับคนอังกฤษ ต้องการสื่อสารกับคนอังกฤษให้เข้าใจกัน
ต้องมีฝ่ายใดฝ่ายหนึ่งต้องศึกษาภาษาอีกฝ่ายให้เข้าใจแล้วสื่อสารกันด้วยภาษานั้นแทน แต่วิธีนี้ยากต้องใช้เวลา หรือไม่ก็ใช้ตัวกลาง สื่อสารกันผ่านล่ามแปลภาษา คอมพิวเตอร์ก็เช่นกัน หากคนเราต้องการสื่อสารกับคอมพิวเตอร์ให้เข้าใจ ต้องใช้หลักคล้ายกัน โดยคนเราเลือกใช้ตัวแปลภาษามาแปลภาษา จากภาษาที่คนเราเข้าใจไปเป็นภาษาที่คอมพิวเตอร์เข้าใจ คอมพิวเตอร์รับคำสั่งการทำงานเป็นสัญญาณไฟฟ้า เรียกว่า ภาษาเครื่อง (Machine Language) ซึ่งมนุษย์ทำความเข้าใจยาก เนื่องจากเป็นรหัสตัวเลขแบบต่าง ๆ ไม่สะดวกต่อการสั่งให้คอมพิวเตอร์ทำงาน จึงได้มีการพัฒนาภาษาที่ใช้กับคอมพิวเตอร์ขึ้นมาหลายภาษา แบ่งได้เป็น 2 ระดับ คือ ภาษาระดับต่ำ (Low-level Language) และภาษาระดับสูง (High-level
Language) - ภาษาระดับต่ำ (Low-level Language) เป็นภาษาที่ใกล้เคียงกับภาษาเครื่อง มีการใช้รหัสตัวอักษรสำหรับใช้แทนภาษาเครื่อง แต่ก็ยังยุ่งยากในการศึกษาเรียนรู้ จึงไม่สะดวกในการใช้งาน เช่น ภาษาแอสเซมบลี (Assembly Language) เป็นต้น จึงมีการศึกษาและพัฒนาภาษาที่ให้ผู้ใช้คอมพิวเตอร์เข้าใจได้ง่ายขึ้น
- ภาษาระดับสูง (High-level Language)
เป็นภาษาที่สามารถศึกษาและทำความเข้าใจได้ง่ายขึ้น เหมาะสำหรับการใช้งานในลักษณะต่างกัน มีหลายภาษาตามวัตถุประสงค์ของการพัฒนาขึ้นใช้งาน เช่น ภาษาซี (C Language) ภาษาจาวา (Java Language) ภาษาเบสิก (BASIC Language) ภาษาฟอร์แทรน (FORTRAN Language) เป็นต้น
|
|
|
|
|
|
ภาษาคอมพิวเตอร์ ได้ถูกพัฒนามาหลายยุคหลายสมัย ตั้งแต่ยุคแรก การใช้ภาษายังมีความใกล้เคียงกับภาษาเครื่องคอมพิวเตอร์มาก เรียกว่า ภาษาระดับต่ำ (Low-level Language) แต่มีโครงสร้างและรูปแบบที่ยากต่อความเข้าใจของมนุษย์ ต่อมาได้พัฒนารูปแบบภาษาที่มีความใกล้เคียงกับภาษามนุษย์
เรียกว่า ภาษาระดับสูง (High-level Language) สามารถจำแนกยุคของภาษาคอมพิวเตอร์ได้ 5 ยุค ดังนี้ - ภาษาคอมพิวเตอร์ยุคที่ 1 (First Generation Language) ในยุคนี้จะสั่งงานคอมพิวเตอร์ด้วยภาษาเครื่อง เป็นภาษาที่สื่อสารกับคอมพิวเตอร์ได้โดยตรง คำสั่งในภาษาเครื่องประกอบด้วยตัวเลขฐานสอง มี 0 กับ 1 เป็นสัญลักษณ์แทนสัญญาณไฟฟ้า เนื่องจากเป็นรูปแบบภาษาที่สื่อสารกับคอมพิวเตอร์ได้โดยตรง จึงไม่ต้องมีตัวแปลภาษา การเขียนชุดคำสั่งในยุคนี้นั้น จะมีความยุ่งยากในการเขียนเป็นอย่างยิ่ง
ยุคนี้จัดอยู่ในกลุ่มภาษาระดับต่ำ
- ภาษาคอมพิวเตอร์ยุคที่ 2 (Second Generation Language) พัฒนามาจากยุคที่ 1 เมื่อการเขียนคำสั่งภาษาเครื่องทำได้ยาก จึงได้พัฒนาโดยนำสัญลักษณ์มาใช้แทนรูปแบบตัวเลขในภาษาเครื่อง เพื่อให้สามารถเขียนคำสั่งได้ง่ายขึ้น ภาษาในยุดนี้ได้แก่ ภาษาแอสเซมบลี แต่คอมพิวเตอร์ไม่เข้าใจความหมายของชุดคำสั่งที่เขียนขึ้นด้วยรูปแบบภาษาแอสเซมบลี
จึงต้องมีตัวแปลภาษา เรียกว่า แอสเซมเบลอร์ เพื่อช่วยแปลคำสั่งภาษาแอสเซมบลีให้เป็นภาษาเครื่อง เพื่อให้คอมพิวเตอร์เข้าใจ ยุคนี้ก็ยังจัดอยู่ในกลุ่มภาษาระดับต่ำ
- ภาษาคอมพิวเตอร์ยุคที่ 3 (Third Generation Language) ในยุคนี้ได้พัฒนารูปแบบภาษาให้มีความใกล้เคียงกับภาษาของมนุษย์ยิ่งขึ้น เรียกว่า ภาษาระดับสูง โดยนำกลุ่มคำของภาษาอังกฤษมาใช้เป็นรูปแบบของการเขียน
ช่วยให้โปรแกรมภาษาในยุคนี้มีรูปแบบคำสั่งที่ง่ายต่อการเรียนรู้และเข้าใจ การเขียนโปรแกรมคอมพิวเตอร์ในยุคนี้ เป็นรูปแบบเชิงกระบวนการ จะเขียนคำสั่งเป็นขั้นเป็นตอนเรียงลำดับ โดยผู้เขียนจะต้องจดจำรูปแบบคำสั่งต่าง ๆ จึงยังเป็นเรื่องที่ยุ่งยากสำหรับการเขียนโปรแกรม ตัวอย่างภาษาในยุคที่ 3 เช่น ภาษาซี ภาษาเบสิก ภาษาปาสกาล และภาษาฟอร์แทรน เป็นต้น ภาษาในยุคนี้จะมีตัวแปลภาษา 2 ประเภท คือ คอมไพเลอร์ (Compiler) และอินเทอร์พรีเตอร์ (Interpreter)
- ภาษาคอมพิวเตอร์ยุคที่ 4 (Fourth Generation Language) ภาษาในยุคที่ 3 มีความยุ่งยาก ซับซ้อน ในการออกแบบโปรแกรม จึงต้องการผู้ที่มีประสบการณ์สูงในการเขียนโปรแกรมเหล่านั้น เพื่อให้เกิดความผิดพลาดน้อยที่สุด ไม่เหมาะกับนักเขียนโปรแกรมมือใหม่ จึงมีการพัฒนาภาษาคอมพิวเตอร์ขึ้นมาใหม่ เป็นภาษาคอมพิวเตอร์ที่มีลักษณะการเขียนที่ไม่เป็นลำดับขั้นตอน หรือไม่มีรูปแบบที่แน่นอน เพียงหยิบเอาปุ่มคำสั่งต่าง ๆ มาวาง
ผู้เขียนโปรแกรมรู้เพียงว่าจะให้คอมพิวเตอร์ทำอะไรบ้าง โดยไม่ต้องรู้ว่าทำได้อย่างไร แต่เป็นหน้าที่ของภาษาคอมพิวเตอร์เหล่านั้นมาจัดการแทน รูปแบบของภาษาคอมพิวเตอร์ยุคนี้ช่วยทำให้การเขียนโปรแกรมทำได้ง่าย สะดวก และรวดเร็วขึ้น เรียกว่า ภาษาระดับสูงมาก (Very-high-level Language) ภาษาคอมพิวเตอร์ในยุคที่ 4 นี้ ไม่ได้ถูกออกแบบมาเพื่อทำงานด้วยตนเอง แต่ได้ถูกออกแบบมาเพื่อนำไปใช้ทำงานร่วมกับภาษาอื่น เช่น นำภาษา SQL มาใช้ร่วมกับ ภาษา PHP เป็นต้น
- ภาษาคอมพิวเตอร์ยุคที่ 5 (Fifth Generation Language) ภาษาคอมพิวเตอร์ในยุคที่ 5 นี้ มีความใกล้เคียงกับภาษามนุษย์มากยิ่งขึ้น เรียกว่า ภาษาธรรมชาติ (Natural Language) ผู้ใช้สามารถสั่งงานด้วยเสียง เป็นการนำระบบฐานความรู้มาช่วย โดยจะแปลความของคำสั่งเพื่อทำให้คอมพิวเตอร์เข้าใจและจำโครงสร้างของคำสั่งเหล่านั้นไว้ ภาษาธรรมชาตินี้จะนำไปประยุกต์ใช้กับระบบผู้เชี่ยวชาญ
และระบบปัญญาประดิษฐ์ เช่น การพัฒนาหุ่นยนต์ให้มีความสามารถในการทำงานเหมือนมนุษย์ และสามารถสื่อสารกับมนุษย์ได้ การใช้เสียงเป็นรหัสผ่านในการสั่งให้โปรแกรมที่กำหนดไว้เริ่มทำงาน เป็นต้น
|
|
|
|
|
|
การเขียนโปรแกรมด้วยภาษาใดก็ตาม จะต้องมีตัวแปลภาษาเพื่อแปลโปรแกรมที่เขียนขึ้น ให้เป็นภาษาเครื่อง จึงจะใช้งานได้ เพราะคอมพิวเตอร์รับรู้เฉพาะภาษาเครื่องได้เพียงภาษาเดียวเท่านั้น
|
| ตัวแปลภาษามี 2 ประเภท คือ คอมไพเลอร์ (Compiler) และอินเทอร์พรีเตอร์ (Interpreter) - คอมไพเลอร์ (Compiler) จะทำการแปลชุดคำสั่งทุกคำสั่งที่เขียนขึ้นจากโปรแกรมภาษาใด ๆ ทั้งหมด ให้เป็นแฟ้มชุดคำสั่งภาษาเครื่องก่อน แล้วจึงสามารถนำแฟ้มภาษาเครื่องนั้น
ไปสั่งให้คอมพิวเตอร์ทำงาน โปรแกรมที่เขียนด้วยภาษาใด ๆ เรียกว่า โปรแกรมต้นฉบับ (Source Program) เมื่อแปลโดยตัวแปลภาษาแล้ว จะได้ผลเป็นโปรแกรมภาษาเครื่อง เรียกว่า โปรแกรมจุดหมาย (Object Program) ดังภาพ
ตัวแปลโปรแกรมภาษาต่าง ๆ มีจะมีชื่อเรียกตามภาษานั้น เช่น
Assembler
| ตัวแปลโปรแกรมภาษาแอสเซมบลี
| C Compiler
| ตัวแปลโปรแกรมภาษาซี
| COBOL Compiler
| ตัวแปลโปรแกรมภาษาโคบอล
|
|
|
- อินเทอร์พรีเตอร์ (Interpreter) จะแปลโปรแกรมต้นทางทีละคำสั่ง ให้เป็นคำสั่งภาษาเครื่อง แล้วทำงานตามคำสั่งนั้นเลย เมื่อทำงานตามคำสั่งนั้นเสร็จแล้ว ก็จะทำการแปลคำสั่งต่อไปอีกเรื่อย ๆ จนจบโปรแกรม เหมาะสำหรับโปรแกรมที่ไม่ยาวมาก และต้องการผลลัพธฺ์ทันที ตัวแปลภาษาจะมีชื่อเรียกตามภาษานั้น ๆ เช่น ตัวแปลคำสั่งภาษาเบสิก (BASIC Interpreter)
|
|
|
|
|
|
|
การพัฒนาโปรแกรมมี 6 ขั้นตอน ดังนี้ 1. การวิเคราะห์ปัญหาและความต้องการของผู้ใช้ (Problem Analysis and user Requirement) นักเขียนโปรแกรมจะได้รับมอบหมายจากนักวิเคราะห์ระบบให้พัฒนาโปรแกรม ซึ่งจะต้องเขียนโปรแกรมตามความต้องการของผู้ใช้ นักเขียนต้องทำความเข้าใจปัญหา
ศึกษาและสอบถามความต้องการของผู้ใช้อย่างละเอียด และต้องให้ผู้ใช้ยืนยันว่า นักเขียนโปรแกรมเข้าใจปัญหาและความต้องการถูกต้องดีแล้ว
|
|
|
|
| ตัวอย่าง การวิเคราะห์ปัญหาและความต้องการของผู้ใช้ การเขียนโปรแกรมคำนวณหาพื้นที่สามเหลี่ยม การวิเคราะห์ - ต้องทราบว่าใช้สูตรอะไรได้บ้าง
|
|
|
|
| 2. การกำหนดรายละเอียดของโปรแกรม (Program Specification) เป็นการกำหนดความสามารถและขีดจำกัดของโปรแกรมให้ชัดเจน เช่น กำหนดรายละเอียดเกี่ยวกับข้อมูลเข้า ขั้นตอนการประมวลผล และรายละเอียดการประมวลผลตามที่ต้องการ
|
|
|
|
| ตัวอย่าง การกำหนดรายละเอียดของโปรแกรมคำนวณหาพื้นที่สามเหลี่ยม รายละเอียดของโปรแกรม - ข้อมูลเข้า ความยาวฐาน
ความสูง - การประมวลผล คำนวณพื้นที่สามเหลี่ยม - การแสดงผล แสดงผลพื้นที่สามเหลี่ยม ขีดจำกัดของโปรแกรม
คำนวณพื้นที่สามเหลี่ยมได้ครั้งละรูปเท่านั้น หากต้องการคำนวณอีก ต้องเปิดโปรแกรมใหม่
|
|
|
|
| 3. การออกแบบโปรแกรม (Program Design) เป็นการกำหนดลำดับขั้นตอนการทำงานของโปรแกรม หรือวิธีการที่จะใช้ในการแก้ปัญหา (Algorithm) เครื่องมือที่ใช้ในการออกแบบโปรแกรม เช่น รหัสเทียม (Psuedo-code) และผังงาน (Flowchart) มีรายละเอียดดังนี้
| ในการเขียนลำดับขั้นตอนการทำงานของโปรแกรมหรือการทำงานของแต่ละฟังก์ชัน โดยไม่ใช้ภาษาคอมพิวเตอร์โดยตรง แต่เป็นภาษาที่มนุษย์ใช้ อาจเป็นภาษาอังกฤษ หรือภาษาไทย ก็ได้
|
| ตัวอย่างรหัสเทียม โปรแกรมคำนวณพื้นที่สามเหลี่ยม
| เริ่มโปรแกรม ประกาศตัวแปร area , base , height เป็นจำนวนจริง
รับค่าความยาวฐานเก็บในตัวแปร base
รับค่าความสูง
เก็บในตัวแปร height
ประมวลผล หาพื้นที่สามเหลี่ยม area = 0.5 * base * height แสดงผล พื้นที่สามเหลี่ยม area จบโปรแกรม
|
|
|
| เป็นการเขียนลำดับขั้นตอนการทำงานของโปรแกรมหรือการทำงานของแต่ละฟังก์ชัน โดยใช้สัญลักษณ์แทนคำสั่ง โดยเขียนจากบนลงล่าง โดยใช้เส้นลูกศรแสดงทิศทาง
สัญลักษณ์ที่ใช้เขียนผังงานและความหมายตามมาตรฐาน ISO ที่ควรทราบมีดังนี้
| สัญลักษณ์ที่ใช้ในการเขียนผังงานทั่วไป
|
| สัญลักษณ์ที่ใช้เขียนผังงานที่เกี่ยวกับข้อมูลเข้า/ออก
|
|
|
| ตัวอย่างผังงาน โปรแกรมคำนวณพื้นที่สามเหลี่ยม
|
|
|
|
|
|
| 4. การเขียนโปรแกรม (Coding) การเขียนโปรแกรม คือ การเขียนรหัสคำสั่งโปรแกรมตามที่ออกแบบไว้ในผังงานหรือรหัสเทียม การเขียนโปรแกรมด้วยภาษาใด ขึ้นอยู่กับความเหมาะสมของงานและความถนัดของนักเขียนโปรแกรมด้วย เช่น ภาษาซี โดยอาจเขียนในโปรแกรมพิมพ์ข้อความ (Text editor) ใดก็ได้ เช่น Notepad , EditPlus หรือใช้โปรแกรมพิมพ์ข้อความที่มีอยู่ในชุดพัฒนาโปรแกรมของตัวแปลภาษาที่เรียกว่า ไอดีอี (IDE -
Integrated Development Environment) ซึ่งจะสะดวกกว่า แล้วบันทึก เก็บไว้เป็นแฟ้มโปรแกรม (Source File) โดยใช้นามสกุลตามข้อกำหนดของภาษาที่ใช้ เช่น .c หมายถึง โปรแกรมภาษาซี
| ตัวอย่างโปรแกรมภาษาซี โปรแกรมคำนวณพื้นที่สามเหลี่ยม ( trian.c )
| #include <stdio.h> int main(){ float area , base , height;
scanf("%f %f" , &base , &height);
area = 0.5 * base * height;
printf("Area of Triangle = %.2f" ,area);
return 0; }
|
|
|
| 5. การทดสอบโปรแกรม (Testing) และการแก้ไขข้อผิดพลาด (Debugging) การตรวจสอบโปรแกรมสามารถทำได้ด้วยสายตา ว่าโปรแกรมที่พิมพ์ตรงกับที่เขียนไว้หรือไม่
แล้วให้ตัวแปลภาษาทำการแปลโปรแกรม เรียกว่า คอมไพล์ (Compile) เพื่อหาว่ามีข้อผิดพลาดอะไรบ้าง เช่น ผิดรูปแบบคำสั่ง (Syntax Error) หรือผิดอื่น ๆ เมื่อพบที่ผิดก็ต้องแก้ไข แล้วแปลโปรแกรมใหม่ จนกว่าจะคอมไพล์ผ่านได้เป็นแฟ้มจุดหมาย (Object File) ซึ่งมีนามสกุลเป็น .obj ตัวอยางผลการคอมไพล์โปรแกรม
คำนวณพื้นที่สามเหลี่ยม (trian.c -> trian.obj)
เมื่อไม่มีข้อผิดพลาดจากการคอมไพล์แล้ว จึงทำการสร้างแฟ้มโปรแกรมใช้งานที่เป็นภาษาเครื่อง ซึ่งมีนามสกุล .exe เมื่อได้แฟ้มที่เป็นภาษาเครื่อง .exe แล้ว ก็สามารถทดสอบการทำงานของโปรแกรม เพื่อหาข้อผิดพลาดขณะทำงาน (Run-time Error) โดยใช้ข้อมูลทดสอบ (Test Data) และหาว่าตรรกะของโปรแกรมผิดหรือไม่ (Program Logic Error) โดยตรวจสอบและแก้ไขจนแน่ใจว่าโปรแกรมทำงานได้ถูกต้อง ตัวอยางผลการทดสอบโปรแกรม คำนวณพื้นที่สามเหลี่ยม (trian.c -> trian.exe)
|
| 6. การจัดทำเอกสารประกอบโปรแกรม (Documentation) การจัดทำคู่มือการใช้โปรแกรมและเอกสารประกอบโปรแกรม เพื่อให้ผู้ใช้งาน สามารถใช้โปรแกรมได้สะดวก
โดยคู่มือการใช้โปรแกรมควรอธิบายขั้นตอนต่าง ๆ ที่จำเป็นในการใช้งาน ความสามารถและขีดจำกัดของโปรแกรม ตัวอย่างการใช้งานต่าง ๆ เช่น การนำข้อมูล การแสดงผลหรือรายงาน ที่ได้จากการทำงานของโปรแกรม เป็นต้น
|
|
|
|