خطای منطقی

خطای منطقی یا خطای منطق  در برنامه‌سازی رایانه نوعی خطا است که باعث عملکرد نادرست برنامه می‌شود، اگرچه به قطع اجرای آن نمی‌انجامد. این‌گونه خطا یا در اثر نادرست بودن الگوریتم، یا نادرست بودن نحوه کدنویسی الگوریتم یا خطا در نوشتن دستورالعمل خاصی است.

مثال 
حالتی را تصور کنید که یک برنامه‌ای که می‌بایست با گرفتن طول ضلع یک مربع، محیط آن را محاسبه کند، با وارد کردن ۳ به عنوان طول ضلع، عددی غیر از ۱۲ را نمایش دهد. در این حالت برنامه بدون هیچ ایرادی کامپایل شده و اجرایش هم بدون خطا خاتمه یافته، ولی جواب درست را تولید نکرده‌است.

همچنین گیرکردن برنامه در حلقه‌های بینهایت نیز جزو این دسته از خطاها می‌باشد.

کشف کردن و رفع ایراد این نوع خطاها کار دشواری می‌باشد، چرا که ممکن است برنامه در حالات خاصی جواب درست بدهد و در حالات دیگری جواب غیر درست.

مثال 2 
این یک تابع در زبان برنامه نویسی C است که جمع دو عدد را حساب می کند. ولی نتیجه درست را حساب نمی کند. چون که کامپیوتر ابتدا مقدار تقسیم و سپس جمع را جساب می کند
float average(float a, float b)
{
    return a + b / 2;  // should be (a + b) / 2
}

منابع 

Wikipedia contributors، "Logic error،" Wikipedia، The Free Encyclopedia، http://en.wikipedia.org/w/index.php?title=Logic_error&oldid=171105988 (accessed December ۲۹، ۲۰۰۷).

مقاله‌های خرد برنامه‌نویسی
خطاهای رایانه
نظریه زبان‌های برنامه‌نویسی