Свойства алгоритма
💻 Информатика · 7 класс
Что такое свойства алгоритма
Алгоритм — это точное и понятное предписание исполнителю выполнить конечную последовательность действий, ведущую к решению задачи. Чтобы предписание действительно было алгоритмом, оно должно обладать пятью обязательными свойствами. Если хотя бы одно из них нарушено, перед нами не алгоритм, а простой набор фраз, который исполнитель не сможет выполнить однозначно.
Пять свойств алгоритма
Дискретность означает, что алгоритм разбит на отдельные завершённые шаги. Каждый следующий шаг начинается только после того, как закончился предыдущий. Нельзя выполнить часть алгоритма «в общем» — только по шагам.
Понятность требует, чтобы все команды входили в систему команд исполнителя. Робот, который умеет только двигаться вперёд и поворачивать, не поймёт команду «нарисуй круг».
Определённость (детерминированность) означает, что каждая команда понимается однозначно и не допускает разных толкований. При одних и тех же исходных данных результат всегда один и тот же.
Результативность (конечность) гарантирует, что алгоритм завершится за конечное число шагов и даст результат. Зацикленное предписание результативностью не обладает.
Массовость — это применимость алгоритма к целому классу однотипных задач, а не к одной-единственной. Алгоритм деления столбиком работает для любых чисел.
| Свойство | Что означает | Пример нарушения |
|---|---|---|
| Дискретность | Деление на шаги | «Сделай красиво» одним действием |
| Понятность | Команды из системы команд | Незнакомая исполнителю команда |
| Определённость | Однозначность | «Иди примерно туда» |
| Результативность | Конечный результат | Бесконечный цикл |
| Массовость | Класс задач | Решение только для числа 5 |
Разбор примера
Проверим предписание для исполнителя-чертёжника на наличие свойств:
1. Опусти перо
2. Сдвинься на 3 клетки вправо
3. Сдвинься на 3 клетки вниз
4. Подними перо
Здесь есть дискретность (четыре шага), понятность (команды известны чертёжнику), определённость (числа заданы точно), результативность (четыре шага и стоп). Массовость частична: меняя числа, получим разные отрезки.
Частая ошибка. Ученики путают определённость и результативность. Определённость — про однозначность команд, результативность — про обязательное завершение с ответом. Это разные требования.
Почему свойства важны для исполнителя
Исполнитель — это человек, животное или устройство, способное выполнять команды. У каждого исполнителя есть своя система команд — набор действий, которые он умеет выполнять. Свойства алгоритма гарантируют, что любой исполнитель с подходящей системой команд получит один и тот же верный результат, не задумываясь о смысле задачи. Именно поэтому компьютер, который не понимает смысла, всё же безошибочно выполняет программу: она составлена с соблюдением всех пяти свойств.
Рассмотрим ещё один пример — бытовой алгоритм перехода дороги по светофору:
1. Подойди к переходу
2. Если горит красный — жди
3. Если горит зелёный — переходи
4. Дойди до другой стороны
Здесь шаги дискретны, команды понятны, действия определены условием, результат достигается за конечное число шагов, а сам алгоритм применим к любому светофору — то есть обладает массовостью. Так свойства проявляются даже в повседневных предписаниях.
Кратко о главном
- Алгоритм обязан обладать пятью свойствами одновременно.
- Дискретность — деление на отдельные шаги.
- Понятность — команды входят в систему команд исполнителя.
- Определённость — однозначное толкование каждой команды.
- Результативность — конечное число шагов и результат.
- Массовость — применимость к классу задач.