หลักการการเขียนโปรแกรม ภาษา c

ภาษา C     การเขียนโปรแกรมเพื่อแก้ปัญหาใดปัญหาหนึ่งจนได้ผลลัพธ์ออกมาตามต้องการนั้นคงจะไม่ใช่เรื่องยาก หากผู้เขียนโปรแกรมมีแนวคิดในการเขียนโปรแกรมที่ดี และทำการเขียนโปรกรมตามแนวคิดที่ได้วางไว้แต่สำหรับผู้เขียนโปรแกรมน่าใหม่ อย่างเราๆ อาจจะยัไม่เข้าใจหลักการณ์ในการเขียนโปรแกรมเท่าไรนัก ว่าจะต้องเริ่มยังไง ทำให้คิดว่าการเขียนโปรแกรมเป็นเรื่องยากไปเลย ดั้งนั้นในบทความนี้จะกล่าวถึงหลักการ แนวคิด การเขียนโปรแกรม เพื่อเป็นแนวทางสำหรับผู้เขียนโปรแกรมได้เข้าใจหลักการมากขึ้นนะครับ
ขั้นตอนการพัฒนาโปรแกรม ในการพัฒนโปรแกรมมีขั้นตอนหลักอยู่5ขั้น ซึ่งไม่ว่าคุณจะเขียนโปรแกรมในครั้งใด ก็จะต้องปฏิบัติตามขั้นตอนเหล่านี้ แต่ถ้าคุณเป็น pro แล้วละก็ อาจจะข้ามบางขั้นไปก็ได้ไม่ว่ากันครับ ในครั้งนี้ผมจะขอยกตัวอย่างโจทย์ 1 ตัวอย่าง เพื่อให้ง่ายต่อความเข้าใจนะครับ โจทย์ :จงเขียนโปรแกรมรับค่าเลขจำนวนเต็มทั้ง3ตัวแล้วจงหาผลบวกเลขทั้ง3จำนวนนั้น

1.วิเคราะห์ปัญหา

ขั้นตอนนี้เป็นขั้นตอนสำคัญที่สุด เลย ผู้เขียนโปรแกรมต้องวิเคราะห์ปัญหาให้ออกว่าจะต้องทำการเขียนโปรแกรมเพื่อแก้ปัญหาอะไร เพราะถ้าหากวิเคราะห์ผิดแล้ว ผลลัพธ์ที่ได้ก็จะผิดไปด้วยเช่นกัน นอกจากจะวิเคราะห์ว่าปัญหาคือไรแล้ว อีกอย่างหนึ่งต้องวิเคราะห์ด้วยว่า ข้อมูลที่จะรับเข้ามาใช้ในโปรแกรมมีอะไรบ้าง นะครับ
จากโจทย์ข้างต้นที่ผมกำหนดมานั้น เราจะสามารถแตกปัญหาได้เป็น 2 ส่วนคือ
  • ต้องรับข้อมูลเลขจำนวนเต็ม 3 ตัวเข้ามาในโปรแกรม วิเคราะห์ กำหนดให้ x เก็บเลขจำนวนเต็มตัวที่ 1 กำหนดให้ y เก็บเลขจำนวนเต็มตัวที่ 2 กำหนดให้ z เก็บเลขจำนวนเต็มตัวที่ 3
  • เลขจำนวนเต็มตัวที่ 1 + เลขจำนวนเต็มตัวที่ 2 + เลขจำนวนเต็มตัวที่ 3 เท่ากับเท่าไร วิเคราะห์ กำหนดให้ sum เก็บค่าผลบวกของตัวเลขจำนวนเต็มทั้ง 3 จำนวน นั่นคือ sum = x + y + z

2.วางแผนและออกแบบ(Planing & Desige)

การวางแผน คือการนำปัญหาที่วิเคราะห์ได้จากขั้นตอนที่ 1 มาวางเป็นแผนอย่างเป็นขั้นเป็นตอนว่าจะต้องเขียนโปรแกรมเพื่อแก้ปัญหาอย่างๆไรการว่างแผนอย่างเป็นขั้นตอนนี้เรียกว่า อัลกอริทึม(Algorithm)ซึ่งแบ่งออกเป็น2แบบ คือ
  • ภาษา Cซูโดโค๊ด(Pseudocode) คือ การเขียนอัลกอลิทึมด้วยประโยคภาษาอังกฤษที่สื่อความหมายง่ายๆ สามารถอ่านแล้วเข้าใจได้ทันที จากโจทย์ สามารถเขียนซูโดโค้ดได้ดังรูปนี้ จะเห็นได้ว่าเมื่ออ่านซูโดโค้ดแล้วสามารถเข้าใจได้ทันทีเลยว่าขั้นตอน ของโปรแกรมเป็นยังไง
  • โฟลวชาร์ต(Flow chart) คือการเขียนอัลกอริทึมโดยใช้สัญญาลักษณ์รูปภาพเป็นตัวสื่อความหมาย จากโจทย์ก็ สามารถเขียนได้ดังนี้
ภาษา C
ท่านจะสามารถศึกษาเพิ่มเติมได้ โฟลวชาร์ต(Flow chart)

3.เขียนโปรแกรม(Coding)

เป็นการนำอัลกอลิทึมจากขั้นตอนที่ 2 มาเขียนเป็นโปรแกรมที่ถูกต้องตามหลักไวยากรณ์ (syntax)ของภาษาซี จากโจทย์สามารถเขียนโปรแกรมได้ดังนี้
1:
  #include<stdio.h>
2:
  void main(void)
3:
  {
4:
  int x,y,z,sum=0;
5:
  printf(“In put Value of x is:”);
6:
  scanf(“%d”,&x);
7:
  printf(“In put Value of y is:”);
8:
  scanf(“%d”,&y);
9:
  printf(“In put Value of z is:”);
10:
  scanf(“%d”,&z);
11:
  sum=x+y+z;
12:
  printf(“Sum of %d + %d + %d is %d\n”,x,y,z,sum);
13:
  }
หากนำโปรแกรม(source code)มาพิจารณา จะพบว่าการเขียนโปรแกรมมีขั้นตอนตามที่อัลกอริทึมได้วิเคราะห์ขึ้นทุกประการดังนี้ ภาษา C

4.ทดสอบโปรแกรม(testing)

เป็นการนำผลจากขั้นที่3 มาทำการรัน (run) เพื่อทดสอบว่าเป็นไปตามที่ต้องการหรือไม่ เช่น จากโปรแกรมที่เราเขียนขึ้นมาข้างต้น ก็ทดลองโดยการป้อนค่า x y และ z ตามลำดับ เข้าไปในโปรแกรม แล้วตรวจสอบผลว่าถูกต้องหรือไม่ ทดสอบหลายๆๆ ครั้ง ถ้าผลลัพธ์ที่ได้ถูกต้อง ก็ แสดงว่าโปรแกรมที่ได้เขียนขึ้นมานั้น ถูกต้องแล้ว แต่ถ้าผลลัพธ์ ถูกบ้างผิดบ้างนั้นแสดงว่าโปรแกรมผิดพลาด ต้องกลับไปตรวจสอบ แล้วแก้ไขใหม่อีกครั้งครับ จากโจทย์ การทดสอบเป็นดังนี้
ผลลัพธ์ของโปรแกรม
รันครั้งที่1
In put Value of x is: 1
In put Value of y is: 2
In put Value of z is: 3
Sum of 1 + 2 + 3 is 6
รันครั้งที่2
In put Value of x is: 12
In put Value of y is: 22
In put Value of z is: 33
Sum of 12 + 22 + 33 is 67
ทดสอบโปรแกรมหลายๆครั้ง จนมั่นใจได้ว่าผลลัพธ์ถูกต้อง

5.จัดทำคู่มือ(Decumentation)

จุดประสงค์ที่สำคัญใหนการทำคู่มือ เพื่อให้ผู้อื่นศึกษา source code program ได้ง่ายขึ้น ซึ่งจะเป็นประโยชน์มากสำหรับการพัฒนาโปรแกรมในอนาคต การจัดทำคู่มือไม่มีกฎเกณท์ที่แน่นอนผู้เขียนโปรแกรมควรจัดทำคู่มือให้มีลายละเอียดมากที่สุด จากโจทย์ที่ผมตั้งขึ้นมาในตอนต้น จะสามารถจัดทำคู่มือได้ดังนี้(นี้เป็นแค่ตัวอย่างเพื่อให้ผู้อ่านบทความนี้สามารถนำไปประยุคใช้กับโปรแกรมที่ตนกำลังสร้างได้ แต่ที่สำคัญ ควรใส่รายละเอียดให้มากที่สุด)
ชื่อโปรแกรม
หาค่าผลร่วมของจำนวนเต็ม 3 จำนวน
ตัวแปรที่ใช้
x เก็บค่าจำนวนเต็มตัวที่ 1
  y เก็บค่าจำนวนเต็มตัวที่ 2
  z เก็บค่าจำนวนเต็มตัวที่ 3
  sum เก็บค่าผลรวมของเลขจำนวนเต็มทั้ง3 จำนวน
ชนิดของตัวแปร
x,y,z,sum เป็นข้อมูลชนิดจำนวนเต็ม (integer)
วิธีแก้ปัญหา
ใช้สมการ sum=x+y+z
หวังว่าบทความนี้จะช่วยให้ผู้ที่อ่าน เข้าใจหลักการของการเขียนโปรแกรม ไม่มากก็ น้อยนะครับ

1 ความคิดเห็น:

  1. ไม่ระบุชื่อ25 มกราคม 2558 เวลา 16:02

    ขอบคุณมากนะคะ เนื้อหาเป็นประโยชน์มากค่ะ

    ตอบลบ