Самостоятельная работа «Циклы while в Python»
Рекомендация для педагогов по проверке самостоятельной работы «Циклы while в Python»
Цель работы
Данная самостоятельная работа направлена на диагностику понимания механизма работы цикла while: условий его выполнения, количества итераций, порядка изменения счётчика и накопления значений. Работа проверяет не умение писать код «по памяти», а способность прослеживать выполнение программы по шагам — ключевой навык для отладки и анализа алгоритмов.
Что и зачем проверяется по каждому заданию
№ | Что проверяется | Зачем это важно |
1 | Понимание связи условия i <= ... с количеством итераций при i += 1 (ответ: 5) | Базовое умение «перевести» количество повторений в граничное значение условия |
2 | Подсчёт итераций при шаге i += 2 (ответ: 5: i = 2, 4, 6, 8, 10) | Проверка умения учитывать шаг изменения счётчика, а не только границу |
3 | Порядок вывода и end="" (ответ: 80123) | Понимание последовательности печати: сначала "8", затем значения i от 1 до 3 |
4 | Убывающий цикл: i >= ... при i -= 1, 3 итерации (ответ: 4: i = 6, 5, 4) | Умение работать с обратным отсчётом и включительной границей |
5 | Обратная задача: найти начальное значение (ответ: 6: i = 6, 5, 4, 3) | Проверка понимания, что количество итераций зависит и от старта, и от условия |
6 | Обратная задача с возрастанием (ответ: 5: i = 5, 6, 7) | То же, но для прямого цикла — умение «развернуть» логику |
7 | Накопление суммы в переменной a (ответ: 22: a = 10+3+4+5) | Ключевой навык: отслеживание изменения переменной-аккумулятора на каждом шаге |
8 | Подсчёт итераций при шаге i -= 3 от 10 (ответ: 4: i = 10, 7, 4, 1) | Внимательность: шаг больше 1, нужно не «потерять» итерации |
9 | Вывод значений в строку (ответ: 2345) | Базовый навык трассировки вывода |
10 | Накопление с постоянным слагаемым (ответ: 10: a = 2 + 2·4) | Понимание, что a += 2 выполняется столько же раз, сколько итераций цикла |
Типичные ошибки, на которые стоит обратить внимание
Путаница с включительной границей (задания 1, 4, 5, 6): ученики часто считают i <= 5 за 4 итерации или забывают, что граничное значение входит в цикл.
Игнорирование шага счётчика (задания 2, 8): при i += 2 или i -= 3 число итераций не равно разности границ.
Ошибки в обратных задачах (5, 6): сложность в том, чтобы «отмотать» цикл назад — здесь важно проверять подстановкой.
Неверный порядок вывода (задание 3): ученики могут написать 1238 вместо 80123, не учтя, что print("8") стоит до цикла.
Ошибки в аккумуляторе (7, 10): забывают, что начальное значение a уже задано, и начинают суммировать с нуля; или неверно считают число итераций.
Рекомендации по проверке и обратной связи
Обязательно требуйте трассировки: попросите учеников на черновике выписывать таблицу «итерация — значение i — значение a». Это главный инструмент самопроверки.
Задания 5 и 6 (обратные) — самые показательные: если ученик их решил, он действительно понимает механизм цикла, а не действует по шаблону. Оценивайте их отдельно / поощряйте.
При разборе ошибок в заданиях 7 и 10 покажите таблицу пошагового изменения переменных — это снимет большинство вопросов.
Критерии оценивания (рекомендуемые): 10–9 верных — «5»; 8–7 — «4»; 6–5 — «3»; менее 5 — требуется повторный разбор темы.
Для сильных учеников: предложите дома составить аналогичную задачу с шагом i += 3 и обменяться с одноклассником — это закрепляет понимание.
Для слабых: на следующем уроке дайте 2–3 задания только на подсчёт итераций с шагом 1, затем с шагом 2 — двигайтесь от простого к сложному.
Итог
Работа проверяет умение читать код как алгоритм: видеть, сколько раз выполнится тело цикла, как меняются переменные и что попадёт в вывод. Главная ценность проверки — выявить учеников, которые «угадывают» ответ, и перевести их на осознанную пошаговую трассировку.
Вариант 1
1. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 5 раз?
i = 1
while i <= ...:
print("Привет!")
i += 1
Ответ: __________
2. Сколько раз будет выполнен этот цикл?
i = 2
while i < 12:
print("Привет!")
i += 2
Ответ: __________
3. Какая строка будет выведена на экран?
i = 1
print("8", end="")
while i < 4:
print(i, end="")
i += 1
Ответ: __________
4. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 3 раза?
i = 6
while i >= ...:
print("Привет!")
i -= 1
Ответ: __________
5. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 4 раза?
i = ...
while i >= 3:
print("Привет!")
i -= 1
Ответ: __________
6. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 3 раза?
i = ...
while i <= 7:
print("Привет!")
i += 1
Ответ: __________
7. Чему будет равно значение переменной a после выполнения цикла?
i = 3
a = 10
while i < 6:
a += i
i += 1
8. Сколько раз будет выполнен этот цикл?
i = 10
while i > 0:
print(i)
i -= 3
Ответ: __________
Ответ:_________
9. Какая строка будет выведена на экран?
i = 2
while i <= 5:
print(i, end="")
i += 1
Ответ: __________
10. Чему будет равно значение переменной a после выполнения цикла?
i = 1
a = 2
while i <= 4:
a += 2
i += 1
Ответ: __________
Вариант 2
1. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 4 раза?
i = 0
while i < ...:
print("Python")
i += 1
Ответ: __________
2. Сколько раз будет выполнен этот цикл?
i = 1
while i <= 9:
print("Привет!")
i += 2
Ответ: __________
3. Какая строка будет выведена на экран?
i = 2
print("6", end="")
while i <= 5:
print(i, end="")
i += 1
Ответ: __________
4. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 4 раза?
i = 8
while i >= ...:
print("Привет!")
i -= 1
Ответ: __________
5. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 3 раза?
i = ...
while i >= 5:
print("Привет!")
i -= 1
Ответ: __________
6. Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 5 раз?
i = ...
while i <= 8:
print("Привет!")
i += 1
Ответ: __________
7. Чему будет равно значение переменной a после выполнения цикла?
i = 2
a = 5
while i < 6:
a += i
i += 2
Ответ: __________
8. Сколько раз будет выполнен этот цикл?
i = 15
while i > 3:
print(i)
i -= 4
Ответ: __________
9. Какая строка будет выведена на экран?
i = 3
while i >= 1:
print(i, end="")
i -= 1
Ответ: __________
10. Чему будет равно значение переменной a после выполнения цикла?
i = 0
a = 1
while i < 5:
a += 3
i += 1 Ответ: __________
Ответы к варианту 1
4 — цикл выполняется при i = 1, 2, 3, 4.
5 раз — значения i: 2, 4, 6, 8, 10? Нет, условие i < 12, поэтому цикл выполняется при 2, 4, 6, 8, 10 — всего 5 раз.
8123 — сначала выводится 8, затем 1, 2, 3.
4 — значения i: 6, 5, 4.
6 — значения i: 6, 5, 4, 3.
5 — значения i: 5, 6, 7.
22 — 10+3+4+5=2210+3+4+5=22.
4 раза — значения i: 10, 7, 4, 1.
2345 — выводятся числа 2, 3, 4, 5 без пробелов.
10 — к a = 2 четыре раза прибавляется 2: 2+2+2+2+2=10+2+2+2+2=10.
Ответы к варианту 2
4 — значения i: 0, 1, 2, 3.
5 раз — значения i: 1, 3, 5, 7, 9.
62345 — сначала выводится 6, затем 2, 3, 4, 5.
5 — значения i: 8, 7, 6, 5.
7 — значения i: 7, 6, 5.
4 — значения i: 4, 5, 6, 7, 8? Здесь правильное начальное число — 4, и цикл выполнится 5 раз: при 4, 5, 6, 7, 8.
13 — 5+2+4=11 5+2+4=11. Исправление: правильный ответ — 11.
3 раза — значения i: 15, 11, 7.
321 — числа выводятся в обратном порядке.
16 — 1+3×5=161+3×5=16.