Логические ошибки – это проблема с программным кодом компьютера, который не легко определить, когда код написан или составлен. Иногда она называется смысловая ошибка, логическая ошибка, как правило, это вина программиста; даже если кодировка правильная, то полученный ответ может быть неправильным. Если язык программирования компилятора поставляется с логической ошибкой, он будет успешно интерпретировать полученный код, в результате чего рабочая программа может возвращать неверные данные.
Логические ошибки трудно поймать программистом, потому что язык программирования интерпретатора не может определить эту ошибку как проблему. После того, как код будет выполнен успешно, результаты, без умышленного обследования, могут показаться правильными. Для выявления такого рода ошибок, человеку, который хорошо осведомлен о предполагаемых результатах и функциями программы следует пересмотреть вывод и эксплуатацию этой программы.
Чтобы найти логическую ошибку в коде, нужно уметь методически отслеживать источник ошибки. Ошибка может быть результатом неправильно закодированного синтаксиса. Синтаксис кода может показаться правильным, но может привести к логической ошибке. Эти типы ошибок могут оказаться весьма дорогостоящей проблемой, если они не будут своевременно устранены.
Логические ошибки также могут быть результатом ошибочных данных, которые были использованы правильно при составлении программы без каких-либо внутренних собственных логических ошибок. Это эквивалентно распространённому выражению “мусор на входе, мусор на выходе”. Если данные введены в программу, даже если программа выполняется корректно, но в результате появляются ошибки, по сравнению с тем, что ожидалось.
В качестве примера другого типа логической ошибки, это знак “стоп”, водитель может повернуть направо или повернуть налево. Если водитель поворачивает направо, когда адресат был слева, это будет считаться логической ошибкой. Технически, водитель правильно управляет транспортным средством, но окончательного результата не было, как предполагалось. Как показано в данном примере, ошибки в логике не ограничены в сфере компьютерного программирования. Логическая ошибка также может быть классифицирована и может привести в заблуждение в отношении сообщений.
В другом примере, в котором существуют логические ошибки, текстовые процессоры могут иногда использовать автоматическую проверку орфографии; эта проверка орфографии славится отсутствием логических ошибок. Например, существительное “продажа” может быть представлено в ложном свете как существительное “парус” в предложении. Каждое слово написано правильно, звучит правильно и может быть грамматически правильно в предложении, но определение одного слова может не поместиться в контексте конкретного предложения.