Зачем это в ЕГЭ. Задание №6 проверяет умение анализировать работу алгоритмов с циклами и условиями. Даёт 1 первичный балл. Встречается в каждом варианте, часто содержит рекурсивные вызовы или вложенные циклы.
Главная идея. Нужно «прошагать» алгоритм, фиксируя изменения переменных на каждом шаге. Ключ — ведение таблицы значений для всех переменных при каждом проходе цикла или рекурсивном вызове.
Алгоритм (чеклист).
1. Выписать начальные значения всех переменных.
2. Для каждого шага цикла/рекурсии:
- Проверить условие продолжения.
- Вычислить новые значения переменных.
- Зафиксировать изменения в таблице.
3. Проверить граничные случаи (например, или ).
4. Сверить итоговые значения с вариантами ответа.
Опоры (кратко).
- Рекурсия:
- Цикл while: выполняется пока условие истинно.
- Инвариант цикла: выражение, сохраняющее истинность на каждой итерации.
Пример 1 (цикл while).
Дано:
pythons = 0
k = 1
while k < 5:
s += k
k += 2
*Шаг 1.* Начальные значения: $s=0$, $k=1$.
*Шаг 2.* Первая итерация: $k=1<5$ → $s=0+1=1$, $k=1+2=3$.
*Шаг 3.* Вторая итерация: $k=3<5$ → $s=1+3=4$, $k=3+2=5$.
*Шаг 4.* Проверка: $k=5 \nless 5$ → цикл завершён.
Ответ: $s=4$.
**Пример 2 (рекурсия).**
Дано: python
def F(n):
if n > 0:
return F(n-1) + 2
else:
return 0
Шаг 1. Базовый случай: .
Шаг 2. .
Шаг 3. .
Ответ для : .
Типичные ошибки.
1. Пропуск итерации — не учтено изменение счётчика после проверки условия.
2. Неправильный базовый случай — ошибка в терминальном условии рекурсии.
3. Путаница с индексами — например, начальное значение вместо .
4. Игнорирование переполнения — не проверено, может ли переменная выйти за границы типа.
Дальше. Разбери задачи с вложенными циклами и рекурсивными деревьями вызовов.