มารู้จักข้อผิดพลาดของโปรแกรมกันดีกว่า


หลายๆคนที่เคยผ่านการเขียนโปรแกรมไม่ว่าจะเป้นภาษาซี ภาษาปาสคาล หรือภาษาคอมพิวเตอรือื่น ๆ คงจะเคยเจอกับข้อผิดพลาดกันมาบ้างแล้ว ทีนี้เรามารู้จักกับข้อผิดพลาดในการเขียนโปรแกรมกันว่ามีด้วยกันอยู่ 3 ชนิด นั่นก็คือ
1.  Syntax Error  คือ ข้อผิดพลาดจากการใช้ไวยากรณ์ภาษาที่ผิด หรือ อาจเกิดจากการสะกดคำผิด
2.  Run-time Error  คือ ข้อผิดพลาดในระหว่างการปฏิบัติงาน(Execution) มักเกิดจากความรู้เท่าไม่ถึงการณ์
3.  Logical Error  คือ ข้อผิดพลาดที่หาและแก้ได้ยากที่สุด ต้องทำการไล่โปรแกรมทีละคำสั่งเพื่อหาข้อผิดพลาดนั้น
ทีนี้เราลองมาดูตัวอย่างข้อผิดพลาดของโปรแกรม Syntax Error กันนะคะ

#include<stdio.h>
void main()
{
int price
printf(“How much is that ? “)
scanf(“%d”,price);
printf(“oh! %d ?, hmmm…., too expensivenn”,price);
}
*** โปรแกรมนี้เป็นประเภท Syntax error เนื่องจากไม่มีเครื่องหมาย  ;  ***
จากนั้นให้นักเรียนหาข้อแตกต่างระหว่าง Syntax error และ Logical error ว่ามีข้อแตกต่างกันอย่างไร พร้อมทั้งยกตัวอย่างของ Syntax Error และ Logical Error มาด้วย

Advertisements

9 thoughts on “มารู้จักข้อผิดพลาดของโปรแกรมกันดีกว่า

  1. syntax error คือ ความผิดพลาดทางไวยากรณ์ อาจใช้ไวยากรณ์ผิด เช่น ภาษา php มีข้อกำหนดว่าต้องปิดท้ายคำสั่งด้วย ; แต่เราอาจลืม หรือบางครั้งเปิด { แต่ลืมปิด } หรือเขียนคำสั่งผิดไปเลย เช่น echo เขียนเป็น egho อย่างนี้เป็นต้น error ชนิดนี้แก้ง่ายที่สุด
    logic error คือ คิดผิด error ประเภทนี้แก้ยากที่สุด ยากมากๆด้วย เพราะมันจะไม่ฟ้องอะไรเลย แต่ผลลัพธ์ออกมาผิด อีกทั้งใจเรายึดมั่นว่ามันถูก เลยไปกันใหญ่ ต้องทำการไล่โปรแกรมทีละคำสั่ง เพื่อหาข้อผิดพลาดนั้น

  2. Syntax Error คือ ข้อผิดพลาดจากการใช้ไวยากรณ์ภาษาที่ผิด หรือ อาจเกิดจากการสะกดคำผิด เช่น eat (กิน) มาเป็น aet (หลังทดเวลา)

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

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s