Задание 15 ОГЭ: короткий алгоритм в разных средах исполнения

Подтемы

Что проверяет задание

Задание 15 ОГЭ проверяет умение мысленно (или на бумаге) выполнить короткий алгоритм — набор команд для формального исполнителя или простую программу с переменными — и определить результат его работы. Это может быть:

  • алгоритм с числовыми переменными (присваивание, арифметика, условия, циклы);
  • исполнитель, двигающийся по клетчатому полю (Робот, Чертёжник, Черепаха);
  • обработка строки символов или последовательности чисел.

Задание проверяет базовую алгоритмическую грамотность: способность точно, без ошибок, «прокрутить» алгоритм в голове, следить за изменением значений переменных и понимать формальную семантику команд — без реального программирования.

Как выглядит формулировка и сколько баллов

Типичные формулировки:

  • «Определите значение переменной xx после выполнения алгоритма»;
  • «Исполнитель Робот выполняет систему команд… Какую последовательность команд нужно дать Роботу, чтобы он дошёл из клетки А в клетку Б»;
  • «Дан алгоритм для исполнителя Чертёжник. Определите, где окажется исполнитель после выполнения команд».

Задание оценивается в 1 балл. Ответ обычно вводится в виде числа, слова или короткой последовательности команд без пробелов. Ответ должен быть записан строго в требуемом формате — иначе он не засчитывается автоматически, даже если решение верное по сути.

Что нужно знать

  • Присваивание — команда вида x:=x+5x := x + 5 означает: взять текущее значение xx, добавить 5, результат снова записать в xx.
  • Арифметические операции и порядок их выполнения: сначала умножение и деление, затем сложение и вычитание, скобки — в первую очередь.
  • Целочисленное деление и остаток от деления: a÷ba \div b — целая часть, amod  ba \mod b — остаток. Например, 17÷5=317 \div 5 = 3, 17mod  5=217 \mod 5 = 2.
  • Цикл «повторить N раз» — команда внутри цикла выполняется ровно NN раз подряд.
  • Цикл «пока условие выполняется» — тело цикла повторяется до тех пор, пока условие истинно; нужно проверять условие перед каждым повторением.
  • Условная команда «если — то — иначе» — выполняется только та ветвь, для которой условие истинно.
  • Система команд исполнителя — фиксированный набор действий (например, «вперёд», «направо», «закрасить», «сотри»), каждое из которых имеет точное формальное описание и допустимые условия применения (например, Робот не может пройти через стену).
  • Координатная сетка исполнителя — часто удобно ввести систему координат (x;y)(x; y) и описывать перемещение как изменение координат: команда «вправо» — x:=x+1x := x+1, «вверх» — y:=y+1y := y+1 и т. п.

Методы решения

1. Метод трассировочной таблицы. Заводится таблица со столбцами: номер шага, команда, значения всех переменных. После каждой команды значения обновляются.

Пример: дан алгоритм x := 3; x := x * 2; x := x + 1. Таблица:

Шаг Команда xx
1 x := 3 3
2 x := x*2 6
3 x := x+1 7

Итог: x=7x = 7.

2. Метод развёртки цикла «повторить N раз». Цикл заменяется на явную последовательность одинаковых действий, повторённых NN раз, после чего каждое действие выполняется по порядку.

Пример: «Повторить 3 раза: x:=x+2x := x + 2», начальное x=1x = 1. Развёртка: x=1→3→5→7x=1 \to 3 \to 5 \to 7. Итог: x=7x=7.

3. Метод пошагового отслеживания координат исполнителя. Каждая команда движения меняет координату (x;y)(x;y) на фиксированную величину; координаты записываются после каждой команды.

Пример: Робот в клетке (2;2)(2;2). Команды: «вверх, вверх, вправо». Координаты: (2;2)→(2;3)→(2;4)→(3;4)(2;2)\to(2;3)\to(2;4)\to(3;4).

4. Метод проверки условия на каждом шаге цикла «пока». Перед каждым выполнением тела цикла условие проверяется заново; если оно ложно — цикл завершается немедленно, даже если это первая проверка.

Пример: «пока x<10x < 10 повторять: x:=x+3x := x+3», начальное x=8x=8. Проверка: 8<108<10 — истина, x:=11x:=11. Проверка: 11<1011<10 — ложь, цикл завершён. Итог: x=11x=11.

5. Метод символьной замены для строковых алгоритмов. Если алгоритм обрабатывает строку (например, заменяет символы или переставляет их), удобно выписать строку по буквам и применять команду последовательно к каждому символу или к нужному фрагменту.

Пример: строка АБВ, команда «поменять местами 1-й и 3-й символ» даёт ВБА.

Алгоритм решения по шагам

  1. Определите тип алгоритма: числовой, координатный (движение исполнителя) или строковый.
  2. Зафиксируйте начальные данные: начальное значение переменной, начальную позицию исполнителя, исходную строку.
  3. Выпишите все команды алгоритма по порядку, обращая внимание на скобки (начало и конец цикла, начало и конец условия).
  4. Постройте трассировочную таблицу или последовательность состояний, применяя команды одну за другой, ничего не пропуская.
  5. Для циклов — определите тип цикла («N раз» или «пока»), корректно посчитайте число повторений или проверяйте условие на каждом шаге.
  6. Для условных команд — проверьте условие на конкретных числовых значениях и выберите нужную ветвь.
  7. Зафиксируйте финальное состояние — итоговое значение переменной, итоговую позицию или итоговую строку.
  8. Сверьте формат ответа с требованием задания (число, слово, последовательность команд без пробелов) и запишите ответ.

Разбор примеров

Пример 1. Числовой алгоритм с циклом

Условие: дана переменная xx, начальное значение x=5x = 5. Алгоритм:

повторить 4 раза: x:=x⋅2−1\text{повторить 4 раза: } x := x \cdot 2 - 1

Определить итоговое значение xx.

Шаг 1. Тип алгоритма — числовой, цикл «повторить N раз», N=4N=4.

Шаг 2. Начальное значение x=5x=5.

Шаг 3. Разворачиваем цикл в 4 одинаковых действия: x:=2x−1x := 2x-1 выполняется четыре раза подряд.

Шаг 4. Строим трассировочную таблицу:

Повторение Вычисление xx
начало — 5
1 2⋅5−12\cdot5-1 9
2 2⋅9−12\cdot9-1 17
3 2⋅17−12\cdot17-1 33
4 2⋅33−12\cdot33-1 65

Шаг 5. Итоговое значение x=65x = 65.

Ответ: 65.

Пример 2. Движение исполнителя по координатной сетке

Условие: исполнитель Робот находится в клетке с координатами (1;1)(1;1). Система команд: «вверх» — увеличивает yy на 1, «вправо» — увеличивает xx на 1. Дана программа:

повторить 2 раза [вправо, вверх, вверх]; вправо\text{повторить 2 раза [вправо, вверх, вверх]; вправо}

Определить конечные координаты Робота.

Шаг 1. Тип алгоритма — координатный, содержит цикл «повторить 2 раза» с телом из трёх команд, после цикла — ещё одна отдельная команда.

Шаг 2. Начальные координаты (1;1)(1;1).

Шаг 3. Разворачиваем цикл: тело [вправо, вверх, вверх] выполняется 2 раза подряд, затем выполняется команда «вправо».

Полная развёрнутая последовательность команд:

вправо, вверх, вверх, вправо, вверх, вверх, вправо

Шаг 4. Прослеживаем координаты после каждой команды:

Команда (x;y)(x;y)
старт (1;1)(1;1)
вправо (2;1)(2;1)
вверх (2;2)(2;2)
вверх (2;3)(2;3)
вправо (3;3)(3;3)
вверх (3;4)(3;4)
вверх (3;5)(3;5)
вправо (4;5)(4;5)

Шаг 5. Итоговые координаты (4;5)(4;5).

Ответ: (4; 5).

Пример 3. Алгоритм с условием и остатком от деления

Условие: дана переменная x=27x = 27. Алгоритм:

если xmod  5=0, то x:=x÷5, иначе x:=x+3\text{если } x \mod 5 = 0 \text{, то } x := x \div 5 \text{, иначе } x := x + 3

эта команда выполняется дважды подряд (то есть весь блок «если—то—иначе» повторяется 2 раза). Определить итоговое значение xx.

Шаг 1. Тип алгоритма — числовой, с условием, выполняемым 2 раза подряд.

Шаг 2. Начальное значение x=27x=27.

Шаг 3 (первое выполнение). Проверяем условие: 27mod  527 \mod 5. Так как 27=5⋅5+227 = 5\cdot5+2, остаток равен 2, условие xmod  5=0x \mod 5 = 0 ложно. Выполняем ветвь «иначе»: x:=x+3=30x := x+3 = 30.

Шаг 4 (второе выполнение). Проверяем условие для нового значения x=30x=30: 30mod  5=030 \mod 5 = 0 — условие истинно. Выполняем ветвь «то»: x:=x÷5=6x := x \div 5 = 6.

Шаг 5. Итоговое значение x=6x=6.

Ответ: 6.

Типичные ошибки и ловушки

  • Путаница между ÷\div (целочисленное деление) и обычным делением. Если в алгоритме используется целочисленное деление, дробная часть просто отбрасывается, округления не происходит.
  • Неверный подсчёт числа повторений цикла «повторить N раз». Легко один раз пропустить или добавить лишнее повторение — всегда явно разворачивайте цикл в список действий.
  • Проверка условия цикла «пока» после выполнения тела, а не перед ним. Условие должно проверяться до каждого повторения, включая самое первое.
  • Использование старого значения переменной вместо обновлённого при выполнении следующей команды — каждое новое действие применяется к уже изменённому значению.
  • Неправильное направление осей координат — важно заранее зафиксировать, в какую сторону увеличивается xx и yy, иначе координаты движения запишутся с противоположным знаком.
  • Ошибки в скобках цикла — если границы цикла (что входит в тело, а что выполняется после цикла) определены неверно, вся трассировка сдвигается.
  • Несоответствие формата ответа — например, если требуется записать координаты без пробела или последовательность команд слитно, а ответ дан с лишними символами.

Как готовиться

  • Регулярно решайте задания на трассировку алгоритмов с числовыми переменными, обязательно оформляя пошаговую таблицу — не пытайтесь считать в голове без записи.
  • Отдельно потренируйтесь на задачах с исполнителями (Робот, Чертёжник, Черепаха): выучите системы их команд и всегда рисуйте или явно записывайте координаты после каждого шага.
  • Разберите разницу между циклами «повторить N раз» и «пока», решив по 5–10 задач на каждый тип, чтобы автоматически различать правила подсчёта повторений.
  • Потренируйтесь на задачах с условными командами, проверяя условие именно на текущем (а не на исходном) значении переменной.
  • После решения каждой задачи проверяйте формат ответа — число, слово или последовательность символов — и сверяйте его с требованием формулировки.
  • Решайте задачи на время: задание короткое, но требует аккуратности, поэтому нужно довести навык трассировки до автоматизма, чтобы не тратить на него больше 2–3 минут на экзамене.