การจำลองความคิดในการเขียนโปรแกรม

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

อัลกอริทึม (Algorithm)

การจำลองความคิดเพื่อวางแผนขั้นตอนในการเขียนโปรแกรมทางคอมพิวเตอร์เรียกได้อีกอย่างว่า อัลกอริทึม  (Algorithm)

การจำลองความคิดประกอบด้วย 2 ลักษณะ คือ

1. ข้อความคำบรรยายหรือรหัสเทียม (pseudo code)

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

ตัวอย่าง การวางแผนไปโรงเรียน การจำลองความคิดด้วยรหัสเทียม

เริ่มต้น

ตื่นนอน

อาบน้ำแต่งตัว

รับประทานอาหารเช้า

ไปโรงเรียน

จบ

ลักษณะของรหัสเทียม (Pseudo code)

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

ข้อดีของรหัสเทียม (Pseudo code)

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

วิธีการเขียนรหัสเทียม (Pseudo code)

  • ประโยคคำสั่ง (Statement) จะอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
  • ในหนึ่งบรรทัด ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
  • ควรใช้ย่อหน้า เพื่อแยกคำเฉพาะ (Keywords)  ได้ชัดเจน รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งช่วยให้อ่านโค้ดได้ง่าย
  • แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงลาง โดยมีทางเข้าเพียงทางเดียว และมีทางออกทางเดียวเท่านั้น
  • กลุ่มของประโยคคำสั่งต่าง ๆ อาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูล แต่ต้องมีการกำหนดชื่อของโมดูลด้วย เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้
  • ต้องมีการเริ่มต้น (Start/Begin) ตามด้วยชื่อของกิจกรรมนั้น และต้องมี จุดสิ้นสุด (End) เสมอ 
  •  

2. สัญลักษณ์หรือ ผังงาน (Flowchart)

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

ประโยชน์ของผังงาน

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

ลักษณะของผังงานที่ดี

  1. ใช้สัญลักษณ์ตามที่กำหนดไว้ 
  2. ผังงานจะต้องมีจุดเริ่มต้น (Start)และสิ้นสุด (Stop/End/Finish) 
  3. ใช้หัวลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่างหรือซ้ายไปขวา (ยกเว้นที่ต้องทำซ้ำ) 
  4. ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า 1 เส้นและออก 1 เส้นโดยไม่มีการปล่อยจุดใดจุดหนึ่งไว้ 
  5. เขียนคำอธิบายการทำงานในแต่ละขั้นตอนโดยใช้ข้อความที่สั้น กะทัดรัด ชัดเจนและเข้าใจได้ง่าย 
  6. ควรหลีกเลี่ยงโยงเส้นไปมาทำให้เกิดจุดตัดมากเพราะจะทำให้เกิดข้อผิดพลาดง่าย ควรใช้สัญลักษณ์เชื่อมจุดต่อเนื่องแทน
  7. ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
  8. ผังงานที่ดีควรมีความเป็นระเบียบเรียบร้อย สะอาดและชัดเจน สามารถเข้าใจได้ง่าย
  9. ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนไปเขียนโปรแกรม

ข้อจำกัดของผังงาน

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