Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В компьютерном программировании , логическая ошибка является ошибкой в программе , которая заставляет его работать неправильно, но не прекратить ненормально (или врезаться ). Логическая ошибка приводит к непреднамеренному или нежелательному результату или другому поведению, хотя ее нельзя сразу распознать как таковую.

Логические ошибки возникают как в компилируемых, так и в интерпретируемых языках. В отличие от программы с синтаксической ошибкой , программа с логической ошибкой является допустимой программой на языке, хотя ведет себя не так, как задумано. Часто единственный ключ к существованию логических ошибок - это получение неправильных решений, хотя статический анализ иногда может их обнаружить.

Отладка логических ошибок [ править ]

Один из способов найти этот тип ошибки - поместить переменные программы в файл или на экран, чтобы определить местоположение ошибки в коде. Хотя это не сработает во всех случаях, например, при вызове неправильной подпрограммы , это самый простой способ найти проблему, если программа использует неверные результаты плохого математического расчета .

Примеры [ править ]

Этот пример функции на языке C для вычисления среднего двух чисел содержит логическую ошибку. В вычислении отсутствуют круглые скобки, поэтому он компилируется и запускается, но не дает ожидаемого ответа из-за приоритета оператора (деление оценивается перед сложением).

 среднее значение с плавающей запятой плавающей точкой  a , с  плавающей точкой  b ) {  return  a  +  b  /  2 ;  / * должно быть (a + b) / 2 * / }

См. Также [ править ]