Определённость алгоритма
Определённость алгоритма означает, что на каждом шаге точно понятно, какое действие нужно выполнить и каким будет следующий шаг. Благодаря этому алгоритм можно выполнять без догадок и разного толкования.
Что означает определённость
Команды алгоритма должны быть понятны исполнителю и допускать только один способ выполнения. Если исполнитель находится в некотором состоянии, следующая команда должна определяться этим состоянием и условиями алгоритма, а не личным выбором исполнителя.
Определённость особенно важна при записи алгоритма для компьютера: машина не умеет уточнять смысл расплывчатых указаний. Команда «выбери подходящее число» не является определённой, если не сказано, по какому правилу выбирать. Команда «выбери наименьшее из двух чисел» определена однозначно.
Неопределённая команда: «Перейди через дорогу быстро». Непонятно, что считать быстрым переходом и когда именно переходить. Определённая последовательность: «Дождись зелёного сигнала светофора. Посмотри налево и направо. Если автомобилей нет, перейди дорогу по переходу».
Дискретность алгоритма означает разбиение выполнения на отдельные шаги. Свойства алгоритма включают несколько разных требований: определённость, дискретность, конечность и другие. Алгоритм может состоять из отдельных шагов, но быть неопределённым, если команда шага допускает разные толкования.
Какая команда обладает свойством определённости?
Зачем нужна определённость
Определённость позволяет разным исполнителям получить одинаковый результат, если они начинают с одинаковыми исходными данными и точно выполняют команды. Она также делает возможными запись алгоритма на формальном языке, его проверку и имитацию работы алгоритма.
Главное
- Каждый шаг алгоритма должен иметь однозначный смысл.
- Следующее действие определяется правилами алгоритма, а не догадкой исполнителя.
- Определённость — отдельное свойство; её не следует смешивать с дискретностью и другими свойствами.