Логічна помилка (програмування)

У комп'ютерному програмуванні логічна помилка — це помилка в програмі, яка спричиняє її неправильну роботу, але не призводить до аварійного завершення (або збою).[1] Логічна помилка призводить до неочікуваних або небажаних результатів або іншої поведінки, хоча це не відразу можна помітити.

Логічні помилки виникають як у компільованих, так і в інтерпретованих мовах. На відміну від програми з синтаксичною помилкою, програма з логічною помилкою є правильною програмою з погляду мови, хоча й поводиться не так, як передбачалося. Часто єдиною підказкою про існування логічних помилок є створення неправильних розв'язків, хоча статичний аналіз іноді також дає змогу їх помітити.

Усунення логічних помилок

Один зі способів виявити помилку такого типу — вивести змінні програми у файл або на екран, що дає змогу визначити місце помилки в коді. Хоча це працює не у всіх випадках, наприклад, під час виклику підпрограми з помилкою, це найпростіший спосіб знайти проблему, якщо програма використовує неправильні результати хибного математичного розрахунку.

Приклади

Цей приклад функції мовою C для обчислення середнього арифметичного двох чисел містить логічну помилку: у виразі відсутні круглі дужки. Програма компілюється та виконується, але повертає неправильну відповідь через пріоритет оператора (ділення виконується перед додаванням):

float average(float a, float b)
{
  return a + b / 2; // має бути (a + b) / 2
}

Див. також

Примітки

  1. Breedlove, Todd W.; Albert, Randal L. (22 жовтня 2010). C++: An Active Learning Approach (англ.). Jones & Bartlett Publishers. с. 44. ISBN 978-1-4496-1283-2. Процитовано 20 березня 2025.
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya