Исполнители и роботы: как понимать команды и состояние
Исполнитель — это объект, который умеет выполнять ограниченный набор команд. В школьной информатике встречаются роботы на клетчатом поле, черепаха, чертежники и абстрактные…
Исполнитель — это объект, который умеет выполнять ограниченный набор команд. В школьной информатике встречаются роботы на клетчатом поле, черепаха, чертежники и абстрактные исполнители с регистрами.
Главная идея: исполнитель не “думает” сам. Он выполняет команды строго по правилам. Поэтому задача сводится к состоянию и последовательности действий.
Модель робота на линии
Представим робота, который стоит в точке 0 и умеет двигаться влево и вправо.
position = 0
commands = 'RRLRR'
for command in commands:
if command == 'R':
position += 1
elif command == 'L':
position -= 1
print(position)Такой пример показывает состояние исполнителя: переменная position меняется после каждой команды.
Поле с координатами
На плоскости состояние может состоять из двух координат.
x = 0
y = 0
commands = 'URDL'
for command in commands:
if command == 'U':
y += 1
elif command == 'D':
y -= 1
elif command == 'R':
x += 1
elif command == 'L':
x -= 1
print(x, y)Как решать задачи на исполнителей
- Выпишите команды исполнителя.
- Определите, какие переменные описывают состояние.
- Проследите маленький пример вручную.
- Проверьте, нет ли запретных клеток, стен или ограничений.
- Только потом пишите программу или таблицу переходов.
Задачи на исполнителей развивают аккуратность. Они учат видеть программу как последовательность изменений состояния, а это важно и для Python, и для олимпиад, и для экзаменационных задач по информатике.
Источники
- Босова Л.Л. Информатика. Базовый курс: учебник для 7-9 классов. - М.: БИНОМ. Лаборатория знаний.
- Поляков К.Ю., Еремин Е.А. Информатика. 10-11 классы. Углубленный уровень.
- Python Documentation: The Python Tutorial.