Решение задания 23 ЕГЭ по информатике через Excel

Решение 23 задания ЕГЭ по информатике через Excel базируется на построении таблицы смежности и расчете количества путей от стартовой вершины к финишной, используя рекуррентную зависимость количества путей от суммы путей в предыдущих вершинах. В отличие от ручного перебора вариантов, который занимает много времени и часто приводит к арифметическим ошибкам, табличный процессор позволяет автоматизировать подсчет путей для графов со сложной структурой или большим количеством вершин. Суть метода заключается в том, что количество программ, приводящих исполнителя в конкретную точку, равно сумме программ, приводящих во все точки, из которых возможен переход в данную.

Для успешной реализации этого подхода необходимо внимательно проанализировать условия задачи, где исполнитель может иметь команды прибавления числа или умножения, а также ограничения на траекторию движения. Рекуррентная формула в ячейках Excel будет выглядеть как сумма ссылок на ячейки предыдущих состояний, которые могут привести к текущему. Если в задаче есть ограничения (например, нельзя посещать определенные числа или нужно обязательно пройти через конкретную точку), структура таблицы и формулы корректируется соответствующим образом, исключая невозможные переходы.

Использование электронных таблиц особенно эффективно, когда диапазон чисел велик, но дискретен, или когда структура графа путей имеет множество пересечений. Microsoft Excel или его бесплатные аналоги вроде LibreOffice Calc идеально подходят для визуализации этих связей. Важно понимать, что мы не моделируем сам процесс выполнения программы пошагово, а вычисляем комбинаторное количество таких программ, опираясь на принцип динамического программирования, реализованный через формулы в ячейках.

Анализ структуры задачи и подготовка графа

Первым шагом в алгоритме решения является перевод текстового условия задачи в формализованный вид графа или таблицы переходов. Исполнитель, будь то «Умножатель», «Прибавитель» или черепашка, перемещается по числовой оси или сетке, и каждое его действие — это ребро графа. Необходимо четко определить начальную точку (обычно число 1 или координата 1,1) и конечную точку, до которой нужно добраться. Без точного понимания допустимых команд построение корректной модели в Excel невозможно.

Часто в заданиях встречаются ограничения на траекторию, например, запрет на посещение определенных чисел или требование обязательно посетить конкретную вершину. В таких случаях при построении таблицы в Excel мы просто не будем создавать ячейки для запрещенных чисел или будем считать количество путей до них равным нулю. Если требуется обязательное прохождение через точку C, задача разбивается на две подзадачи: подсчет путей от Start до C и от C до Finish, результаты которых затем перемножаются.

Для сложных графов, где переходы нелинейны (например, команды «+1» и «*2»), удобно составлять список всех достижимых чисел в порядке возрастания. Это позволяет заполнять таблицу Excel последовательно, гарантируя, что к моменту расчета значения для текущего числа, все значения для предыдущих чисел, из которых возможен переход, уже вычислены. Логическая структура задачи диктует порядок заполнения ячеек: от меньшего к большему или от старта к финишу.

⚠️ Внимание: Ошибки в определении направления стрелок графа (откуда куда идет переход) являются самой частой причиной неверного ответа. Внимательно читайте команды исполнителя: команда «Прибавь 2» означает переход от N к N+2, а не наоборот.

Настройка рабочего листа и нумерация вершин

После анализа условий переходим к созданию рабочего файла. В первой строке или столбце необходимо разместить нумерацию всех возможных состояний (чисел или координат), через которые может проходить исполнитель. Если исполнитель работает с числами от 1 до 20, создаем заголовки столбцов или строк от 1 до 20. Для задач с координатами (сетка) создаем двумерную таблицу, где строки соответствуют одной координате, а столбцы — другой.

В ячейку, соответствующую начальному состоянию, записываем единицу, так как существует ровно один способ оказаться в стартовой точке в начале выполнения программы — это сделать ноль шагов. Это базовое значение, от которого будет расти количество путей. Все остальные ячейки изначально могут быть пустыми или содержать нули, которые впоследствии будут заменены формулами.

При работе с большими числами или сложными командами (например, «умножь на 3») нумерация может быть разреженной. В таком случае не обязательно создавать ячейки для всех чисел подряд, можно использовать только те, которые достижимы. Однако для стандартных задач ЕГЭ, где диапазон чисел невелик (обычно до 50-100), удобнее создать сплошной ряд ячеек для наглядности. Адресация ячеек должна быть понятной, чтобы не запутаться при написании формул.

📊 Какой тип исполнителя вызывает у вас больше всего трудностей?
Однокомандный (+N)
Двухкомандный (+N, *M)
Работающий в двумерном поле
С ограничениями на траекторию

Реализация рекуррентных формул в Excel

Ключевой момент решения — запись формулы в ячейке текущего состояния. Количество путей в текущую ячейку равно сумме путей из всех ячеек, из которых можно сделать один шаг и попасть в текущую. Например, если исполнитель умеет прибавлять 1 и 2, то для числа 5 пути ведут из 4 (5-1) и из 3 (5-2). Соответственно, формула в ячейке для числа 5 будет суммой значений ячеек 4 и 3.

В Excel это реализуется через функцию СУММ или оператор + с ссылками на соответствующие ячейки. Если вы используете строку для чисел, и число 5 находится в ячейке E2, а числа 3 и 4 в C2 и D2 соответственно, то формула будет выглядеть как =C2+D2. При копировании этой формулы вправо (для следующих чисел) ссылки автоматически сместятся, что значительно ускоряет процесс заполнения таблицы.

Для задач с умножением логика остается той же, но ссылки будут не на соседние ячейки. Если есть команда «умножь на 2», то для числа 10 нужно добавить значение из ячейки с числом 5. Таким образом, формула может объединять ссылки на ячейки, находящиеся на разном расстоянии друг от друга. Главное — соблюдать принцип: суммируем количество путей из всех возможных предыдущих состояний.

☑️ Чек-лист правильной формулы

Выполнено: 0 / 1

Учет ограничений и обязательных точек

В заданиях повышенной сложности часто встречаются условия, запрещающие прохождение через определенные числа. В таблице Excel это реализуется просто: в ячейку, соответствующую запрещенному числу, мы пишем 0 или ставим прочерк, и никакие формулы из последующих ячеек не должны на нее ссылаться (или она сама не должна суммироваться). Фактически, мы обрываем цепочку путей в этой точке.

Если в условии сказано, что траектория должна обязательно проходить через определенное число, задача решается в два этапа или с использованием фильтра. Первый способ: посчитать количество путей от старта до обязательной точки, затем от обязательной точки до финиша (считая её новым стартом с единицей) и перемножить результаты. Второй способ более визуален: при расчете путей до обязательной точки ведем себя обычно, а после прохождения этой точки игнорируем пути, которые пришли в обход неё (хотя в стандартной постановке задачи «обязательно через точку» обычно решается умножением результатов двух независимых отрезков).

Особое внимание следует уделить задачам, где исполнитель может двигаться только в определенных направлениях (например, только вправо и вниз). В таких случаях формула в Excel учитывает только те ячейки, которые находятся слева или сверху от текущей. Это автоматически отсекает невозможные возвраты назад. Критически важно не добавить в формулу лишние слагаемые из ячеек, переход из которых в текущую запрещен правилами исполнителя.

Тип команды Предыдущие состояния (источники) Пример формулы Excel (для ячейки N) Комментарий
Прибавь 1, Прибавь 2 N-1, N-2 =A(N-1)+A(N-2) Сумма двух предыдущих ячеек
Прибавь 1, Умножь на 2 N-1, N/2 (если четное) =A(N-1)+A(N/2) Проверка на четность не нужна в ссылке, просто ссылаемся
Вправо, Вниз (сетка) Сосед слева, Сосед сверху =Сосед_Слева + Сосед_Сверху Классическая задача о путях в прямоугольнике
Запрет на число K Любые, кроме ведущих в K 0 (в ячейке K) Пути обрываются, дальше не идут

Типичные ошибки и способы их устранения

Одной из самых распространенных ошибок является неправильное определение «предыдущих» состояний. Ученики часто путают, из какого числа можно попасть в текущее, и в какое можно перейти из текущего. В методе динамического программирования, который мы реализуем в Excel, мы всегда смотрим «назад»: кто мог прийти ко мне? Если команды исполнителя «+1» и «+2», то в число 10 можно попасть из 9 и 8, а не из 11 и 12.

Другая частая проблема — игнирование условий, при которых команда неприменима. Например, команда «раздели на 2» применима только к четным числам. Если в задаче встречается обратная логика (исполнитель идет от большого к малому), то для нечетного числа переход делением невозможен, и в формуле это слагаемое должно отсутствовать или быть равным нулю. В Excel это решается аккуратным подбором ссылок.

Также стоит упомянуть ошибку «потери единицы». Забыв поставить единицу в стартовую ячейку, вы получите нулевой результат во всей таблице, так как сумма нулей дает ноль. Всегда начинайте расчет с базового случая: один способ находиться в начале. Проверка первого шага (ручной расчет для первых 2-3 чисел) помогает убедиться в правильности составленной формулы перед ее протягиванием на весь диапазон.

⚠️ Внимание: При копировании формул следите за типами ссылок. В большинстве случаев нужны относительные ссылки, чтобы они смещались вместе с ячейкой. Использование абсолютных ссылок ($) без необходимости приведет к одинаковым значениям во всех ячейках.

Альтернативные методы и проверка результата

Хотя Excel является мощным инструментом, для простых графов с небольшим количеством вершин (до 10-15) часто быстрее и надежнее решить задачу вручную, рисуя стрелочки и подписывая количества путей прямо на черновике. Метод с таблицей оправдан, когда чисел много (до 50 и выше) или когда структура связей запутана и визуальный метод приводит к каше из стрелок.

Проверка результата возможна через оценку порядка величины. Количество путей в подобных задачах обычно растет экспоненциально или по закону чисел Фибоначчи. Если вы получили результат 2 или 1000000 там, где ожидалось число в пределах 100-500, стоит перепроверить формулы. Также полезно проверить крайние случаи: если запрещены все пути кроме одного, результат должен быть 1.

Для задач, где исполнитель работает с координатами на плоскости (двумерный массив), принцип остается тем же, но формула суммирует ячейку сверху и ячейку слева. В Excel это решается созданием таблицы, где строки — это одна координата, а столбцы — другая. Заполнение идет построчно или по столбцам, гарантируя, что к моменту расчета текущей ячейки нужные соседи уже заполнены.

Секрет скорости

Используйте автозаполнение (протягивание маркера заполнения) только после проверки первой скопированной формулы. Если в задаче есть разрывы (не все числа достижимы), лучше прописывать формулы вручную или использовать функцию ЕСЛИОШИБКА, чтобы не суммировать лишнее.

Закрепление навыков и тренировка

Навык быстрого перевода условия задачи в структуру таблицы Excel приходит с практикой. Рекомендуется взять 5-7 задач из открытого банка ФИПИ разных лет и решить их обоими методами: ручным построением графа и через Excel. Сравнение результатов и затраченного времени поможет выбрать оптимальную стратегию для экзамена, где каждая минута на счету.

Если экзамен проходит на компьютере с доступом к табличному процессору — метод незаменим. Если же вы сдаете экзамен на бумаге, этот метод можно использовать ментально, представляя таблицу, или быстро начертив сетку на черновике.

Владение этим методом дает существенное преимущество в скорости и точности. Пока другие ученики запутываются в стрелочках графа, вы спокойно вводите формулу и получаете ответ. Главное — не паниковать, если числа большие, и доверять логике рекуррентного пересчета, заложенной в алгоритме динамического программирования.

Что делать, если в задаче три команды исполнителя?

Логика не меняется. Если команды, например, «+1», «+2» и «+3», то в формуле для ячейки N вы просто суммируете значения ячеек N-1, N-2 и N-3. Формула станет длиннее, но принцип останется тем же: сумма всех возможных предыдущих состояний.

Можно ли решать 23 задание без Excel на экзамене?

Да, можно и часто нужно. Метод динамического программирования («метод помеченных вершин») работает и на бумаге. Вы рисуете кружочки (числа) и стрелочки, а рядом с каждым кружком пишете сумму чисел, стоящих у начала стрелок, ведущих в этот кружок. Excel просто заменяет бумагу и калькулятор.

Как быть, если исполнитель может «разделять» число?

В таких задачах обычно даны команды «прибавь» или «умножь», идя от меньшего к большему. Если стоит команда «раздели», значит, мы идем от большего к меньшему, или нужно инвертировать логику: в число 10 можно попасть из 20 командой «раздели на 2». Тогда при расчете путей для 20 мы будем смотреть на 10. Направление стрелок графа определяет, откуда брать слагаемые.

Почему ответ получается слишком большим?

Количество путей растет очень быстро. Если в задаче около 30-40 шагов и две команды, ответ может исчисляться тысячами или миллионами. Это нормально для комбинаторики. Главное, чтобы вы не перепутали операции (например, не перемножили там, где нужно сложить).