Федеральный портал школ России
Закрыть

Урок 9. Python: условие и цикл с предусловием

17.10.2026 - Андрей -

  • Учебные программы
  • Информатика

Программирование на Python и C++ · 7 класс

Урок 9 из 34 · 45 минут · Модуль «Циклы»

Уровень: начинающий программист; Python 3.

Вся программа курса

Копилка пополняется по 3 условные единицы, пока не достигнет цели. Как сделать повторение конечным и не выполнить лишний шаг?

Результат урока: Написать while с проверкой до тела, проследить изменение переменной и объяснить завершение, включая нулевое число повторений.
Учителю: подготовка и план на 45 минут

Подготовьте компьютер, локальную папку с правом записи, Python/IDLE, распечатку ученической части PDF, бумагу и ручку. Внешние библиотеки не нужны: только стандартный Python 3.11 или новее. Все программы, входные данные, таблицы и ключи находятся в статье и PDF. Детские аккаунты, сеть и регистрация не нужны.

Уровень — начинающий, 7 класс. Предпосылки: целые числа, сравнения и присваивание. Работа в паре: автор прогнозирует и вводит код, проверяющий ведёт журнал; затем роли меняются. На бумаге трассируйте готовый код и входные данные; для графики используйте координатную сетку и схему. Учитель может показать заранее полученный вывод/PNG. Бумажный вариант проверяет понимание, но не выдаётся за реальный запуск учеником. Чтение, ввод и проверка включены в план. Матрица программы — материал учителя.

МинутыРаботаРезультат
0–5ПроблемаВопрос и первое решение
5–14Понятия и примерСпособ проверки
14–25Практика 1Готовый продукт и проверка
25–33Практика 2Перенос способа
33–40ОбсуждениеАргумент и ограничение
40–45Индивидуальная проверкаСамостоятельный ответ

01. Проблемная ситуация

Псевдокод «пока сумма меньше цели: напечатать сумму» не изменяет сумму. При сумме 0 и цели 10 он не завершится. На бумаге добавьте действие, которое приближает завершение, и предскажите, хватит ли трёх прибавлений по 3.

02. Понятия и разобранный пример

5–14 минут: 4 минуты на понятия, 3 на пример, 2 на объяснение способа партнёру.

Проверка до выполнения

Условие — выражение с результатом True или False. if выполняет блок не более одного раза; while проверяет условие перед каждым повторением. После двоеточия тело записывают с отступом в 4 пробела. Строки без отступа после тела выполняются уже после цикла.

В программе total начинается с 0, шаг равен 3. Пока total<target, увеличиваем total и счётчик steps. Для target=10 значения после тела: 3,6,9,12; шагов 4. Остановиться на 9 нельзя, ведь цель ещё не достигнута.

Завершение обосновано: положительный шаг увеличивает total, а конечная цель фиксирована. Если шаг 0 или отрицательный, это рассуждение не работает. В условии ниже шаг всегда 3, вход target — неотрицательное целое. При target=0 тело не выполнится ни разу.

Отступы набирайте обычными пробелами: 4 на уровень. При копировании с веб-страницы замените неразрывные пробелы обычными; полный код с обычными пробелами есть в PDF.

Для target=10 перед последней итерацией total=9<10. После неё total=12, steps=4, новая проверка 12<10 ложна. Две финальные строки сообщают число шагов и итог; это не печать на каждом шаге.

target = int(input())
total = 0
steps = 0
while total < target:
    total = total + 3
    steps = steps + 1
print(steps)
print(total)
Трассировка while при цели 10: 0 → 3 → 6 → 9 → 12; условие проверяется до каждого шага.
Трассировка while при цели 10: 0 → 3 → 6 → 9 → 12; условие проверяется до каждого шага.

03. Практика 1. Проверяем материал

Накапливаем взносы модели

Это учебная модель, не финансовый совет. Работайте с неотрицательными целыми; не запускайте намеренно бесконечный вариант.

Ввод targetШаги; итог
104; 12
93; 9
00; 0

Запишите таблицу total до проверки, результат условия, total после тела для target=10. Запустите полный код на трёх входах. Затем объясните, почему <= вместо < даёт лишнее пополнение при target=9. Результат — трассировка и журнал тестов. Критерии: обновление total, счётчик, верный тест 9, нулевой тест.

Практика 1: разбор и критерии

При target=10 проверки: 0<10,3<10,6<10,9<10 истинны, 12<10 ложна. Для 9 нужно 3 шага; <= дало бы 4 и итог 12. При 0 цикл пропускается. Полный правильный код — разобранный пример, изменений для практики 1 не требуется. По 1 баллу за четыре критерия.

04. Практика 2. Перенос способа

Когда повторений не будет

Новая задача: робот начинает в точке x=5 и делает шаг вправо на 2, пока x<limit. limit — любое неотрицательное целое. Напишите robot.py, выводящий число шагов и финальный x одной строкой. Тесты: 10 → 3 11; 5 → 0 5; 0 → 0 5. Объясните, почему начальный x теперь не равен нулю.

Практика 2: разбор и критерии

Начальная позиция — часть условия. Для предела 10 позиции после шагов 7,9,11; при 5 и 0 условие сразу ложно. Критерии: начало 5, шаг 2, проверка до тела, все тесты.

limit = int(input())
x = 5
steps = 0
while x < limit:
    x = x + 2
    steps = steps + 1
print(steps, x)

05. Обсуждение и границы вывода

«Цикл всегда должен выполниться хотя бы один раз». Согласны ли вы? Используйте тесты target=0 и limit=5. Альтернатива — сначала выполнить действие, а потом проверить условие. Почему это другая логика?

Обсуждение: возможный вывод

while с предусловием может выполнить тело ноль раз. Принудительный первый шаг изменил бы результат в двух граничных тестах. Выбор конструкции определяется условием задачи, не привычкой автора.

06. Индивидуальная проверка

Старт v=1, шаг +4, повторение пока v<10. Запишите все значения после тела, число шагов и финальную ложную проверку. Назовите действие, удаление которого сделает цикл бесконечным. Критерии: трасса, завершение, причина.

Индивидуальная проверка: ответ и критерии

После тела 5,9,13; 3 шага; 13<10 ложно. Без увеличения v значение 1 остаётся меньше 10 постоянно. 3 балла.

07. Соответствие исходной программе

Пункт программы → действие → результат
Пункт программыДействие ученикаПроверяемый результат
Цикл с предусловием. Бесконечные циклыОбновляет переменную и доказывает завершениеКонечная трассировка и нулевой тест
Условный операторРазличает if и whileОдно выполнение против повторений
Источники и права на изображения

Тексты, учебные данные, реплики, программы и схемы подготовлены для уроков портала «Школы России». Числовые серии — учебные модели, не результаты проведённых классом опытов. Схемы авторские, сторонние фотографии не используются. Методические ссылки приведены для учителя; ученик получает все материалы здесь. Проверка первичных источников: 17.10.2026.