โปรแกรมคอมพิวเตอร์ (Computer programming) คือ ชุดคำสั่งที่สั่งให้คอมพิวเตอร์สามารถทำงานได้ตรงตามความต้องการและความถูกต้อง การเขียนโปรแกรม (Programming) คือ การเขียนชุดคำสั่งด้วยภาษาโปรแกรมที่สั่งให้คอมพิวเตอร์ทำงานได้ตรงตามความต้องการ และสามารถทำงานได้อย่างถูกต้อง ซึ่งเป็นการกำหนดขั้นตอนให้กับคอมพิวเตอร์ทำงานตามรูปแบบที่ได้กำหนดไว้
การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมคอมพิวเตอร์ ผู้เขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์ของภาษาโปรแกรม และระบบการทำงานของคอมพิวเตอร์ ว่ามีโครงสร้างและวิธีการใช้คำสั่งอย่างไร ซึ่งในการเขียนโปรแกรมคอมพิวเตอร์ มีหลักเกณฑ์การเขียนโปรแกรม 4 ขั้นตอน ดังนี้
1. กำหนดปัญหา/วิเคราะห์ปัญหา (Analysis the problem)
2. ออกแบบโปรแกรม (Design a program)
3. เขียนโปรแกรม (Coding)
4. ทดสอบโปรแกรม (Testing)
1. การวิเคราะห์ปัญหา (Problem Analysis)
การวิเคราะห์ปัญหา ประกอบด้วยขั้นตอนต่างๆ ดังนี้
กำหนดวัตถุประสงค์ของงาน เพื่อพิจารณาว่าโปรแกรมต้องทำการประมวลผลอะไรบ้าง
พิจารณาข้อมูลนำเข้า (Input) เพื่อให้ทราบว่าจะต้องนำข้อมูลอะไรเข้าคอมพิวเตอร์ ข้อมูลมีคุณสมบัติเป็นอย่างไร ตลอดจนลักษณะและรูปแบบของข้อมูลที่จะนำเข้า
พิจารณาการประมวลผล (Process) เพื่อให้ทราบว่าโปรแกรมมีขั้นตอนการประมวลผลอย่างไรและมีเงื่อนไขการประมวลผลอะไรบ้าง
พิจารณาข้อสนเทศนำออก (Output) เพื่อให้ทราบว่ามีข้อสนเทศอะไรที่จะแสดง ตลอดจนรูปแบบและสื่อที่จะใช้ใน การแสดงผล เช่นการแสดงออกทางจอภาพ การแสดงออกทางเครื่องพิมพ์
2. การออกแบบโปรแกรม (Design)
การออกแบบขั้นตอนการทำงานของโปรแกรมเป็นขั้นตอนที่ใช้เป็นแนวทางในการลงรหัสโปรแกรม ผู้ออกแบบขั้นตอนการทำงานของโปรแกรมอาจใช้เครื่องมือต่างๆ ช่วยในการออกแบบ อาทิเช่น คำสั่งลำลอง (Pseudocode) หรือ ผังงาน (Flow chart) การออกแบบโปรแกรมนั้นไม่ต้องพะวงกับรูปแบบคำสั่งภาษาคอมพิวเตอร์ แต่ให้มุ่งความสนใจไปที่ลำดับขั้นตอนในการประมวลผลของโปรแกรมเท่านั้น
เป็นการออกแบบการทำงานของโปรแกรมคอมพิวเตอร์ หรือข้้นตอนในการแก้ปัญหา รวมทั้งหน้าจอการทำงานของโปรแกรม ซึ่งผู้ออกแบบสามารถเลือกใช้เครื่องมือต่างๆ ที่เหมาะสมมาช่วยในการออกแบบได้ โดยแยกการออกแบบโปรแกรมคอมพิวเตอร์ เป็น 2 ลักษณะ ดังนี้
2.1 การออกแบบอัลกอรึทึม คือการออกแบบลำดับขั้นตอนการทำงานก่อนและหลังของโปรแกรม โดยสามารถเขียนได้ 3 ลักษณะ ดังนี้
ภาษาธรรมชาติ
รหัสจำลอง
ผังงาน
2.2 การออกแบบส่วนติดต่อผู้ใช้ (User Interface) การออกแบบหน้าจอการทำงานของโปรแกรมคอมพิวเตอร์ จะต้องออกแบบให้ใช้งานง่าย สะดวกไม่ซับซ้อน และต้องคำนึงถึงความต้องการของผู้ใช้งานเป็นหลัก มีชื่อโปรแกรม ในกรณีที่ผู้ใช้งานต้องใส่ข้อมูลใดๆ ผ่านทางหน้าจอ ควรมีข้อความกำกับที่สั้น กระชับ และควรมีข้อความแสดงผลลัพธ์ที่ออกมาหลังจากโปรแกรมประมวลผลแล้ว ทั้งนี้ การออกแบบส่วนติดต่อผู้ใช้ที่ดี คือ การที่ผู้ใช้งานสามารถใช้งานโปรแกรมคอมพิวเตอร์นั้นได้ทันที โดยใช้คู่มือการใช้งานโปรแกรมน้อยที่สุด
3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ (Programming)
การเขียนโปรแกรมเป็นการนำเอาผลลัพธ์ของการออกแบบโปรแกรม มาเปลี่ยนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้เขียนโปรแกรมจะต้องให้ความสนใจต่อรูปแบบคำสั่งและกฎเกณฑ์ของภาษาที่ใช้เพื่อให้การประมวลผลเป็นไปตามผลลัพธ์ที่ได้ออกแบบไว้ นอกจากนั้นผู้เขียนโปรแกรมควรแทรกคำอธิบายการทำงานต่างๆ ลงในโปรแกรมเพื่อให้โปรแกรมนั้นมีความกระจ่างชัดและง่ายต่อการตรวจสอบและโปรแกรมนี้ยังใช้เป็นส่วนหนึ่งของเอกสารประกอบ โดยมีขั้นตอน ดังนี้
เขียนคำสั่ง (Coding)
แปลภาษา (Compile)
สั่งให้ไฟล์โปรแกรมทำงาน (Run)
4. การทดสอบและแก้ไขโปรแกรม (Testing)
การทดสอบโปรแกรมเป็นการนำโปรแกรมที่ลงรหัสแล้วเข้าคอมพิวเตอร์ เพื่อตรวจสอบรูปแบบกฎเกณฑ์ของภาษาและผลการทำงานของโปรแกรมนั้น ถ้าพบว่ายังไม่ถูกก็แก้ไขให้ถูกต้องต่อไป
ใช้ตัวแปลภาษาคอมพิวเตอร์แปลโปรแกรมที่สร้างขึ้นเป็นภาษาเครื่อง โดยระหว่างการแปลจะมีการตรวจสอบความถูกต้องของรูปแบบและกฎเกณฑ์ในการใช้ภาษา ถ้าคำสั่งใดมีรูปแบบไม่ถูกต้องก็จะแสดงข้อผิดพลาดออกมาเพื่อให้ผู้เขียนนำไปแก้ไขต่อไป ถ้าไม่มีข้อผิดพลาด เราจะได้โปรแกรมภาษาเครื่องที่สามารถให้คอมพิวเตอร์ประมวลผลได้
ตรวจสอบความถูกต้องของการประมวลผลของโปรแกรม โปรแกรมที่ถูกต้องตามรูปแบบและกฎเกณฑ์ของภาษา แต่อาจให้ผลลัพธ์ของการประมวลผลไม่ถูกต้องก็ได้ ดังนั้นผู้เขียนโปรแกรมจำเป็นต้องตรวจสอบว่าโปรแกรมประมวลผลถูกต้องตามต้องการหรือไม่ วิธีการหนึ่งก็คือ สมมติข้อมูลตัวแทนจากข้อมูลจริงนำไปให้โปรแกรมประมวลผลแล้วตรวจสอบผลลัพธ์ว่าถูกต้องหรือไม่ ถ้าพบว่าไม่ถูกต้องก็ต้องดำเนินการแก้ไขโปรแกรมต่อไป การสมมติข้อมูลตัวแทนเพื่อการทดสอบเป็นสิ่งที่มีความสำคัญเป็นอย่างมาก ลักษณะของข้อมูลตัวแทนที่ดีควรจะสมมติทั้งข้อมูลที่ถูกต้องและข้อมูล ที่ผิดพลาด เพื่อทดสอบว่าโปรแกรมที่พัฒนาขึ้นสามารถครอบคลุมการปฏิบัติงานในเงื่อนไขต่างๆ ได้ครบถ้วน นอกจากนี้อาจตรวจสอบการทำงานของโปรแกรมด้วยการสมมติตัวเองเป็นคอมพิวเตอร์ทีจะประมวลผล แล้วทำตามคำสั่งทีละคำสั่งของโปรแกรมนั้นๆ วิธีการนี้อาจทำได้ยากถ้าโปรแกรมมีขนาดใหญ่ หรือมีการประมวลผลที่ซับซ้อน
การออกแบบโปรแกรม (Design a program)
การออกแบบโปรแกรม เป็นการแสดงลำดับของการทำงานของโปรแกรม เพื่อให้เห็นภาพรวมของการทำงานของขั้นตอนทั้งหมด และเป็นการวางแผนการทำงานไว้ล่วงหน้า สามารถใช้วิธีการต่างๆ ได้
1. การออกแบบโปรแกรมโดยใช้ อัลกอริธึม (Algorithm)
การออกแบบโปรแกรมโดยใช้ ภาษาธรรมชาติ (Natural language)
การออกแบบโปรแกรมโดยใช้ รหัสจำลอง (Pseudo Code)
การออกแบบโปรแกรมโดยใช้ ผังงาน (Flowchart)
2. การออกแบบส่วนติดต่อผู้ใช้ (User Interface)
ซอฟต์แวร์ ที่ทำหน้าที่เป็นตัวกลางในการจัดการสื่อประสานที่จะนำเสนอผลลัพธ์ที่ได้จากการประมวลผลของระบบสนับสนุนการตัดสินใจไปยังผู้ใช้ในรูปแบบต่างๆ ที่เหมาะสม โดยจะติดต่อกับระบบจดัการฐานข้อมูลระบบจัดการฐานแบบจำลอง และระบบจัดการฐานองค์ความรู้ เพื่อนำข้อมูลที่ประมวลผล ได้ตามคำสั่งของผู้ใช้มาแสดงผล
ซอฟต์แวร์ที่ใช้ในการเขียนโปรแกรม
ซอฟต์แวร์ที่ใช้เขียนภาษาโปรแกรมเพื่อสร้างโปรแกรมคอมพิวเตอร์นั้นสามารถแบ่งได้เป็น 2 กลุ่ม ดังนี้
1. โปรแกรม Editor ทั่วไป เป็นซอฟต์แวร์ที่มุ่งเน้นการพิมพ์ข้อความหรือการเขียนชุดคำสั่งภาษาโปรแกรมเป็นหลัก แต่ไม่ได้ติดตั้งเครื่องมืออำนวยความสะดวกต่างๆ ในการเขียนโปรแกรมคอมพิวเตอร์ไว้ด้วย โปรแกรม Editor กลุ่มนี้ ส่วนใหญ่สามารถเป็นเครื่องมือสำหรับเขียนภาษาโปรแกรมได้ทุกภาษา ด้วยโปรแกรม Editor ทั่วไป เช่น Notepad Edit Plus เป็นต้น
2. โปรแกรม IDE Editor เป็นซอฟต์แวร์ที่รวมเครื่องมืออำนวยความสะดวกต่างๆ ในการเขียนโปรแกรมคอมพิวเตอร์ โดยส่วนมาก IDE Editor จะใช้เฉพาะโปรแกรมภาษาหนึ่งๆ หรือกลุ่มภาษาโปรแกรมที่ใกล้เคียงกันเท่านั้น เช่น Turbo C++ โปรแกรม Scratch โปรแกรม NetBeans IDE เป็นต้น
กลุ่มบล็อกคำสั่งของโปรแกรม Scratch
โปรเจ็กต์พัฒนาโปรแกรมหาค่า BMI