วันจันทร์ที่ 26 ธันวาคม พ.ศ. 2554

3.2 การใช้สัญลักษณ์

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

ทิศทางแสดงการเคลื่อนที่

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

การเชื่อมต่อระหว่างจุด

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

การเชื่อมต่อหน้ากระดาษ

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

การกำหนดทิศทางเพื่อตัดสินใจ

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

การใช้คำอธิบายในสัญลักษณ์ต่างๆ

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

การใช้สัญลักษณ์แสดงโปรแกรมย่อย

การแสดงขั้นตอนภายในโปรแกรมหลัก จุดเริ่มต้นให้ใช้คำว่า เริ่มต้น หรือ Start ส่วนจุดสุดท้ายให้ใช้คำว่า จบ หรือ END สำหรับในโปรแกรมย่อยจุดเริ่มต้นให้ใช้ชื่อโปรแกรมย่อย ส่วนจุดสุดท้ายให้ใช้คำว่า กลับ หรือ Return
  1. การเรียกใช้โปรแกรมย่อยภายนอก
  2. การเรียกใช้โปรแกรมย่อยภายใน

3. เครื่องมือออกแบบ


3.1 เครื่องมือในการออกแบบโปรแกรม

เครื่องมือการออกแบบโปรแกรมมักจะประกอบขึ้นด้วยเครื่องมือซึ่งแตกต่างกันหลายอย่าง แต่พอจะสรุปได้เป็น 2 อย่าง
  1. คำบรรยาย เป็นการเขียนเค้าโครงด้วยการบรรยายเป็นภาษาที่มนุษย์ใช้สื่อสารกัน เพื่อให้ทราบถึงตอนการทำงานของโปรแกรมแต่ละตอน ในบางครั้งอาจใช้คำสั่งของภาษาที่ใช้เขียนโปรแกรมก็ได้
  2. สัญลักษณ์ คือ เครื่องหมายรูปแบบต่างๆ ซึ่งใช้สำหรับสื่อความหมายให้เข้าใจตรงกัน สถาบันมาตรฐานแห่งชาติอเมริกัน (The American National Standard Institute, ANSI) ได้กำหนดสัญลักษณ์ไว้เป็นมาตรฐานแล้ว สมควรนำไปใช้ได้ตามความเหมาะสมต่อไป ซึ่งมีรายละเอียดรูปแบบและความหมายที่ควรทราบตามตารางต่อไปนี้
สัญลักษณ์
ชื่อเรียก
ความหมาย
เริ่มต้นและจบ
แทนจุดเริ่มต้นและจบของโปรแกรมหลักและโปรแกรมย่อย
การรับและแสดงผลข้อมูล
แทนจุดที่จะนำข้อมูลเข้าหรือออกโดยไม่ระบุอุปกรณ์
การตัดสินใจ
แทนจุดที่ต้องเลือกปฏิบัติอย่างใดอย่างหนึ่ง
การปฏิบัติงาน
แทนจุดที่มีการปฏิบัติงานอย่างใดอย่างหนึ่ง
จุดเชื่อม
แทนจุดเชื่อมต่อของผังงาน เพื่อให้ดูง่ายขึ้น
จุดเชื่อมต่อหน้ากระดาษ
แทนจุดเชื่อมต่อผังงานที่อยู่คนละหน้ากระดาษ
ทิศทาง
แทนทิศทางขั้นตอนของการดำเนินงาน
ตารางที่ 1.1 แสดงความหมายของสัญลักษณ์

การพัฒนาโปรแกรม


2.3 ลักษณะโปรแกรมที่ดี

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

วันอังคารที่ 13 ธันวาคม พ.ศ. 2554

ขั้นตอนการพัฒนาโปรแกรม

2.2 ขั้นตอนการพัฒนาโปรแกรม

ขั้นตอนการพัฒนาโปรแกรมประกอบด้วย
  1. การวิเคราะห์ปัญหา
  2. การออกแบบโปรแกรม
  3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
  4. การทดสอบและแก้ไขโปรแกรม
  5. การทำเอกสารประกอบโปรแกรม
  6. การบำรุงรักษาโปรแกรม

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

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

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

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

การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์

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

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

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

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

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

การบำรุงรักษาโปรแกรม

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

ความหมายของโปรแกรม

2.1 ความหมายของโปรแกรม

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

2. การพัฒนาโปรแกรม

2.1 ความหมายของโปรแกรม

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

การแก้ปัญหา


1.3 การจำลองความคิดเป็นข้อความหรือแผนภาพ

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

การจำลองความคิดเป็นข้อความ

เริ่มต้น
    ต้มน้ำให้เดือด
    ใส่บะหมี่ลงในน้ำเดือด
    ต้มประมาณ 1 นาที
    ใส่เครื่องปรุงแล้วยกหม้อลงจากเตา
    รับประทาน
        จบ

1. การแก้ปัญหา


1.2 กระบวนการแก้ปัญหา

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

ภาพที่ 1.1 กระบวนการแก้ปัญหา มีขั้นตอนดังแผนภาพ

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

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

2. การวางแผนในการแก้ปัญหา

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

3. การดำเนินการแก้ปัญหาตามแผนที่วางไว้

เมื่อได้วางแผนแล้วก็ดำเนินการแก้ปัญหา ระหว่างการดำเนินการแก้ปัญหาอาจได้แนวทางที่ดีกว่าวิธีที่คิดไว้ ก็สามารถนำมาปรับเปลี่ยนได้

4. การตรวจสอบการแก้ปัญหา

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