Как читать код на ЕГЭ по информатике: трассировка, циклы, и другие задания
19
Чтение кода по-человечески

** изображение создано или обработано с помощью ИИ.
«Чтение кода для ЕГЭ по информатике» звучит как лозунг спасателей. Я бы напечатал его на кружке. Несколько лет разбираю задания со школьниками и видел всё: дрожащие руки, злые циклы, обиженные переменные. Сам когда-то путался в чужом коде и думал: «Кто это написал и почему он меня не любит?»
Хорошая новость: чтение кода не требует магии. Оно требует спокойного темпа и привычки замечать детали. На ЕГЭ проверяют
не гениальность программиста, а внимательность. Нужно понять, что делает программа, шаг за шагом, без пропусков.
Плохая новость: мозг любит додумывать. Он видит знакомый фрагмент и кричит: «Да я понял!» А потом пропускает условие, знак сравнения или границу цикла. Так рождаются ошибки на ровном месте.
Я говорю ученикам: «Не спорь с кодом. Он упрямее тебя». Код выполняет только то, что написано. Не то, что хотел автор. Не то, что нам кажется красивым и логичным. Только команды, строго по порядку.
Наша задача: научиться читать программу как инструкцию для очень буквального робота. Робот не понимает намёков. Зато он честно выполняет каждую строку. И это нам на руку.
Сначала пойми сюжет, потом считай

** изображение создано или обработано с помощью ИИ.
Перед вычислениями полезно спросить себя: «Что вообще происходит?» Не нужно сразу хвататься за таблицу. Сначала найдите входные данные, переменные и результат. Это как знакомство с персонажами сериала — без него третий сезон будет болью.
Я делю чтение кода на три прохода. Первый проход — обзорный. Смотрю на структуру: ввод, цикл, условия, вывод. Второй проход — смысловой. Понимаю, что именно меняется внутри. Третий проход — точный. Уже считаю конкретные значения.
— Я сразу считаю, так быстрее?
— Быстрее ошибиться, да.
— Обидно.
— Зато честно.
Если программа маленькая, соблазн пренебречь анализом велик. Но даже в пяти строках прячутся ловушки. Переменная может обновляться после проверки условия. Цикл может стартовать не с нуля. А если счётчик меняют внутри тела цикла — это отдельный вид удовольствия.
Сначала ищите цель. Программа считает сумму? Ищет максимум? Фильтрует числа? Меняет строки? Ответ на этот вопрос задаёт маршрут. Без него вы просто бродите по символам без направления.
Мини-инструкция для первого взгляда на код:
- найдите, какие данные попадают в программу;
- отметьте переменные, которые меняются со временем;
- посмотрите, где находится вывод;
- поймите, сколько раз выполняется цикл;
- отдельно проверьте сложные условия с союзами «и» и «или».
Этот перечень действий выглядит скучным, но он спасает, как ремень безопасности — не героически, зато помогает доехать.
Таблица трассировки: скучно, зато работает

** изображение создано или обработано с помощью ИИ.
Трассировка — это ручное выполнение программы по строкам на бумаге. Звучит как наказание, но работает отлично. Я сам долго сопротивлялся, хотел читать код «глазами опытного волка». Волк, правда, регулярно путал i и j.
Таблица делает мышление видимым. В левом столбце — номер шага. Дальше — значения переменных после каждого действия. Отдельно фиксируйте результат проверки условия. Если программа что-то выводит на экран, добавляйте столбец для вывода.
Главное правило: не перескакивайте через строки, даже если команда кажется очевидной. Особенно если она кажется очевидной. В такие моменты код обычно подмигивает и ставит подножку.
Пример. Переменная s накапливает сумму. Цикл перебирает числа. Условие добавляет число к сумме, только если оно подходит под критерий. Здесь важно соблюдать порядок: сначала проверка, потом сложение. Если перепутать, результат изменится.
Ко мне пришёл как-то девятиклассник Артём. Он уверенно решал задачи, но терял баллы при чтении готовых программ. Мы взяли его тетрадь и обнаружили, что в каждой ошибке была одна причина. Он записывал новое значение переменной раньше времени, пропуская промежуточные шаги.
После недели тренировок с трассировкой он сказал: «Это как бухгалтерия, только без серого пиджака». И стал решать заметно стабильнее. Не держите в голове больше двух значений одновременно. Бумага дешевле нервов. На экзамене черновик существует не для красоты — используйте его смело.
Циклы и условия без театра ужасов

** изображение создано или обработано с помощью ИИ.
Основная трудность циклов — не в их логике, а в утомлении от повторяющихся действий. Глаз быстро устаёт, внимание рассеивается. Здесь помогает один простой вопрос, который нужно задать себе прежде, чем начинать подсчёты: «Сколько раз этот цикл выполнится?» Без чёткого ответа лучше не двигаться дальше, иначе легко потерять верный ход.
У каждого цикла есть три ключевых элемента. Во-первых, начальное значение счётчика. Во-вторых, условие, при котором цикл продолжает работать. В-третьих, изменение счётчика на каждом шаге. Если какой-то из этих элементов явно не записан (например, счётчик задан через range в Python или неявно изменяется внутри цикла), найдите его до того, как начнёте разбор.
Очень частая ошибка — придумать лишний шаг, которого на самом деле нет. Если цикл идёт «до какого-то числа», обязательно проверьте, входит ли это число в выполнение. В разных языках и разных конструкциях границы обрабатываются по-разному. Ориентируйтесь не на общее представление, а на конкретный синтаксис.
С логическими условиями сходная ситуация. «И» требует, чтобы все части были истинными. «ИЛИ» даёт истину, если истинна хотя бы одна часть. Отрицание переворачивает результат. Скобки определяют порядок применения операций и могут полностью изменить итог.
Полезный приём — переводить условие с языка программирования на обычный русский. Например, «если x больше 10 и x чётное». После такого перевода становится яснее, что именно мы проверяем. Затем можно взять одно значение, которое должно подойти. И одно, которое не должно, и проверить их. Так легко обнаружить, если вы неверно поняли условие.
Для сложных условий есть надёжный порядок действий:
- Сначала разбейте сложное выражение на отдельные простые части.
- Затем определите результат каждой части (истина или ложь).
- Только после этого объединяйте их с помощью логических операций.
- Проверьте крайние значения — например, минимальное и максимальное из возможных. И всегда обращайте внимание на скобки.
Такой подход требует чуть больше времени в начале, но он гораздо надёжнее, чем спешка, ведущая к панике. А паника, как известно, не помогает при сдаче экзамена.
Типичные ошибки: коллекция моих любимых грабель

** изображение создано или обработано с помощью ИИ.
Путают присваивание (=) и сравнение (==). Считают, что цикл делает на один шаг больше, чем на самом деле. Забывают обновить значение переменной в трассировочной таблице. Читают сложное условие, игнорируя скобки и приоритет операций.
Путают целочисленное деление (получение целой части) и остаток от деления. Не замечают, с какого значения начинается сумма или счётчик. Смотрят на код «в общем», а не построчно, пропуская важные детали.
Отдельная боль — переменные с похожими именами. В заданиях часто встречаются a, b, i, j, k. Выглядят невинно, но через минуту в голове начинается хоровод. Помогает простая привычка: на черновике обводите важные переменные кружком или подписывайте, что они означают.
Ещё одна ловушка — мысль «я знаю этот шаблон». Задача может быть похожа на поиск максимума, но внутри добавлено дополнительное условие или максимум ищется не среди всех данных, а только среди части. Шаблон даёт начальное направление, но не отменяет внимательного чтения.
Есть и психологическая ошибка: увидев длинный фрагмент кода, ученик решает, что задача сложная. На деле там может быть обычный счётчик, просто записанный с большим количеством строк. Сначала отделите важное от второстепенного, и страх быстро уйдёт.
Моё правило звучит грубо, но оно полезно: «Не верьте себе на первом чтении». Перепроверьте границы циклов, знаки сравнения, порядок действий. Особенно перед тем, как записать окончательный ответ. Лишние тридцать секунд часто спасают целый номер.
Хотите перестать терять баллы на «глупых» ошибках в чужом коде? Мы отрабатываем навык чтения программ до автоматизма: учим вести таблицы трассировки, замечать ловушки циклов и проверять граничные условия. Запишитесь в нашу школу на онлайн-курсы. Регулярная практика с обратной связью реально снижает количество ошибок при чтении кода.
Как тренироваться, чтобы не сгореть к маю

** изображение создано или обработано с помощью ИИ.
Чтение кода лучше осваивать короткими порциями. Не нужно устраивать марафон на четыре часа — через час мозг уже делает вид, что он с вами, а на самом деле уходит смотреть котиков.
Решайте по два-три фрагмента каждый день. После каждой задачи разбирайте ошибку, но не абстрактно («не повезло»), а конкретно: не учёл границу цикла, пропустил обновление переменной в таблице, неверно понял логическое условие. Так у вас появится личная карта слабых мест.
Заведите короткий журнал ошибок. Это не дневник страданий, а рабочий инструмент. В одну строку записывайте номер задания, тип кода и причину промаха. Через неделю вы увидите повторяющиеся сюжеты и сможете целенаправленно их проработать.
Хорошая тренировка выглядит так:
- Сначала прочитайте код без вычислений, просто пробегитесь глазами.
- Затем скажите вслух, что этот код делает, своими словами.
- Потом выполните трассировку на черновике — шаг за шагом.
- Сравните полученный ответ с правильным.
- Если ошиблись, назовите причину. Да, говорить вслух странно, особенно если дома кто-то проходит мимо кухни, но метод работает.
Когда вы объясняете код словами, туман рассеивается — мозг вынужден строить понятную логическую цепочку.
В день перед экзаменом не нужен героизм. Повторите основные правила, просмотрите старые ошибки, решите пару лёгких примеров для разминки. Главная задача — прийти на экзамен свежим. Уставший отличник часто ошибается чаще, чем спокойный хорошист.
И последнее: код — не враг. Он просто честный и немного занудный. Читайте его спокойно, строка за строкой. Тогда даже самый вредный цикл превратится в обычную дорожку, а не в тёмный лес с табличкой «беги».
Хочешь начать готовиться, но остались вопросы?
Заполни форму, и мы подробно объясним, как устроена подготовка к ЕГЭ и ОГЭ в ЕГЭLAND
