บทที่ 2 พื้นฐานการเขียนโปรแกรม

คอมพิวเตอร์กับการแก้ปัญหา

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

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

ขั้นตอนการวิเคราะห์ปัญหา

การเขียนโปรแกรมคอมพิวเตอร์ เพื่อใช้สำหรับช่วยในการแก้ปัญหา ขั้นตอนของการวิเคราะห์ปัญหาสำหรับเตรียมการก่อนลงมือเขียนโปรแกรมคอมพิวเตอร์ มีขั้นตอนดังนี้
1. การทำความเข้าใจกับปัญหา
2. การพิจารณาลักษณะของข้อมูลเข้าและข้อมูลออก
3. การทดลองแก้ไขปัญหาด้วยตนเอง
4. การเขียนขั้นตอนวิธีการแก้ปัญหา
5. การทดสอบขั้นตอนวิธีการแก้ปัญหา

1. การทำความเข้าใจกับปัญหา

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

2. การพิจารณาลักษณะของข้อมูลเข้าและข้อมูลออก

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

3. การทดลองแก้ไขปัญหาด้วยตนเอง

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

4. การเขียนขั้นตอนวิธีการแก้ปัญหา 
 (Algorithm)

ขั้นตอนวิธี (Algorithm) คือ การเขียนอธิบายถึงลำดับขั้นตอนการทำงานของการแก้ปัญหาในลักษณะของข้อความ 

 การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา มีวิธีการดังนี้

1. เขียนลำดับขั้นตอนวิธีการทำงานทั้งหมดอย่างย่อ

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

2. เขียนลำดับขั้นตอนวิธีการทำงานอย่างละเอียด

เป็นการเขียนรายละเอียดของการทำงานของแต่ละขั้นตอนที่ได้จากข้อ 1 เพื่อให้สามารถทำการเปลี่ยนให้เป็นรหัสเทียม และโปรแกรมภาษาคอมพิวเตอร์

3. เขียนลำดับขั้นตอนวิธีการทำงานแต่ละข้อให้อยู่ในรูปของรหัสเทียม

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

5. การทดสอบลำดับขั้นตอนวิธีการแก้ปัญหา

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

 

ตัวอย่างการหาแนวทางในการแก้ปัญหาด้วยคอมพิวเตอร์

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

ขั้นตอนที่ 1 ทำความเข้าใจกับปัญหา
ปัญหาที่ต้องการแก้ไข คือ การคำนวณหาพื้นที่ของห้องเรียนรูปสี่เหลี่ยมผืนผ้า

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

ขั้นตอนที่ 3 ทดลองแก้ไขปัญหาด้วยตนเอง
การคำนวณหาพื้นที่ห้องสี่เหลี่ยม หาได้จากสูตร
พื้นที่ห้องสี่เหลี่ยมผืนผ้า = กว้าง x ยาว
ถ้าให้ความกว้างของห้อง = 8 เมตร
ถ้าให้ความยาวของห้อง = 6 เมตร
พื้นที่ห้อง = 8 x 6
= 48 ตารางเมตร

ขั้นตอนที่ 4 การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา   (Algorithm)
ในที่นี้จะเขียนอธิบายขั้นตอนวิธีการทำงานอย่างย่อ ดังนี้
1. เริ่มต้น
2. รับค่าความกว้างและความยาวของห้อง
3. คำนวณค่าพื้นที่ห้อง = กว้าง x ยาว
4. แสดงค่าของพื้นที่ห้อง
5. จบการทำงาน

 

รหัสเทียม (Pseudo Code)
Begin
Read Wide , Long
Area Wide * Long
Write Area
End.

ขั้นตอนที่ 5 การทดสอบขั้นตอนวิธีการแก้ปัญหา
1. Begin

เป็นส่วนของการบอกการเริ่มต้นของขั้นตอน
2. Read Wide , Long

ขั้นตอนนี้ เครื่องคอมพิวเตอร์จะรอรับข้อมูล 2 ค่าคือ ค่าความกว้างและค่าความยาวของห้อง สมมติให้ความกว้าง = 10 และความยาว = 12
3. Area Wide * Long

ค่าพื้นที่ = กว้าง x ยาว
= 10 x 12
= 120 ตารางหน่วย

4. Write Area

แสดงค่าของพื้นที่ห้องรูปสี่เหลี่ยมที่คำนวณได้คือ 120 ตารางหน่วย
5. End.

เป็นตัวบอกการสิ้นสุดการทำงานของขั้นตอนทั้งหมด


แบบฝึกหัด

1  ให้นักเรียนเขียนอัลกอริทึม และ ซูโดโค้ด ลำดับขั้นตอนการแต่งตัวมาโรงเรียน

                                 

2 ให้นักเรียนเขียนอัลกอริทึม และ ซูโดโค้ด การคำนวณหาพื้นที่วงกลม



Comments