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

Разбиение задачи на подзадачи. Ветвления, циклы и вспомогательные алгоритмы

Информатика9 класс63 раздела
Разбиение задачи на подзадачи. Ветвления, циклы и вспомогательные алгоритмы

Информатика · 9 класс · Открытие нового · 45 мин

Разбиение задачи на подзадачи. Составление алгоритмов и программ с использованием ветвлений, циклов и вспомогательных алгоритмов

Цели и задачи

  • Цель по SMART: к концу урока научиться разбивать практическую задачу на подзадачи и составлять программу на Python, используя условный оператор, цикл и вспомогательную функцию, а также объяснять назначение каждого блока программы.
  • Сформировать представление о декомпозиции как способе упрощения сложной задачи и подготовки решения к заданиям ОГЭ по информатике.
  • Научиться выделять входные данные, результат и повторяющиеся действия, выбирать между ветвлением и циклом.
  • Развивать умение читать, анализировать, исправлять и тестировать программный код в парах.
  • Формировать ответственное отношение к цифровым инструментам, точности алгоритмического мышления и взаимной проверке решений.

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

Личностные

  • Осознают значение алгоритмического мышления для учебной и будущей профессиональной деятельности.
  • Проявляют готовность проверять результат программы и спокойно исправлять ошибки, рассматривая ошибку как часть обучения.
  • Повышают уверенность при выполнении практических заданий, связанных с форматом ОГЭ.
  • Соблюдают правила безопасной и ответственной работы за компьютером.

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

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

Предметные

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

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

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

  • Определяют личную значимость умения разбивать сложную задачу на понятные шаги.
  • Осознают связь информатики с профессиями программиста, инженера, аналитика и исследователя.
  • Проявляют самостоятельность и настойчивость при отладке программы.
  • Оценивают собственную готовность к заданиям алгоритмического типа на ОГЭ.

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

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

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

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

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

  • Распределяют роли в паре: разработчик и тестировщик.
  • Задают уточняющие вопросы о назначении строк программы.
  • Аргументированно объясняют партнёру выбор алгоритмической конструкции.
  • Корректно предлагают исправления и принимают обратную связь.

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

  • Подготовить компьютеры с установленной средой Python или доступом к школьному онлайн-интерпретатору; проверить запуск программы и ввод данных.
  • Создать презентацию с проблемной задачей, схемой декомпозиции и коротким примером программы.
  • Распечатать карточки трёх уровней сложности — по одной на каждого ученика, всего по числу учащихся класса.
  • Распечатать лист самооценки и чек-лист тестирования программы — по одному на ученика.
  • Подготовить карточки ролей «разработчик» и «тестировщик» — по одной паре на каждую парту.
  • Вывести на доску памятку: «Входные данные — подзадачи — алгоритм — код — тестирование».
  • Подготовить файл-заготовку с функцией и основным циклом, а также файл с намеренной логической ошибкой для совместного анализа.
  • Подготовить таймер на 5 минут для самостоятельной работы и экран с критериями оценивания.
  • Проверить рассадку парами и возможность быстро показать код на экране учителя.

Ход урока

Этап 1. Организационный момент и мотивация (3 мин)

Цель этапа: включить учащихся в деятельность и показать практическую ценность разбиения сложной задачи.
Время
Действие учителя
Действие учеников
1 мин
Учитель приветствует класс и проверяет готовность: "Здравствуйте, ребята. Сегодня мы будем не просто писать код, а действовать как разработчики. На столе должны быть тетрадь, ручка и готовый к работе компьютер. Проверьте, что вы вошли в среду программирования и можете запустить пустую программу."
Проверяют компьютер, открывают среду программирования, записывают дату и тему урока.
2 мин
Учитель показывает на экране задачу: "Нужно обработать результаты нескольких учеников: определить, сдал ли каждый тест, посчитать число успешных результатов и вывести итог. Как вы думаете, можно ли решить такую задачу одной длинной последовательностью команд? Какие части повторяются?" Учитель называет приём "Проблемный вопрос" и фиксирует ответы на доске.
Формулируют предположения: "Задачу нужно разделить на части", "для каждого ученика повторяется проверка", "итог можно посчитать циклом".
Завершение этапа: учитель подводит итог: "Мы увидели, что сложную задачу удобнее разделить на небольшие действия. Сегодня научимся превращать такое разбиение в программу с функцией, ветвлением и циклом, а затем проверять её как в заданиях практического типа ОГЭ."

Этап 2. Актуализация знаний (5 мин)

Цель этапа: восстановить знания о базовых конструкциях Python и выявить затруднение при выборе конструкции.
Время
Действие учителя
Действие учеников
2 мин
Учитель выводит на экран три фрагмента: условие, цикл и функцию. "Работаем приёмом «Подумай — обсуди в паре — поделись». Сначала молча определите назначение каждого фрагмента, затем обсудите с соседом. Почему в первом случае нужна проверка, а во втором — повторение?"
Индивидуально определяют конструкции, затем обсуждают в парах и формулируют: "if выбирает действие, for повторяет действие, def сохраняет отдельный алгоритм".
3 мин
Учитель предлагает мини-тест: "Поднимите карточку 1, если нужен выбор, карточку 2, если повторение, карточку 3, если отдельная подзадача. Ситуации: проверить положительность числа; вывести числа от 1 до 10; вычислить стоимость покупки по известной цене и количеству." После каждого ответа просит объяснить выбор.
Поднимают карточки и объясняют: "Проверка положительности — ветвление; вывод чисел — цикл; расчёт стоимости можно оформить функцией".
Завершение этапа: учитель подводит итог: "Мы вспомнили назначение трёх конструкций. Теперь проверим, как выбрать их не по отдельности, а в одной сложной задаче."

Этап 3. Постановка проблемы и целеполагание (4 мин)

Цель этапа: сформулировать способ решения комплексной задачи и критерии успешной программы.
Время
Действие учителя
Действие учеников
2 мин
Учитель раздаёт условие: "Даны результаты пяти попыток в виде целых чисел. Для каждой попытки нужно определить: результат успешен, если он не меньше 60; затем посчитать количество успешных попыток. Подумайте, какие подзадачи здесь можно выделить. Не пишите код сразу — сначала составьте план."
В парах выделяют подзадачи: принять данные, проверить один результат, повторить проверку для пяти значений, увеличить счётчик, вывести ответ.
2 мин
Учитель спрашивает: "Какая подзадача будет повторяться? Как оформить её отдельно? Где потребуется ветвление? Что проверим после запуска?" Учитель фиксирует на доске план: функция проверки, цикл обработки, итоговый вывод.
Предлагают цель урока и критерии: программа запускается без ошибок, содержит функцию, условие и цикл, даёт правильный ответ на контрольных данных.
Завершение этапа: учитель подводит итог: "План решения уже похож на архитектуру программы. Теперь реализуем его по шагам и проверим, действительно ли декомпозиция делает код понятнее."

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

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

Этап 4. Открытие нового знания и межпредметная связь (9 мин)

Цель этапа: построить программу из вспомогательной функции, ветвления и цикла, связав алгоритм с обработкой результатов в математике и естественных науках.
Время
Действие учителя
Действие учеников
3 мин
Учитель показывает на экране схему: «проверить один результат → повторить для пяти результатов → посчитать успешные». "В математике и естественных науках мы часто обрабатываем серию измерений. Компьютер выполняет одинаковую операцию много раз, но правило для одного измерения лучше оформить отдельно. Запишите функцию: `def passed(score):` затем условие `if score >= 60:` и возврат логического результата."
Переносят схему в тетрадь, объясняют: "Функция получает балл и возвращает истину или ложь". Определяют, что 60 является границей.
3 мин
Учитель постепенно набирает код: `def passed(score):` затем ` return score >= 60`. "Обратите внимание: условие можно записать кратко, потому что сравнение само даёт логическое значение. Теперь применим функцию к пяти значениям. На экране будут значения 55, 60, 72, 48, 90. Сколько успешных результатов ожидаем?"
Пошагово прогнозируют результаты: ложь, истина, истина, ложь, истина; называют ожидаемый итог: 3.
3 мин
Учитель добавляет цикл: `success = 0`; `for score in [55, 60, 72, 48, 90]:`; ` if passed(score):`; ` success += 1`; `print(success)`. "Почему здесь нужны и функция, и цикл? Что произойдёт, если убрать условие внутри цикла?" Учитель демонстрирует запуск и обращает внимание на отступы.
Записывают код, находят роль каждой части: функция проверяет один результат, цикл перебирает все значения, ветвление увеличивает счётчик только при успехе. Проверяют прогноз: на экране появляется 3.

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

  • Декомпозиция — разбиение сложной задачи на самостоятельные подзадачи.
  • Вспомогательный алгоритм в Python оформляется функцией `def имя(параметр):`.
  • Цикл повторяет действия для нескольких значений, а ветвление выбирает действие по условию.
  • Алгоритм проверки: входные данные → подзадачи → код → тестирование.
Завершение этапа: учитель подводит итог: "Мы собрали программу из трёх уровней: функция решает одну маленькую задачу, цикл повторяет обработку, ветвление меняет действие в зависимости от результата. Теперь закрепим этот способ на похожем задании и объясним код друг другу."

Этап 5. Первичное закрепление в парах (7 мин)

Цель этапа: применить алгоритм декомпозиции при составлении и объяснении программы.
Время
Действие учителя
Действие учеников
2 мин
Учитель раздаёт карточки и объясняет роли: "В каждой паре один ученик — разработчик, второй — тестировщик. Разработчик составляет функцию `is_even(number)`, которая определяет, является ли число чётным. Затем в цикле нужно обработать числа от 1 до 10 и посчитать количество чётных. Тестировщик проверяет план и задаёт вопросы."
Разработчик записывает план и код, тестировщик проверяет наличие функции, ветвления или логического условия и цикла.
3 мин
Учитель предлагает подсказку: "Можно использовать проверку `number % 2 == 0`. Не копируйте код молча: проговаривайте назначение каждой строки. Если программа не работает, сначала проверьте двоеточие и отступы, затем значения переменных."
Пары создают программу, ожидают результат 5, проговаривают: "Остаток от деления на 2 равен нулю — число чётное".
2 мин
Учитель организует взаимную проверку: "Поменяйтесь ролями и протестируйте программу партнёра на числах 0, 1, 2 и 11. Запишите две сильные стороны и одно пожелание по приёму «Две звезды и пожелание»."
Запускают программу на граничных и обычных данных, фиксируют обратную связь: например, "функция названа понятно", "цикл выбран верно", "нужно добавить пояснение результата".
Завершение этапа: учитель подводит итог: "Вы не только написали программу, но и проверили её чужими глазами. Сейчас каждый самостоятельно выполнит задание, чтобы увидеть, что осталось понятным без подсказки пары."

Этап 6. Самостоятельная работа с использованием ИКТ (10 мин)

Цель этапа: самостоятельно решить задачу на разбиение, программирование и тестирование алгоритма.
Время
Действие учителя
Действие учеников
2 мин
Учитель выдаёт карточки уровней: "Базовый вариант: написать функцию `is_positive(x)`, которая определяет, является ли число положительным, и обработать пять заданных чисел. Средний вариант: дополнительно посчитать количество положительных чисел. Повышенный вариант: оформить функцию `count_positive(values)` и использовать её для списка произвольной длины. Выберите уровень, который позволит вам работать уверенно."
Выбирают уровень, записывают входные данные и результат, составляют план до набора кода.
5 мин
Учитель напоминает: "Работайте в среде Python. После написания программы обязательно запустите её минимум на трёх наборах: обычном, где есть положительные и отрицательные числа, и граничном — с нулём. На экране рядом с кодом зафиксируйте ожидаемый результат."
Пишут и запускают программу, тестируют её на разных данных, сравнивают фактический и ожидаемый результаты.
3 мин
Учитель предлагает самопроверку по чек-листу: "Отметьте, есть ли в программе функция, понятные имена, цикл или обработка списка, корректное условие, тестирование нуля и отсутствие лишних команд. Если результат неверен, найдите конкретную строку и исправьте её."
Заполняют чек-лист, исправляют ошибки, сохраняют файл с программой и показывают результат учителю или соседу.

Эталон решения

Для среднего уровня возможен вариант: `def is_positive(x):` затем ` return x > 0`; далее `values = [-3, 0, 5, 7, -1]`, `count = 0`, цикл `for value in values:`, условие `if is_positive(value):`, увеличение `count += 1` и вывод `print(count)`. Положительными являются 5 и 7, поэтому ожидаемый результат равен 2. Ноль не считается положительным, так как условие использует знак `>`.
Завершение этапа: учитель подводит итог: "Самостоятельная программа должна не просто запускаться, а давать проверяемый результат. Мы увидели, что граничные значения помогают обнаружить логические ошибки. Осталось оценить, какие элементы алгоритма вы действительно освоили и что нужно повторить."

Этап 7. Рефлексия и домашнее задание (7 мин)

Цель этапа: осмыслить способ решения, снизить тревожность перед заданиями ОГЭ и определить дальнейшие шаги.
Время
Действие учителя
Действие учеников
3 мин
Учитель проводит рефлексию «Светофор»: "Покажите зелёную карточку, если можете объяснить, зачем нужна функция; жёлтую — если нужна тренировка; красную — если пока трудно. Затем завершите фразы: «Я научился...», «Мне нужно повторить...», «При тестировании я проверяю...»."
Показывают карточки, устно или письменно завершают фразы: "Я научился разбивать задачу", "Мне нужно повторить отступы", "Я проверяю граничные значения".
2 мин
Учитель возвращается к проблемному вопросу: "Почему не стоит писать всю программу одной длинной последовательностью? Как декомпозиция помогает на ОГЭ и в реальной разработке?" Учитель принимает 2–3 ответа и уточняет формулировки.
Отвечают: "Подзадачи легче проверить и исправить", "функцию можно использовать повторно", "структурированный код проще читать".
2 мин
Учитель сообщает домашнее задание и критерии: "Выберите один уровень. В каждом варианте обязательно запишите план подзадач и приведите два теста, включая граничный. Ошибки не скрываем: указываем, что исправили и почему."
Записывают домашнее задание, задают уточняющие вопросы, отмечают выбранный уровень в дневнике.
Завершение этапа: учитель подводит итог: "Сегодня вы прошли полный путь разработчика: поняли условие, разделили его на подзадачи, написали код и проверили результат. Такой порядок снижает количество ошибок и помогает уверенно решать алгоритмические задания. На следующем уроке продолжим анализировать программы и научимся находить ошибки в более сложных структурах данных."

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

  • «5» — программа запускается без ошибок, содержит корректное разбиение на подзадачи, функцию и необходимую алгоритмическую конструкцию, правильно работает на обычных и граничных тестах; ученик может объяснить назначение основных строк.
  • «4» — программа в основном верна, но допущена одна небольшая ошибка в оформлении или объяснении; после подсказки ученик самостоятельно исправляет её и получает правильный результат.
  • «3» — выполнена базовая часть задания, однако есть ошибки в условии, цикле или тестировании; ученик понимает общий план и исправляет программу с существенной помощью учителя.
  • Ниже базового уровня — программа не запускается или не отражает план решения, отсутствуют проверка результата и объяснение выбора конструкций.

Рефлексия

Вопрос для ученика
Цель вопроса
Что нового вы узнали о разбиении задачи на подзадачи?
Проверка осознания принципа декомпозиции.
Какую роль в вашей программе выполняет функция?
Выявление понимания назначения вспомогательного алгоритма.
На каком тесте программа могла бы ошибиться и почему?
Формирование навыка анализа граничных данных и логики условия.
Что помогло вам исправить ошибку: план, тест или обсуждение с партнёром?
Определение эффективных стратегий самоконтроля и сотрудничества.

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

"Сегодня мы научились превращать большую задачу в последовательность понятных подзадач. Функция помогает оформить отдельное действие, цикл — повторить его, а ветвление — выбрать результат по условию. Самая частая ошибка — забыть про граничные значения или перепутать знак сравнения, поэтому тестирование обязательно. Вы уже используете алгоритм, который пригодится и в практических заданиях ОГЭ, и в реальных программах. На следующем уроке мы усложним обработку данных и продолжим отладку кода."

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

Уровень
Что задать
Зачем
Базовый (обязательный)
Составить программу с функцией `is_even(x)`, которая определяет чётность числа, и обработать 6 заданных чисел с помощью цикла. Привести два теста, один из них — для нуля.
Закрепляет функцию, условие и цикл; при проверке обратить внимание на знак сравнения с остатком от деления и корректность результата для нуля.
Средний (повышающий)
Составить программу с функцией `is_valid(score)`, проверяющей, попадает ли оценка в диапазон от 0 до 100, и посчитать количество допустимых значений в списке из 8 чисел.
Формирует умение объединять проверку границ и обработку списка; при проверке оценить тесты для значений 0, 100, отрицательного числа и числа больше 100.
Продвинутый (дополнительный)
Разработать функцию `count_greater(values, limit)`, которая возвращает количество элементов списка, больших заданного порога. Добавить цикл ввода или обработки нескольких наборов данных и кратко описать разбиение задачи на подзадачи.
Развивает создание многоуровневого алгоритма и работу с параметрами; при проверке обратить внимание на повторное использование функции, имена переменных и объяснение алгоритма.
Контрольные вопросы перед выходом из класса: «Что такое декомпозиция задачи?», «Чем функция отличается от цикла?», «Почему граничные значения обязательны при тестировании?», «Как определить, где в программе должно быть ветвление?»

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

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

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

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

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

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

Как скачать план урока «Разбиение задачи на подзадачи. Составление алгоритмов и программ с использованием ветвлений, циклов и вспомогательных алгоритмов»?

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

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

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

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

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