สื่อวีดิทัศน์การสอน เรื่อง :: แนวคิดในการเขียนโปรแกรมคอมพิวเตอร์ ::

———————————————————————————————————————————

แนวคิดในการเขียนโปรแกรมคอมพิวเตอร์ 1
      ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ในการอธิบายนี้จะขอยกตัวอย่างโจทย์ 1 ตัวอย่าง
เพื่อให้ง่ายต่อการทําความเข้าใจในแต่ละขั้นตอน

——————————————————————————————————————————
โจทย์ : จงเขียนโปรแกรมรับค่าเลขจํานวนเต็ม 2 จํานวนและหาผลบวกของเลขทั้ง 2 จำนวนนั้น
——————————————————————————————————————————

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

จากโจทย์ข้างต้น สามารถแตกปัญหาได้เป็น 2 ส่วน คือ
      > ต้องรับข้อมูลเลขจํานวนเต็ม 2 ตัวเข้ามาในโปรแกรม

      วิเคราะห์ :: กําหนดให้ X เก็บเลขจํานวนเต็มตัวที่ 1 กําหนดให้ y เก็บเลขจํานวนเต็มตัวที่ 2

      > เลขจํานวนเต็มตัวที่ 1 + เลขจํานวนเต็มตัวที่ 2 มีค่าเท่ากับเท่าไร
      วิเคราะห์ :: กําหนดให้ Sum เก็บค่าผลบวกของเลขจํานวนเต็มทั้ง 2 จํานวน นั่นคือ Sum = X+Y
——————————————————————————————————————————
2. วางแผนและออกแบบ (Planning & Design) 1
      การวางแผน คือ การนําปัญหาที่วิเคราะห์ได้จากขั้นตอนที่ 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) 1
      เป็นการนําอัลกอริทึมจากขั้นตอนที่ 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) 1
     เป็นการนําผลลัพธ์จากขั้นตอนที่ 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) 1
     จุดประสงค์ที่สําคัญของการทําคู่มือ คือ ช่วยให้ผู้อื่นศึกษาซอร์สโค้ด (Source Code) ของโปรแกรมได้ง่ายขึ้น ซึ่งจะเป็นประโยชน์มากสําหรับการพัฒนาโปรแกรมในอนาคต เพราะจะช่วยให้ศึกษาซอร์สโค้ดได้ง่ายและรวดเร็วขึ้น การจัดทําคู่มือไม่มีกฎเกณฑ์ระบุไว้แน่นอน แต่ผู้เขียนโปรแกรมควรจัดทําคู่มือให้มีรายละเอียดมากที่สุด จากโจทย์ สามารถจัดทําคู่มือได้ดังนี้ (การจัดทําคู่มือที่จะแสดงต่อไปนี้ เป็นเพียงตัวอย่าง ผู้อ่าน
สามารถจัดทําคู่มือออกมาในลักษณะอื่น ๆ ได้ตามที่ต้องการ แต่สิ่งสําคัญที่ลืมไม่ได้ คือ ควรจัดทําคู่มือให้
รายละเอียดมากที่สุ
ด)

ชื่อโปรแกรม
การหาค่าผลบวกของเลขจํานวนเต็ม 2 จํานวน
ตัวแปรที่ใช้
X เก็บค่าจํานวนเต็มตัวที่ 1
Y เก็บค่าจํานวนเต็มตัวที่ 2
Sum เก็บค่าผลบวกของเลขจํานวนเต็มทั้ง 2 จํานวน
ชนิดของข้อมูล
X, Y, Sum เป็นข้อมูลชนิดเลขจํานวนเต็ม (Integer)
วิธีการแก้ปัญหา
ใช้สมการ Sum = X + Y
ตารางแสดงการจัดทําคู่มือประกอบโปรแกรม

(แหล่งข้อมูล...  คู่มือเขียนโปรแกรมด้วยภาษา C ฉบับสมบูรณ์ / อรพิน ประวัติบริสุทธิ์)
——————————————————————————————————————————