Последовательность команд исполнителя
Последовательность команд исполнителя — это команды алгоритма, записанные в определённом порядке. Исполнитель выполняет их одну за другой, и каждая команда изменяет или сохраняет его текущее состояние.
Как получить конечное состояние
Сначала нужно зафиксировать начальное состояние: например, координаты исполнителя, направление движения, значения переменных или положение объекта. Затем команды выполняют строго сверху вниз. После каждой команды полезно записывать новое состояние, особенно если в алгоритме много шагов или встречаются повторения.
Здесь \(S_0\) — начальное состояние, \(C_i\) — очередная команда, а \(S_n\) — состояние после выполнения всей последовательности. Если команда не меняет некоторую характеристику, её значение сохраняется.
Пусть исполнитель находится в точке \((0,0)\), смотрит вправо, а команда «вперёд на 3» увеличивает координату \(x\) на 3. Последовательность: «вперёд на 3; повернуть налево; вперёд на 2». После первой команды положение \((3,0)\), после поворота направление — вверх, после третьей команды положение \((3,2)\). Конечное состояние: координаты \((3,2)\) и направление вверх.
Последовательность команд — это не программа для исполнителя целиком, если программа содержит циклы и условия. При разборе такой программы сначала раскрывают фактический порядок выполняемых команд, а затем отслеживают изменения состояния. Нельзя переставлять команды местами: даже одинаковые команды могут дать другой результат.
Исполнитель начал в точке \((1,2)\). Команда «вправо на 4» увеличивает \(x\) на 4, а команда «вверх на 3» увеличивает \(y\) на 3. Где он окажется после последовательности «вверх на 3; вправо на 4»?
Практический приём
Для проверки решения составьте трассировочную таблицу: в первой строке укажите начальное состояние, а в следующих — номер команды и состояние после её выполнения. Такой способ помогает заметить пропущенную команду, ошибку в знаке или неправильный порядок действий.
Главное
- Команды выполняются строго по порядку, начиная с первой.
- Конечное состояние определяется начальным состоянием и результатом каждой команды.
- Для сложных последовательностей используйте трассировочную таблицу.