Задание 6 ОГЭ: как найти значение переменной после программы на Python?
В задании 6 ОГЭ дают маленькую программу (на Python или Паскале) с циклом и условием, и надо сказать, что выведется на экран. Как пошагово проследить значение переменной, чтобы не ошибиться? Особенно тяжело с циклами и счётчиками.
2 ответа
Задание 6 решается трассировкой — выполнением программы вручную по шагам, как делает компьютер.
Метод таблицы: заводите столбик на каждую переменную и записываете её значение после каждой строки/итерации.
Пример на Python:
s = 0
for i in range(1, 5):
if i % 2 == 0:
s = s + i
print(s)
Трассируем (range(1, 5) даёт 1, 2, 3, 4):
- i=1: 1 нечётное → s остаётся 0
- i=2: чётное → s = 0 + 2 = 2
- i=3: нечётное → s = 2
- i=4: чётное → s = 2 + 4 = 6
Вывод: 6.
Ключевые моменты:
range(1, 5)— это 1, 2, 3, 4 (правая граница не включается!);%— остаток от деления,i % 2 == 0значит «i чётное»;//— целочисленное деление.
Частая ошибка: забывают, что в range(a, b) число b не входит. И путают присваивание = с проверкой ==.
Не считайте в уме — заведите таблицу и заполняйте строку за строкой. Это медленнее, но почти исключает ошибки.
Если есть доступ к среде (в практической части или дома) — просто запустите программу и посмотрите вывод. Но на бумажной части ОГЭ это задание решается только трассировкой.
Лайфхак: вложенные циклы считайте «изнутри наружу». Внутренний цикл прокручивается полностью на каждом шаге внешнего. Если внешний идёт 3 раза, а внутренний 4 — тело внутреннего выполнится 3 × 4 = 12 раз.