План урока на тему:

Программирование

Подтемы: Циклы с условием. Циклы по переменной

Информатика11 класс56 разделов
Программирование

Цикл for и функция range(). Простые переборы

Цели и задачи

  • Цель: к концу урока учащиеся смогут самостоятельно реализовывать алгоритмы перебора числовых диапазонов с использованием цикла for и функции range(), включая задачи на накопление суммы и подсчет количества.
  • Образовательная задача: изучить синтаксис цикла for, три формы функции range() и правила работы с итерируемыми объектами в Python.
  • Развивающая задача: развить алгоритмическое мышление через применение шаблонов «счетчик» и «накопитель» при решении практических задач.
  • Воспитательная задача: способствовать формированию навыка рациональной организации деятельности (автоматизация рутинных задач).

Планируемые результаты

Личностные

  • Формирование ответственного отношения к обучению и готовности к саморазвитию.
  • Осознание важности программирования как инструмента решения профессиональных задач в будущем.
  • Развитие критического мышления при анализе эффективности различных алгоритмических конструкций.

Метапредметные

  • Умение определять понятия, создавать обобщения и устанавливать аналогии.
  • Навык формализации условия задачи и построения информационной модели.
  • Способность к самоконтролю и коррекции действий в процессе написания и отладки программного кода.

Предметные

  • Знание синтаксиса цикла for и назначения функции range().
  • Умение организовывать прямой и обратный перебор целых чисел с заданным шагом.
  • Владение навыками перебора элементов списков и символов строк.
  • Умение решать базовые задачи ЕГЭ по информатике, связанные с анализом и реализацией циклов.

Универсальные учебные действия (УУД)

Личностные УУД

  • Смыслообразование (связь между изучением циклов и возможностью автоматизации сложных вычислений).
  • Нравственно-этическая ориентация в вопросах использования чужого кода.

Регулятивные УУД

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

Познавательные УУД

  • Логические действия: анализ структуры range(), синтез алгоритма суммирования.
  • Постановка и решение проблемы: как эффективно обработать большой объем данных без дублирования кода.
  • Работа с информацией: преобразование текстового описания задачи в программный код.

Коммуникативные УУД

  • Умение аргументировать выбор типа цикла (for vs while) для конкретной задачи.
  • Владение языковыми средствами для объяснения логики работы программы.

Подготовка учителя к уроку

  • Проверить работоспособность среды разработки (IDLE, PyCharm или VS Code) на всех ПК в классе.
  • Подготовить презентацию с визуализацией работы range() на числовой прямой.
  • Распечатать «Мини-шпаргалку по range()» для каждого ученика (15-20 экз.).
  • Загрузить в общую папку файл с шаблонами задач для практической части.
  • Подготовить демонстрационный скрипт с примерами ошибок (отступы, двоеточие, границы диапазона).

Ход урока

Этап 1. Мотивация и актуализация знаний (5 мин)

Цель этапа: создать проблемную ситуацию, демонстрирующую неэффективность линейного программирования для повторяющихся задач.
Время
Действие учителя
Действие учеников
2 мин
«Здравствуйте! Представьте, что вы — разработчики системы оповещения. Вам нужно вывести на экран слово "Внимание!" ровно 5 раз. Как бы вы это сделали сейчас?» Учитель пишет на доске пять раз print("Внимание!"). «А если нужно вывести его 1000 раз? Или 1 000 000? Будем ли мы копировать эту строку миллион раз?»
Учащиеся осознают проблему. Отвечают: «Нет, это долго», «Код будет слишком большим», «Неудобно исправлять ошибку в тексте».
3 мин
«Верно. В программировании для этого существуют циклы. Посмотрите на доску: for i in range(5): print("Внимание!"). Всего две строки заменяют любой объем копипаста. Сегодня мы разберемся, как работает этот магический механизм перебора, который Дэвид Бизли в своем руководстве называет основным инструментом работы с данными в Python.»
Слушают учителя, записывают тему урока в тетрадь.
Завершение этапа: учитель подводит итог: «Итак, мы поняли, что ручное повторение кода — это путь в никуда. Давайте построим план нашего исследования: что такое цикл, как работает range и как заставить компьютер считать за нас.»

Этап 2. Открытие нового знания: Цикл for и итерация (10 мин)

Цель этапа: изучить базовый синтаксис цикла for и понятие итерации на основе итерируемых объектов (списки, строки).
Время
Действие учителя
Действие учеников
5 мин
«Цикл for в Python — это цикл перебора. Он берет последовательность и по очереди достает из нее элементы. Запишем общую схему: for переменная in последовательность: команды. Обратите внимание на двоеточие и отступ в 4 пробела — это тело цикла. Давайте попробуем перебрать список чисел: for x in [10, 20, 30]: print(x). Что мы увидим?»
Записывают синтаксис в тетради. Предполагают ответ: «Числа 10, 20 и 30 на разных строках». Проверяют в среде разработки.
5 мин
«Важное слово — итерация. Это одно выполнение тела цикла. Если в списке 3 числа, сколько будет итераций? Правильно, три. Python сам понимает, когда элементы закончились. Но for умеет работать и со строками. Попробуйте написать цикл, который перебирает слово "Python". Что произойдет?»
Отвечают: «Три итерации». Пишут код: for letter in "Python": print(letter). Наблюдают вывод слова по буквам.

Посмотрите план целиком

Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.

Запись в тетрадях

  • Итерация — одно выполнение тела цикла.
  • Синтаксис: for <переменная> in <последовательность>:
  • Отступ (4 пробела) обязателен для команд внутри цикла.
Завершение этапа: учитель подводит итог: «Мы научились перебирать готовые списки и буквы. Но что если нам нужно перебрать миллион чисел? Не будем же мы писать их в список вручную. Для этого существует функция range().»

Этап 3. Изучение функции range() (10 мин)

Цель этапа: разобрать три формы функции range() и усвоить правило «правая граница не включается».
Время
Действие учителя
Действие учеников
4 мин
«Функция range() создает арифметическую последовательность. Главное правило, которое нужно выучить как таблицу умножения: правая граница НЕ входит в диапазон. Если я пишу range(5), какие числа я получу? От 0 до 4. Пятерка — это стена, перед которой мы останавливаемся. Запишем первую форму: range(stop).»
Записывают: range(5) -> 0, 1, 2, 3, 4. Делают пометку: «stop не включается».
6 мин
«Вторая форма — range(start, stop). Например, range(2, 6) даст нам 2, 3, 4, 5. И третья форма, самая мощная — с шагом: range(start, stop, step). Как нам вывести только четные числа от 2 до 10 включительно? Мы напишем range(2, 11, 2). Почему 11? Чтобы 10 вошло в диапазон. А как сделать обратный отсчет? Нужно поставить отрицательный шаг: range(10, 0, -1).»
Экспериментируют с кодом в интерпретаторе. Пробуют вывести числа в обратном порядке. Обсуждают, почему range(10, 0) без шага -1 не работает.

Эталонные значения range()

  • range(5) -> 0, 1, 2, 3, 4
  • range(1, 5) -> 1, 2, 3, 4
  • range(2, 10, 2) -> 2, 4, 6, 8
  • range(10, 0, -1) -> 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Завершение этапа: учитель подводит итог: «Теперь вы знаете, как генерировать любые числовые ряды. Пришло время применить эти знания для решения реальных задач: суммирования и поиска нужных чисел.»

Этап 4. Практикум: шаблоны «Накопитель» и «Счетчик» (12 мин)

Цель этапа: освоить алгоритмические шаблоны суммирования и подсчета количества элементов по условию.
Время
Действие учителя
Действие учеников
6 мин
«Давайте найдем сумму всех чисел от 1 до 100. Для этого нам нужна переменная-накопитель. Назовем ее total и сначала положим в нее 0. total = 0. Затем в цикле будем добавлять к ней каждое число: total += i. Посмотрите на экран, как меняется значение total на каждой итерации. Это классический паттерн программирования.»
Реализуют программу суммирования. Проверяют результат (5050). Анализируют трассировку цикла (как total растет от 1 до 5050).
6 мин
«А теперь усложним: посчитаем, сколько чисел от 1 до 100 делятся на 7. Здесь нам понадобится условие if внутри цикла. Если число делится на 7 без остатка (i % 7 == 0), мы увеличиваем наш счетчик count на 1. Попробуйте написать этот код самостоятельно.»
Самостоятельно пишут код с вложенным условием. Сравнивают результаты с соседом по парте. Ответ должен быть 14.

Эталон решения (Сумма чисел)

total = 0
for i in range(1, 101):
    total += i
print(total)
Завершение этапа: учитель подводит итог: «Вы только что решили две фундаментальные задачи программирования. Эти алгоритмы — кирпичики, из которых строятся сложные системы аналитики данных.»

Этап 5. Рефлексия и подведение итогов (8 мин)

Цель этапа: закрепить понимание различий между циклами и проверить усвоение материала через экспресс-опрос.
Время
Действие учителя
Действие учеников
4 мин
«Давайте подведем итоги. У нас есть цикл while, который мы учили раньше, и цикл for. В чем их главное отличие в Python? Подсказка: Бизли говорит, что for — это про перебор. А когда удобнее использовать range?»
Отвечают: «for удобнее, когда мы заранее знаем, сколько раз нужно повторить или что именно перебрать. while лучше для условий, которые зависят от внешних факторов».
4 мин
Учитель проводит блиц-опрос: «Что выведет range(1, 10, 3)?», «Как вывести 10 раз слово "Привет", не используя переменную цикла?». Выдает домашнее задание.
Отвечают: «1, 4, 7». «Использовать нижнее подчеркивание: for _ in range(10): print("Привет")». Записывают домашнее задание.

Критерии оценивания практической работы

  • «5» — все задачи практикума решены верно, соблюдены отступы, использованы корректные диапазоны range(), код оптимизирован.
  • «4» — задачи решены, но допущены незначительные ошибки в границах range() (ошибка на единицу) или пропущено двоеточие, которые были исправлены самостоятельно.
  • «3» — ученик понимает логику цикла, но испытывает затруднения с синтаксисом или вложенными конструкциями (if внутри for), требуется помощь учителя.

Рефлексия

Вопрос для ученика
Цель вопроса
Какая форма range() показалась вам самой сложной и почему?
Выявление затруднений в понимании шага и границ диапазона.
В каких задачах ЕГЭ вы уже видели подобные циклы?
Актуализация связи темы с итоговой аттестацией (задания 6, 17, 24).
Сможете ли вы объяснить младшему брату, почему range(5) не выдает число 5?
Проверка осознанности усвоения главного правила функции.

Завершающее слово учителя

«Сегодня мы заложили фундамент автоматизации. Цикл for — это сердце большинства программ, от простых калькуляторов до систем искусственного интеллекта. Помните: программист — это не тот, кто много пишет, а тот, кто умеет заставить компьютер работать вместо себя. На следующем уроке мы научимся прерывать циклы и делать их еще умнее. До встречи!»

Домашнее задание

Уровень сложности
Задания
Описание
Базовый (обязательный)
Вывести числа от 20 до 1; вывести 10 раз слово Python.
Закрепление навыков обратного перебора и повторения действий.
Средний (повышающий)
Найти сумму всех нечетных чисел от 1 до 50.
Комбинация цикла с шагом и накопителя.
Продвинутый (дополнительный)
Вывести таблицу умножения на число N (вводится с клавиатуры).
Применение цикла для генерации математических таблиц.
Контрольный вопрос перед уходом: «Сколько чисел выведет цикл for i in range(2, 2)?» (Ответ: ни одного).

Создайте уникальный план урока по своей теме

  • Любая тема, любой уровень
  • Структура по ФГОС
  • 100% уникальный план урока
  • Цели, ход урока, рефлексия
  • Экспорт в PDF и Word
  • Готово за 1 минуту

Другие темы по информатике для 11 класса

Чем удобны планы уроков Нейрум

  • Готовый план, не набросокЦели, ход урока, планируемые результаты, рефлексия — всё по структуре ФГОС, открыли и пошли вести.
  • План урока или техкартаОдин материал — два формата экспорта в PDF. Скачали то, что нужно завучу.
  • Свой план урока за минутуНе нашли нужный? ИИ-конструктор напишет план урока по вашей теме, классу и типу урока.

Вопросы и ответы

Как скачать план урока «Циклы с условием. Циклы по переменной»?

Зарегистрируйтесь бесплатно — материал сохранится в личном кабинете, откуда его можно скачать как план урока или технологическую карту.

Соответствует ли план урока ФГОС?

Да, структура урока — цели, ход урока, планируемые результаты — построена по ФГОС для 11 класса (информатике).

Можно ли изменить план под свой класс?

Да. После регистрации план урока открывается в конструкторе: этапы и содержание можно отредактировать или перегенерировать.