การเขียนโปรแกรมเบื้องต้น

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

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

1.1 การระบุข้อมูลเข้า (Input) ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา

1.2 การระบุข้อมูลออก (Output) ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ

1.3 การกำหนดวิธีประมวลผล (Process) ได้แก่ การพิจารณาขั้นตอนวิธีหาคำตอบหรือข้อมูลออก


2. การออกแบบโปรแกรม

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

ผังงาน (flowchart) ที่จำลองขั้นตอนวิธีการแก้ปัญหาในรูปของสัญลักษณ์

ซูโดโค้ด (pseudo code) ซึ่งเป็นการจำลองขั้นตอนวิธีการแก้ปัญหาในรูปของคำบรรยาย

การใช้เครื่องมือช่วยออกแบบดังกล่าวนอกจากแสดงกระบวนการที่ชัดเจนแล้ว ยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาดของวิธีการที่ใช้ได้ง่ายและแก้ไขได้อย่างรวดเร็ว การเขียนโปรแกรมควบคุมคอมพิวเตอร์เป็นทักษะอย่างหนึ่งที่ต้องฝึกจนชำนาญ ซึ่งต้องอาศัยทักษะด้านการคิดวิเคราะห์ การให้เหตุผลและการแก้ปัญหาอย่างเป็นขั้นตอน รวมถึงใช้ขั้นตอนวิธีหรืออัลกอริทึม Algorithm ในการถ่ายทอดความคิดอย่างเป็นระบบ ซึ่งจะนำไปสู่การเขียนโปรแกรมที่มีประสิทธิภาพ

3. การเขียนโปรแกรม

การดำเนินการแก้ปัญหา (Implementation) หลังจากที่ได้ออกแบบขั้นตอนวิธีเรียบร้อยแล้ว ขั้นตอนนี้เป็นขั้นตอนที่ต้องลงมือแก้ปัญหาโดยใช้เครื่องมือที่ได้เลือกไว้ หากการแก้ปัญหาดังกล่าวใช้คอมพิวเตอร์เข้ามาช่วยง่าน ขั้นตอนนี้ก็เป็นการใช้โปรแกรมสำเร็จหรือใช้ภาษาคอมพิวเตอร์เขียนโปรแกรมแก้ปัญหา ขั้นตอนนี้ต้องอาศัยความรู้เกี่ยวกับเครื่องมือที่เลือกใช้ซึ่งผู้แก้ปัญหาต้องศึกษาให้เข้าใจและเชี่ยวชาญ ในขณะที่ดำเนินการหากพบแนวทางที่ดีกว่าที่ออกแบบไว้ก็สามารถปรับเปลี่ยนได้


4.การทดสอบและแก้ไขโปรแกรม

หลังจากเขียนโปรแกรมจะต้องทำทดสอบความถูกต้องของโปรแกรมที่เขียนขึ้น หาจุดผิดพลาดของโปรแกรมว่ามีหรือไม่ และตรวจสอบจนไม่พบที่ผิดอีก

จุดผิดพลาดของโปรแกรมนี้เรียกว่า บัก(Bug)

ส่วนการแก้ไขข้อผิดพลาดให้ถูกต้องเรียกว่า ดีบัก(Debug)

โดยทั่วไปแล้ว ข้อผิดพลาดจากการเขียนโปรแกรมจะมี 2 ประเภท คือ

1) Syntax Error เป็นข้อผิดพลาดจากการใช้ไวยากรณ์ภาษาที่ผิด

2) Logical Error เป็นข้อผิดพลาดที่โปรแกรมทำงานได้ แต่ผลลัพธ์ออกมาไม่ถูกต้อง


5. การเขียนเอกสารประกอบ

ขั้นตอนนี้จะทำให้ผู้ใช้สามารถใช้งานโปรแกรมได้อย่างมีประสิทธิภาพ และสะดวกในการตรวจสอบข้อผิดพลาดโดยเขียนเป็นเอกสารประกอบโปรแกรมขึ้นมา โดยทั่วไปแล้วแบ่งออกเป็น 2 ประเภท คือ

1) คู่มือการใช้ ( User Document ) ซึ่งจะอธิบายการใช้โปรแกรม

2) คู่มือโปรแกรมเมอร์ ( Program Document ) ซึ่งจะอำนวยความสะดวกในการแก้ไขโปรแกรม และพัฒนาโปรแกรมในอนาคต โดยมีรายละเอียดต่างๆ เกี่ยวกับโปรแกรม เช่น ชื่อโปรแกรม การรับข้อมูล การพิมพ์ผลลัพธ์ขั้นตอนต่างๆ ในโปรแกรม เป็นต้น



การออกแบบโปรแกรม

ซูโดโค้ด

รหัสเทียม (Pseudo Code อ่านว่า "ซูโดโค้ด") เป็นคำสั่งที่ไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง แต่เป็นคำสั่งที่นำมาใช้ในการเขียนเลียนแบบชุดคำสั่งแบบย่อๆ เพื่อการออกแบบโปรแกรม หรือร่างเค้าโครงโปรแกรมที่จะเขียนขึ้นมา ก่อนที่จะนำไปแปลงเขียนเป็นชุดคำสั่งด้วยภาษาคอมพิวเตอร์จริงๆ ต่อๆไป

START

INPUT WIDTH, HEIGHT

AREA = WIDTH * HEIGHT

PRINT AREA

END

ผังงาน

ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์ (Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความหรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือ ข้อความ ทำได้ยากกว่าเมื่อใช้รูปภาพ หรือสัญลักษณ์

การเขียนโปรแกรม

การเขียนโปรแกรมแท้จริงแล้วก็คือ การส่งคำสั่งให้กับคอมพิวเตอร์ทำงานให้กับเราโดยสั่งคำสั่งผ่าน "ภาษาคอมพิวเตอร์" เช่น Python โดยคำสั่งนั้นขึ้นอยู่กับการออกแบบ การกำหนดเงื่อนไข และขั้นตอนที่เรากำหนดขึ้นมาเอง ภาษาคอมพิวเตอร์ = ภาษาที่ใช้สื่อสารกับคอมพิวเตอร์

การทดสอบโปรแกรม

คือการทดสอบระบบว่าทำงานได้ถูกต้องได้ผลตามวัตถุประสงค์หรือไม่ ซึ่งเป็นการทดสอบกระบวนการทางพื้นฐานทางคอมพิวเตอร์

การจัดทำเอกสารประกอบโปรแกรม


เอกสารสำหรับผู้ใช้โปรแกรม