Типы ошибок в программировании.

Когда вы пишете код для программ, вы, вероятно, заметили, что возникают различные ошибки. Среди них выделяют три основных типа ошибок:

1. Синтаксическая ошибка (Syntax error) - вызвана неправильным написанием команд, неправильным порядком следования команд, пропуском обязательных символов (запятая, круглые скобки, двоеточие и т.д.)

Например,

cout >> instead of cout <<

int x = 4.2 instead of float x=4.2

2. Ошибка выполнения (Execution error) - вызывается во время выполнения программы, ошибок в программном коде нет и запуск на выполнение возможен, но при определенных обстоятельствах программа не может быть выполнена.

Например,

float time, distance, speed;
cin >> distance; // ввод расстояния
cin >> time; // ввод времени
speed = distance / time; // вычисление скорости

cout << speed; // вывод результата вычисления

в программе нет ошибок, но !!! если мы введем 0 для переменной time, то вычисление в третьей строке приведет к делению на 0, а мы знаем, что вы не можете разделить число на ноль!

На экране появится ошибка ZeroDivisionError, информирующая пользователя о том, что невозможно разделить на 0. Необходимо задать дополнительное условие, которое будет проверять, что переменная time != 0.

Например, решение покажет не программную ошибку, а сообщение пользователю.

float time, distance, speed;
cin >> distance; // ввод расстояния
cin >> time; // ввод времени
if (time!=0) {
    speed = distance / time; // вычисление скорости
    cout << speed; // вывод результата вычисления
}
else {
    cout << "Нельзя делить на 0"; // вывод сообщения
}

3. Логическая ошибка (Logic error) возникает, если в программе нарушена логика выполнения кода, порядок действий, неправильно задано условие и т.д. Программа не показывает ошибок и отображает конечный результат; только результат неверен.

Например,

- нужно было вычислить a * b , но в программе написали a + b . В записи нет ошибки, но результат будет неверным.

- для расчета

код x = a + b / 2 неправильно вычислит x, так как сначала будет выполнено деление, а затем только сложение, что не соответствует вычислению дроби.

Следовательно, чтобы порядок действий был сохранен, вам нужно использовать круглые скобки и написать x = (a + b) / 2

Последнее изменение: Friday, 21 April 2023, 16:23