แนวคิดในการเขียนโปรแกรมคอมพิวเตอร์
ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ในการอธิบายนี้จะขอยกตัวอย่างโจทย์ 1 ตัวอย่าง
เพื่อให้ง่ายต่อการทําความเข้าใจในแต่ละขั้นตอน
——————————————————————————————————————————
โจทย์ : จงเขียนโปรแกรมรับค่าเลขจํานวนเต็ม 2 จํานวนและหาผลบวกของเลขทั้ง 2 จำนวนนั้น
——————————————————————————————————————————
1. วิเคราะห์ปัญหา (Analysis)
ขั้นตอนนี้ถือว่าเป็นขั้นตอนที่สําคัญที่สุด ผู้เขียนโปรแกรมต้องวิเคราะห์ปัญหาให้ออกว่าจะต้องทํา
การเขียนโปรแกรมเพื่อแก้ปัญหาอะไร เพราะหากวิเคราะห์หรือมองปัญหาผิดแล้ว ก็จะทำให้เขียนโปรแกรมได้ผลลัพธ์ออกมาผิดไปจากสิ่งที่ต้องการด้วย และนอกจากจะวิเคราะห์ว่าปัญหาคืออะไรแล้ว จําเป็นอย่างยิ่งที่จะต้องวิเคราะห์ด้วยว่าข้อมูลที่จะนําเข้ามาใช้ในโปรแกรมมีอะไรบ้าง
จากโจทย์ข้างต้น สามารถแตกปัญหาได้เป็น 2 ส่วน คือ
> ต้องรับข้อมูลเลขจํานวนเต็ม 2 ตัวเข้ามาในโปรแกรม
วิเคราะห์ :: กําหนดให้ X เก็บเลขจํานวนเต็มตัวที่ 1 กําหนดให้ y เก็บเลขจํานวนเต็มตัวที่ 2
> เลขจํานวนเต็มตัวที่ 1 + เลขจํานวนเต็มตัวที่ 2 มีค่าเท่ากับเท่าไร
วิเคราะห์ :: กําหนดให้ Sum เก็บค่าผลบวกของเลขจํานวนเต็มทั้ง 2 จํานวน นั่นคือ Sum = X+Y
——————————————————————————————————————————
2. วางแผนและออกแบบ (Planning & Design)
การวางแผน คือ การนําปัญหาที่วิเคราะห์ได้จากขั้นตอนที่ 1 มาวางแผนอย่างเป็นขั้นตอน จะต้องเขียนโปรแกรมเพื่อแก้ปัญหาอย่างไร การวางแผนอย่างเป็นขั้นตอนนี้ เรียกว่า อัลกอริต (Algorithm) ซึ่งอัลกอริทึมแบ่งออกเป็น 2 รูปแบบ คือ
2.1 ซูโดโค้ด (Pseudo Code) คือ การเขียนอัลกอริทึม โดยใช้ประโยคภาษาอังกฤษที่สื่อความหมายง่าย ๆ สามารถอ่านแล้วเข้าใจได้โดยทันที
รูปแบบ
Algorithm <ชื่อของอัลกอริทึม>
1……………………………….
2……………………………….
…………………………………
END
การเขียนซูโดโค้ด คำนวณหาผลบวกของเลขทั้ง 2 จำนวน สามารถเขียนเป็นภาษาไทยหรือเขียนเป็นภาษาอังกฤษได้ดังนี้
การเขียนซูโดโค้ดภาษาไทย |
การเขียนซูโดโค้ดภาษาอังกฤษ |
Algorithm การหาผลบวกของเลขทั้ง 2 จำนวน
1. เริ่มต้น
2. รับค่าจํานวนเต็มตัวที่ 1
3. รับค่าจํานวนเต็มตัวที่ 2
4. คำนวณหาผลบวกของเลขทั้ง 2 จำนวน
5. แสดง ผลบวกของเลขทั้ง 2 จำนวน
6. จบ |
Algorithm Average_Sum
1. Start
2. READ X 3. READ Y 4. Sum = X+Y
5. Print Sum
6. End |
จะเห็นว่าเมื่ออ่านซูโดโค้ดแล้วสามารถเข้าใจได้ทันทีว่าขั้นตอนการเขียนโปรแกรมเป็นอย่างไร
2.2 โฟลวชาร์ต (Flowchart) คือ การเขียนอัลกอริทึม โดยใช้สัญลักษณ์รูปภาพเป็นตัวสื่อความหมาย จากโจทย์ สามารถเขียนโฟลวชาร์ตได้ดังรูป
รูปที่ 1 อัลกอริทึมแบบโฟลวชาร์ต
——————————————————————————————————————————
3. เขียนโปรแกรม (Coding)
เป็นการนําอัลกอริทึมจากขั้นตอนที่ 2 มาเขียนโปรแกรมให้ถูกต้องตามหลักไวยากรณ์ (Syntax)
ของภาษาซี จากโจทย์สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่างที่ 1 แสดงซอร์สโค้ด
บรรทัดที่ |
ซอร์สโค้ด |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10
11: |
#include <stdio.h>
void main(void)
{
int X , Y , Sum;
printf("READ X is : ");
scanf("%d",&X);
printf("READ Y is : ");
scanf("%d",&Y);
Sum = X + Y;
printf("Sum of %d + %d is %d\n",X,Y,Sum);
} |
หากนําโปรแกรม (Source Code) มาพิจารณา จะพบว่าการเขียนโปรแกรมมีขั้นตอนเป็นไป ตามขั้นตอนของอัลกอริทึมที่ได้วิเคราะห์ขึ้นทุกประการ ดังนี้
บรรทัดที่ |
ซอร์สโค้ด |
อัลกอริทึม |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10
11: |
#include <stdio.h>
void main(void)
{
int X , Y , sum;
printf("READ X is : "); ------------------->
scanf("%d",&X);
printf("READ Y is : "); ------------------->
scanf("%d",&Y);
Sum = X + Y; ------------------->
printf("Sum of %d + %d is %d\n",X,Y,Sum); ->
} |
INPUT X
INPUT Y
SUM = X+Y
PRINT SUM |
ตารางแสดงการเปรียบเทียบขั้นตอนการทํางานที่เหมือนกันระหว่างซอร์สโค้ดและอัลกอริทึม
——————————————————————————————————————————
4. ทดสอบโปรแกรม (Testing)
เป็นการนําผลลัพธ์จากขั้นตอนที่ 3 มาทําการรัน (Run) โดยทดสอบป้อนค่า X และ Y เข้าไปใน โปรแกรม และตรวจสอบผลลัพธ์ที่ได้ว่าถูกต้องหรือไม่ ให้ทดสอบหลาย ๆ ครั้ง หากผลลัพธ์ที่ได้ถูกต้อง แสดงว่าโปรแกรมที่เขียนขึ้นถูกต้องแล้ว แต่หากผลลัพธ์ถูกบ้างผิดบ้างหรือผิดทุกครั้ง แสดงว่าโปรแกรมที่เขียนขึ้น
ผิดพลาด ผู้เขียนโปรแกรมต้องกลับไปตรวจสอบ และแก้ไขโปรแกรมใหม่อีกครั้ง
จากโจทย์ สามารถทดสอบโปรแกรมได้ดังนี้ ผลลัพธ์ของโปรแกรม
รันครั้งที่ 1 |
READ X is : 7
READ Y is : 8
Sum of 7 + 8 is 15 |
รันครั้งที่ 2 |
READ X is : 23
READ Y is : 37
Sum of 23 + 37 is 60 |
รันครั้งที่ 3 |
READ X is : 51
READ Y is : 60
Sum of 51 + 60 is 111
|
ลองทดสอบโปรแกรมหลาย ๆ ครั้ง จนกระทั่งมั่นใจว่าผลลัพธ์ที่ได้ถูกต้อง
——————————————————————————————————————————
5. จัดทําคู่มือ (Documentation)
จุดประสงค์ที่สําคัญของการทําคู่มือ คือ ช่วยให้ผู้อื่นศึกษาซอร์สโค้ด (Source Code) ของโปรแกรมได้ง่ายขึ้น ซึ่งจะเป็นประโยชน์มากสําหรับการพัฒนาโปรแกรมในอนาคต เพราะจะช่วยให้ศึกษาซอร์สโค้ดได้ง่ายและรวดเร็วขึ้น การจัดทําคู่มือไม่มีกฎเกณฑ์ระบุไว้แน่นอน แต่ผู้เขียนโปรแกรมควรจัดทําคู่มือให้มีรายละเอียดมากที่สุด
จากโจทย์ สามารถจัดทําคู่มือได้ดังนี้ (การจัดทําคู่มือที่จะแสดงต่อไปนี้ เป็นเพียงตัวอย่าง ผู้อ่าน
สามารถจัดทําคู่มือออกมาในลักษณะอื่น ๆ ได้ตามที่ต้องการ แต่สิ่งสําคัญที่ลืมไม่ได้ คือ ควรจัดทําคู่มือให้
รายละเอียดมากที่สุด)
ชื่อโปรแกรม |
การหาค่าผลบวกของเลขจํานวนเต็ม 2 จํานวน |
ตัวแปรที่ใช้ |
X เก็บค่าจํานวนเต็มตัวที่ 1
Y เก็บค่าจํานวนเต็มตัวที่ 2
Sum เก็บค่าผลบวกของเลขจํานวนเต็มทั้ง 2 จํานวน |
ชนิดของข้อมูล |
X, Y, Sum เป็นข้อมูลชนิดเลขจํานวนเต็ม (Integer) |
วิธีการแก้ปัญหา |
ใช้สมการ Sum = X + Y |
ตารางแสดงการจัดทําคู่มือประกอบโปรแกรม
(แหล่งข้อมูล... คู่มือเขียนโปรแกรมด้วยภาษา C ฉบับสมบูรณ์ / อรพิน ประวัติบริสุทธิ์)
——————————————————————————————————————————