การเขียนโปรแกรมคอมพิวเตอร์ (<span xml:lang="en">Computer programming) หรือเรียกให้สั้นลงว่า การเขียนโปรแกรม ( <span xml:lang="en">Programming) หรือ การเขียนโค้ด (Coding) เป็นขั้นตอนการเขียน ทดสอบ และดูแลซอร์สโค้ดของโปรแกรมคอมพิวเตอร์ ซึ่งซอร์สโค้ดนั้นจะเขียนด้วยภาษาโปรแกรม ขั้นตอนการเขียนโปรแกรมต้องการความรู้ในหลายด้านด้วยกัน เกี่ยวกับโปรแกรมที่ต้องการจะเขียน และอัลกอริทึมที่จะใช้ ซึ่งในวิศวกรรมซอฟต์แวร์นั้น การเขียนโปรแกรมถือเป็นเพียงขั้นหนึ่งในวงจรชีวิตของการพัฒนาซอฟแวร์
การเขียนโปรแกรมจะได้มาซึ่งซอร์สโค้ดของโปรแกรมนั้นๆ โดยปกติแล้วจะอยู่ในรูปแบบของ plain text ซึ่งไม่สามารถนำไปใช้งานได้ จะต้องผ่านการคอมไพล์ตัวซอร์สโค้ดนั้นให้เป็นภาษาเครื่อง (Machine Language) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งานการเขียนโปรแกรมถือว่าเป็นการผสมผสานกันระหว่างศาสตร์ของคณิตศาสตร์ วิทยาศาสตร์ ศิลปะ และวิศวกรรม เข้าด้วยกัน
นักเรียนดูตัวอย่างซอร์สโค้สหรือรหัสโปรแกรม ของโปรแกรมภาษา C# ต่อไปนี้
int width = 5, length = 20;
int RectangleArea = width * length;
Console.WriteLine("Rectangle Area={0}", RectangleArea);
Console.ReadKey();
จะเห็นว่ารหัสโปรแกรมนั้นเต็มไปด้วยคำภาษาอังกฤษ เพราะผู้พัฒนาโปรแกรมภาษา C# คือบริษัทไมโครซอฟต์ คอร์เปอเรชั่น จำกัด จากประเทศอเมริกา อีกอย่างภาษาอังกฤษเป็นภาษาสากลที่ทั่วโลกสามารถดูแล้วเข้าใจได้ ภาษา C# นั้นเป็นภาษาระดับสูง รหัสโปรแกรมต่างๆ จึงมีความใกล้เคียงกับภาษาอังกฤษที่ใช้สื่อสารกัน
การทำงานของโปรแกรมจะเริ่มทำงานจากบรรทัดบนสุดมายังบรรทัดล่างสุด ดังนั้นการวางลำดับของคำสั่งจึงมีความสำคัญ เราจึงต้องวางคำสั่งที่เกี่ยวกับการนำเข้าข้อมูล (Input) ก่อนเป็นลำดับแรก จากนั้นจึงวางคำสั่งเกี่ยวกับการประมวลผล (Process) และคำสั่งแสดงผลลัพธ์ (Output) ตามลำดับ นักเรียนพิจารณาขั้นตอนการหาพื้นที่สี่เหลี่ยมผืนผ้า ดังนี้
ขั้นตอนที่ 1.กำหนดขนาดด้านกว้าง
ขั้นตอนที่ 2.กำหนดขนาดด้านยาว
ขั้นตอนที่ 3.คำนวณหาพื้นที่โดยใช้สูตร ขนาดพื้นที่ = ด้านกว้าง x ด้านยาว
ขั้นตอนที่ 4.แสดงขนาดพื้นที่ที่คำนวณได้
ขั้นที่ 1-2 ก็คือการนำเข้าข้อมูล ขั้นที่ 3 คือการประมวลผล และขั้นที่ 4 คือการแสดงผลลัพธ์นั่นเอง
นักเรียนคงทราบมาบ้างแล้วว่าตามหลักคณิตศาสตร์แล้วไม่นิยมเขียนสูตรสมการเป็นข้อความภาษาไทย เนื่องจากคณิตศาสตร์เป็นภาษาสากลที่ทุกคนทั่วโลกดูแล้วเข้าใจได้ตรงกัน จึงนิยมใช้ตัวอักษรภาษาอังกฤษ นักเรียนพิจารณาสูตรการคำนวณหาขนาดพื้นที่สี่เหลี่ยมผืนผ้า ดังนี้
ขนาดพื้นที่ = ด้านกว้าง x ด้านยาว
คำว่า “ขนาดพื้นที่” ตรงคำในภาษาอังกฤษว่า “Area”
คำว่า “ด้านกว้างหรือความกว้าง” ตรงกับคำในภาษาอังกฤษว่า “Width”
คำว่า “ด้านยาวหรือความยาว” ตรงกับคำในภาษาอังกฤษว่า “Length”
เมื่อนำตัวอักษรตัวแรกของแต่ละคำมาใช้แทนสูตรคำนวณ อาจเขียนได้ดังนี้
A = W x L
สูตรสมการที่ใช้ในทางคณิตศาสตร์หรือสถิติ ส่วนใหญ่นิยมเขียนในลักษณะนี้ เช่น
สูตร การหาขนาดพื้นที่สีเหลี่ยมผืนผ้า
A = W x L
โดยที่ A คือ ขนาดพื้นที่
W คือ ด้านกว้าง
L คือ ด้านยาว
ตัวอักษรภาษาอังกฤษที่เรานำมาใช้ เรียกว่า “ตัวแปร” ที่เรียกว่าตัวแปรเพราะว่า ค่าของมันสามารถแปรเปลี่ยนไปได้เรื่อยๆ นั่นเอง อยู่ที่ว่าเราจะเอาตัวเลขใดเข้าไปแทนตัวแปรเพื่อหาคำตอบ
ข้อควรรู้ การกำหนดตัวแปรในการเขียนโปรแกรมคอมพิวเตอร์ไม่นิยมใช้อักษรตัวแรกมาเป็นตัวแปร เพราะอาจสื่อความหมายผิดได้ ในทางคอมพิวเตอร์นิยมใช้คำเต็ม ได้แก่ Area = Width x Length ซึ่งสื่อความหมายดีกว่า
ตัวแปรที่เรากล่าวถึงมาในข้างต้นถือว่ามีความสำคัญมาก เพราะในรหัสโปรแกรมต่างๆ นั้นเต็มไปด้วยตัวแปรมากมาย นักเรียนลองพิจารณารหัสโปรแกรมในภาษา C# ต่อไปนี้
// --------โปรแกรมหาค่าเฉลี่ย---------
double number, sum = 0;
int n = 0;
do
{
Console.Write("Input number:");
number = double.Parse(Console.ReadLine());
if (number != 0)
{
sum = sum + number;
n = n + 1;
}
} while (number != 0);
Console.WriteLine("Average = {0:F2}", sum / n);
Console.ReadKey();
นักเรียนแยกแยะออกหรือไม่ว่า จากโปรแกรมข้างต้น คำในภาษาอังกฤษคำใดบ้างที่เป็นตัวแปร คำตอบก็คือ number, sum และ n โดยที่ตัวแปร number คือตัวเลขที่ถูกป้อนเข้าไปหลายๆ ครั้งด้วยการวนซ้ำเพื่อนำไปหาค่าเฉลี่ย ตัวแปร sum เป็นตัวที่ใช้เก็บผลรวมของตัวเลขที่ถูกป้อนเข้าไปทั้งหมด เพื่อนำไปใช้เป็นตัวตั้งในการหาค่าเฉลี่ย ส่วนตัว n คือตัวแปรที่ใช้นับจำนวนครั้งที่ป้อนตัวเลขเข้าไป เพื่อนำไปใช้เป็นตัวหาร
สำหรับคำอื่นๆ ที่ปรากฏอยู่ในโปรแกรม เป็นคำสั่งต่างๆ ซึ่งนักเรียนยังไม่ต้องกังวล เพราะเมื่อถึงเวลาที่นักเรียนได้ฝึกทักษะการเขียนโปรแกรมแล้วนักเรียนจะเข้าใจได้เอง
สรุปว่าในโปรแกรมจะประกอบไปด้วย 3 ขั้นตอนหลักๆ ดังแผนภาพต่อไปนี้
แผนภาพแสดงขั้นตอนของโปรแกรม
หมายความว่า โปรแกรมนั้นจะเริ่มจากการป้อนข้อมูลหรือรับข้อมูลเข้าไปก่อน จากนั้นจึงนำข้อมูลที่ได้ไปประมวลผลหรือดำเนินการอย่างหนึ่งอย่างใดเพื่อให้ได้ผลลัพธ์ที่ต้องการ เมื่อได้ผลลัพธ์แล้วจึงนำผลลัพธ์ที่ได้ไปแสดงผลออกทางจอภาพหรือเครื่องพิมพ์นั่นเอง
เราจะลองแยกรหัสโปรแกรมข้างต้นให้เป็น 3 ขั้นตอนดังแผนภาพ ดังนี้
1.การรับข้อมูลเข้า (Input) ก็คือการป้อนค่าตัวเลขเข้าไปในโปรแกรม ดังนี้
Console.Write("Input number:");
number = double.Parse(Console.ReadLine());
2.การประมวลผล (Process) ก็คือ การหาผลรวมของตัวเลขที่ป้อน การหาผลรวมของจำนวนครั้งที่ป้อนรวมทั้งการหาค่าเฉลี่ย ดังนี้
sum = sum + number;
n = n + 1;
3.การแสดงผลลัพธ์ (Output) ก็คือการแสดงผลลัพธ์ค่าเฉลี่ยที่คำนวณได้ออกทางจอภาพนั่นเอง ดังนี้
Console.WriteLine("Average = {0:F2}", sum / n);