คอมพิวเตอร์ทำงานผิดพลาดได้หรือไม่
ได้ครับ
สาเหตุของความผิดพลาด
1. ข้อผิดพลาดทางตรรกวิทยา (Logical Errors) ข้อผิดพลาดประเภทนี้เกิดขึ้นเนื่องจากการทำงานของโปรแกรมผิดขั้นตอนไปจากที่ได้กำหนดไว้ การเลือกตัดสินใจสั่งการผิด พลาดคือ การเขียนโปรแกรมผิดพลาดไปจากหลักการของเหตุผล ซึ่งในการทดสอบเงื่อนไข ไม่ว่าเงื่อนไขนั้นจะเป็นจริงหรือไม่จริงก็ตาม คอมพิวเตอร์ก็จะทำงานตามคำสั่งในประโยคคำสั่งที่อยู่ถัดไปทันที และข้อผิดพลาดที่เกิดขึ้นชนิดนี้อาจจะเกิดขึ้นจากกรรมวิธีการประมวลผล หรือกระบวนการแก้ปัญหา(Algorithm) ซึ่งกระบวนการที่บอกถึงขั้นตอนของการทำงานภายในตัวโปรแกรม (Flowchart) ก็ถือว่าเป็น Algorithm ประเภทหนึ่ง ซึ่งถ้าหากการเขียนวิธีการและขั้นตอนในการประมวลผลได้ถูกต้องตามขั้นตอนในเชิงตรรกวิทยา(Logical) แล้วการ เขียนโปรแกรมให้ทำงานตามขั้นตอนก็จะทำให้โปรแกรมนั้นทำงานได้อย่างถูกต้องตามขั้นตอนด้วย
2. ข้อผิดพลาดทางหลักภาษาและการใช้คำสั่งผิดรูปแบบ(Syntax Errors)
ความผิดพลาดนี้อาจเกิดขึ้นเนื่องจากสาเหตุดังต่อไปนี้
o เขียนประโยคคำสั่งไม่ถูกต้องตามรูปแบบของคำสั่งนั้น ๆ
o สะกดคำที่เป็น Reserved Word หรือ Option ผิด
o ใช้ชื่อข้อมูลไม่ตรงกับที่ได้กำหนดไว้ใน DATA DIVISION
o ใช้สัญญลักษณ์ที่ไม่มีการกำหนดไว้ในหลักภาษาโคบอล
o ตั้งชื่อข้อมูล (Data-name or Idenfifier) ซ้ำกับ Reserved Word
o ไม่สามารถหาทางออกจากการทำงานซ้ำ ๆ ให้โปรแกรมได้ (Loop Errors)
3. ข้อผิดพลาดอันเนื่องมาจากข้อมูล (Data Errors) ข้อผิดพลาดชนิดนี้มักจะพบเห็นกันอยู่บ่าย ๆ ทั่วไป โปรแกรมส่วนมากจะมีข้อผิดพลาดอันเนื่องมาจาก ข้อไม่ไม่ถูกต้อง ข้อมูลไม่ เป็นไปตามที่กำหนดไว้ภายในตัวโปรแกรม เช่น ข้อมูลที่รับเข้า และส่งออกไม่ตรงกัน ซึ่งข้อมูลบางรายที่ควรเป็นตัวเลข กลับเป็นตัวอักษรหรือ อักขระพิเศษ ซึ่งจะเป็นสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้ขึ้น เมื่อนำข้อมูลนั้นมาทำการประมวลผล นอกจากนี้ก็อาจจะมีข้อผิดพลาดที่เกิดจากมี ข้อมูลที่ซ้ำกัน ข้อมูลถูกเปลี่ยนแปลงหรือขาดหายไป หรือมีจำนวนมากที่กำหนดเอาไว้ภายในโปรแกรม ซึ่งส่วนใหญ่จะเก็บสะสมไปเรื่อย ๆ ไม่มี การตัดออก
4. ข้อผิดพลาดที่เกิดจากการสั่งให้ทำงานซ้ำ ๆ (Repitition or Loop Errors)
ข้อผิดพลาดชนิดนี้อาจจะผิดพลาดอันเนื่องมาจากสาเหตุดังนี้
5. การกำหนดค่าเริ่มต้น (initial Value) ให้กับตัวแปรไม่ถูกต้อง
6. เครื่องทำงานซ้ำกันไม่มีที่สิ้นสุด หรือหาทางออกจากการวนซ้ำไม่ได้
7. เครื่องทำงานตามคำสั่งซ้ำเกินจำนวนครั้งที่ได้กำหนดไว้
8. กำหนดค่าดัชนีผิด
9. ชื่อข้อมูลที่กำหนดเป็นตารางหรือเรียกใช้ในรูปแบบของ Array Table น้อยกว่าจำนวนข้อมูลที่เกิดขึ้นจริง
10. ข้อผิดพลาดที่เกิดขึ้นจากคำนวณ (Arithmetic Operation Errors)
ข้อผิดพลาดนี้เกิดขึ้นได้อันเนื่องมาจากสาเหตุดังต่อไปนี้
o ข้อมูลที่ถูกนำมาคำนวณต่างชนิดกัน (Mixed Errors)
o ตัวหารมีค่าเป็นศูนย์
o ถอดรากที่สองของเลขจำนวนเต็บลบหรือจำนวนจริงลบ
o กำหนดเนื้อที่ภายในหน่วยความจำ สำหรับใช้เก็บค่าผลลัพธ์ที่ได้จากการคำนวณมีขนาดไม่เพียงพอ (Overflow)
11. ข้อผิดพลาดในเรื่องของการใช้โปรแกรมย่อย (Routines) ข้อผิดพลาดชนิดนี้อาจมีสาเหตุเนื่องมาจาก จำนวนตัวแปรไม่เท่ากัน และต่างรูปแบบกัน ในการเขียนหรือเรียกใช้โปรแกรมย่อย ไม่ถูกต้องตามหลักภาษาโคบอล
12. ข้อผิดพลาดทางการรับ-ส่งข้อมูล (Input-output Errors) ข้อผิดพลาดชนิดนี้อาจจะมีสาเหตุอันเนื่องมาจาก การกำหนด FD (File Description) ไม่เป็นไปตามโครงสร้าง และรูปแบบของ ข้อมูลที่รับเข้าหรือส่งออก หรือใช้คำสั่งในการนำข้อมูลเข้า เช่น read, addept หรือใช้คำสั่งในการนำข้อมูลออก เช่น write, exhibit,display ไม่ถูกต้อง หรืออาจจะกำหนด I/O Records ไม่ถูกต้อง