Задание 22: программирование
Разберём «Задание 22: программирование» по шагам: короткая теория, наглядный пример, разбор типового задания и ловушки, на которых теряют баллы. В конце — что запомнить и где закрепить на практике.
Задание 22: программирование — что проверяет экзамен
Задание 22 часто пугает не самим программированием, а длинным условием: нужно понять чужой алгоритм, проследить изменения переменных и выбрать правильный ответ. На самом деле здесь редко требуется написать большую программу с нуля. Твоя цель — читать код как точную инструкцию и не терять значения на каждом шаге. В этом разборе ты увидишь, как превращать задачу в понятную таблицу, проверять циклы и находить результат без догадок.
В задании могут встретиться переменные, ветвления, циклы, операции с числами и логическими выражениями. Иногда программа обрабатывает последовательность или перебирает варианты. Важно не пытаться сразу «понять всё целиком». Раздели алгоритм на небольшие действия: что задано сначала, какое условие проверяется, как меняются данные и когда цикл останавливается.
Полезно заниматься регулярно, а не только перед экзаменом. В личном кабинете можно бесплатно тренироваться: после каждого решения возвращайся к строке алгоритма, где появилась ошибка, и выясняй её причину.
Как читать алгоритм по шагам
Сначала выпиши начальные значения всех переменных. Не держи их в памяти: одна пропущенная замена может изменить весь ответ. Затем определи, какие строки выполняются всегда, а какие зависят от условия. Если встречается конструкция «если…, то…, иначе…», проверь логическое выражение отдельно и только потом выбирай ветку.
С циклами действуй по тому же правилу. Уточни, сколько раз выполняется тело цикла или при каком условии он заканчивается. Для каждой итерации записывай только те переменные, которые меняются. Если есть счётчик, отмечай его значение до и после шага. При цикле с условием особенно важно проверить, изменяется ли переменная, связанная с остановкой: иначе алгоритм может быть бесконечным.
Операции выполняются в определённом порядке: сначала скобки, затем умножение и деление, потом сложение и вычитание. Сравнения дают логический результат, а не число. Например, выражение x ≥ 5 истинно при x = 5, но ложно при x = 4.
Сделай таблицу с колонками «шаг», «условие», «значение переменной». Такой способ медленнее устного счёта, зато защищает от пропущенной итерации и помогает быстро найти место ошибки.
Таблица трассировки и математическая логика
Таблица трассировки — это запись работы алгоритма по шагам. В первой строке укажи исходные данные. В следующих строках отражай результат каждой операции или итерации. Не обязательно переписывать весь код: достаточно переменных, которые участвуют в условии и ответе.
Если программа работает с целыми числами, следи за особенностями деления. Целочисленное деление отбрасывает дробную часть, а остаток помогает проверять чётность и делимость. Например, остаток от деления на 2 равен 0 для чётного числа. При отрицательных значениях и округлении не делай предположений: ориентируйся на правила языка, указанные в условии.
Логические выражения разбирай по частям. Для «и» истинны должны быть оба условия, для «или» достаточно одного, а «не» меняет результат на противоположный. Сначала вычисли внутренние скобки, затем объединяй результаты. Это особенно важно, когда в условии одновременно встречаются сравнения и логические связки.
Если алгоритм перебирает числа от a до b, проверь, включены ли границы. Формулировки «от 1 до 10 включительно» и «меньше 10» дают разное количество шагов.
| Элемент алгоритма | Что проверить | Типичная запись |
|---|---|---|
| Переменная | Начальное и новое значение | x → x + 1 |
| Условие | Истинность на текущем шаге | x ≥ 5 |
| Цикл | Число итераций и остановку | пока x < 10 |
| Ответ | Какое значение требуется вывести | счётчик или сумма |
Разобранный пример: поиск результата цикла
Рассмотрим алгоритм, который постепенно увеличивает число и считает, сколько раз выполняется тело цикла. Здесь не нужно угадывать ответ: достаточно последовательно подставлять значения.
\( x = 2, s = 0 \)
пока x < 20:
\( s = s + x \)
\( x = x + 3 \)
вывести s
Шаг 1: x = 2, s = 0 → s = 2, x = 5
Шаг 2: x = 5, s = 2 → s = 7, x = 8
Шаг 3: x = 8, s = 7 → s = 15, x = 11
Шаг 4: x = 11, s = 15 → s = 26, x = 14
Шаг 5: x = 14, s = 26 → s = 40, x = 17
Шаг 6: x = 17, s = 40 → s = 57, x = 20
x < 20 — ложно, цикл завершён. Ответ: 57.
Обрати внимание на порядок команд внутри цикла. Сначала к сумме прибавляется текущее значение x, и только после этого x увеличивается. Если поменять строки местами, в сумму попадут уже другие числа. Также значение 20 не добавляется: условие проверяется перед новой итерацией, а при x = 20 оно ложно.
Перед переносом ответа в бланк полезно сделать быструю проверку: в сумму вошли числа 2, 5, 8, 11, 14 и 17. Их шесть, последнее меньше 20, следующее равно 20. Значит, таблица согласуется с условием.
Не добавляй в сумму значение, при котором условие уже стало ложным. В цикле «пока x < 20» число 20 используется для проверки, но тело цикла при нём не выполняется.
Типичные ошибки и тренировка
Первая ошибка — смешивать старое и новое значение переменной. Записывай изменения в одной строке со стрелкой: x → x + 3. Вторая — считать цикл по формуле, не проверив границы. Третья — перепутать присваивание и сравнение: команда x = 5 меняет значение, а x = 5 в условии обычно означает проверку равенства, если это оговорено языком.
Часто теряются из-за целочисленного деления, остатка и отрицательных чисел. Отдельно потренируй операции с делением и логические выражения. После решения объясни себе каждый шаг обычными словами. Если не можешь объяснить, почему цикл остановился, решение ещё нельзя считать проверенным.
Для системной подготовки используй подборки по информатике и математической логике, а также раздел подготовки к ЕГЭ. Решай сначала без ограничения времени, затем возвращай таймер и сравнивай не только ответы, но и способ рассуждения.
Если хочется получать задания по уровню сложности, создай бесплатный профиль для практики. Это удобно, когда нужно возвращаться к ошибочным типам алгоритмов и видеть собственный прогресс без случайного выбора задач.
Что запомнить
Задание 22 решается не скоростью чтения кода, а аккуратностью. Выпиши начальные значения, раздели алгоритм на действия, составь таблицу трассировки, отдельно проверь условия и границы цикла. Следи за порядком операций, целочисленным делением и тем, какое значение переменной используется до изменения.
Если ответ кажется очевидным, всё равно сделай контрольную проверку: перечисли значения, вошедшие в сумму или счётчик, и убедись, что последнее значение действительно удовлетворяет условию. Зарегистрируйся и реши 5 заданий бесплатно в личном кабинете, разбирая каждую ошибку по шагам.
Нужно ли переписывать весь алгоритм в таблицу?
Нет. Записывай только изменяющиеся переменные, значения условий и результат, который влияет на ответ. Полная перепечатка кода занимает время и не заменяет понимания порядка действий.
Как закрепить тему после разбора?
Реши несколько задач одного типа, затем одну смешанную. После каждой ошибки укажи её причину: границы цикла, порядок операций, логика условия или арифметика. Через день повтори задачу без подсказки.
Что делать, если цикл получается слишком длинным?
Ищи закономерность изменения переменной: например, она каждый раз увеличивается на 3. Но сначала выполни несколько первых шагов вручную и проверь границы. Формулу используй только после такой проверки.
Можно ли готовиться к этому заданию без знания языка программирования?
Начать можно с трассировки готовых алгоритмов, но базовые конструкции языка всё равно нужно знать: присваивание, условие, цикл, деление и остаток. Они объясняют, как именно выполняется каждая строка.
Закрепить тему на практике
Теория без практики забывается за неделю. В личном кабинете Просто Урок — задания именно по этой теме с проверкой каждого шага. Регистрация бесплатная.