Вопрос:
Дан алгоритм для решения линейного уравнения \((kx+b=0)\):
1. Начало 2. Ввод(k) 3. Ввод(b) 4. x=-b/k 5. Конец
Какое свойство алгоритма нарушено?
Варианты ответа:
- Результативность
- Конечность
- Дискретность
- Массовость
- Детерминированность
Объяснение свойств алгоритма:
- Конечность: Алгоритм должен завершаться за конечное число шагов.
- Результативность: Алгоритм должен приводить к определённому результату. Если результат не может быть получен (например, из-за ошибки), то это нарушение результативности.
- Массовость (или универсальность): Алгоритм должен быть применим для решения целого класса задач, то есть для различных наборов исходных данных.
- Детерминированность (или определённость): Каждый шаг алгоритма должен быть чётко и однозначно определён, не допуская произвольных толкований.
- Дискретность (или прерывность): Алгоритм должен состоять из отдельных, чётко определённых шагов.
Рассмотрим данный алгоритм:
На шаге 4 происходит деление -b/k. Что произойдет, если пользователь введет k = 0?
Деление на ноль является математически неопределенной операцией. В программировании это приводит к ошибке (например, "деление на ноль"), и программа аварийно завершится, не выдав корректного результата.
В случае, когда \(k=0\), уравнение \(kx+b=0\) превращается в \(0 \cdot x + b = 0\), то есть \(b=0\).
- Если \(k=0\) и \(b=0\), то уравнение \(0=0\) имеет бесконечно много решений.
- Если \(k=0\) и \(b \ne 0\), то уравнение \(b=0\) не имеет решений.
В обоих этих случаях данный алгоритм не сможет выдать корректный результат или вообще завершиться. Это означает, что алгоритм не всегда приводит к определённому результату для всех допустимых входных данных.
Таким образом, нарушается свойство результативности.
Правильный ответ:
Результативность
