Программирование контроллера: циклы, ветвления и датчики
Цели и задачи
- Цель: к концу урока научиться составлять и изменять программу для контроллера с использованием цепочки команд, цикла, ветвления и показаний датчика, а также проверять её работу на модели или учебном роботе.
- Познакомить учащихся с назначением алгоритмических конструкций «цикл» и «ветвление» в программе контроллера.
- Научить составлять цепочку команд для движения, использовать условие по показаниям датчика и находить ошибки в алгоритме.
- Развивать исследовательские умения через проверку гипотез, моделирование движения и анализ результатов выполнения программы.
- Воспитывать ответственность за безопасную работу с оборудованием, готовность к сотрудничеству и интерес к инженерным и цифровым профессиям.
Планируемые результаты
Личностные
- Проявляют интерес к созданию программируемых устройств и понимают практическую ценность алгоритмического мышления.
- Осознают необходимость аккуратности, ответственности и соблюдения правил безопасности при работе с контроллером и датчиками.
- Принимают возможность выбора уровня задания и оценивают собственный вклад в работу пары или группы.
- Понимают связь программирования контроллеров с профессиями инженера, разработчика, робототехника и специалиста по автоматизации.
Метапредметные
- Формулируют учебную проблему, выдвигают гипотезу и проверяют её экспериментально.
- Планируют последовательность действий, фиксируют результаты запуска программы и корректируют алгоритм.
- Читают и преобразуют информацию из текста учебника, схемы, программного кода и показаний датчика.
- Сотрудничают в паре или группе, распределяют роли, аргументируют выбор конструкции алгоритма и используют цифровые инструменты для проверки решения.
Предметные
- Знать назначение цепочки команд, цикла и ветвления в алгоритмах управления контроллером.
- Уметь составлять программу движения по заданной траектории с повторяющимися командами.
- Уметь записывать условие вида «если — то — иначе» и связывать его с показаниями датчика.
- Уметь моделировать работу программы, запускать её на контроллере или в виртуальной среде, обнаруживать и исправлять ошибку.
- Владеть навыком выбора подходящей алгоритмической структуры для решения практической задачи.
Универсальные учебные действия (УУД)
Личностные УУД
- Определяют личный интерес к программированию и выбирают посильный уровень практического задания.
- Осознают смысл точного выполнения команд для безопасного и предсказуемого поведения устройства.
- Проявляют готовность доводить эксперимент до результата, даже если первая версия программы не сработала.
- Оценивают собственное отношение к командной работе и уважительно воспринимают предложения одноклассников.
Регулятивные УУД
- Формулируют цель программы и составляют план её проверки.
- Прогнозируют результат выполнения цепочки команд, цикла и ветвления.
- Сопоставляют фактическое поведение контроллера с ожидаемым и находят место ошибки.
- Проводят самопроверку по чек-листу и вносят коррективы в программу.
- Оценивают результат работы по критериям: корректность, безопасность, объяснимость и устойчивость алгоритма.
Познавательные УУД
- Выделяют в условии задачи команды, повторяющиеся действия, условие остановки и показания датчика.
- Сравнивают линейный алгоритм, цикл и ветвление, устанавливают область применения каждой конструкции.
- Моделируют движение устройства на схеме и преобразуют схему в программу.
- Анализируют ошибочный фрагмент кода и предлагают исправление.
- Работают с информацией из учебника, ЭОР, интерфейса среды программирования и таблицы показаний датчика.
Коммуникативные УУД
- Распределяют в паре роли программиста, оператора и наблюдателя.
- Задают уточняющие вопросы о порядке команд и условии срабатывания датчика.
- Аргументируют выбор цикла или ветвления при защите решения.
- Согласуют изменения программы после обсуждения результатов эксперимента.
- Дают однокласснику обратную связь по формуле «две сильные стороны и один совет».
Подготовка учителя к уроку
- Подготовить контроллеры или учебные робототехнические наборы с приводами и датчиком расстояния или освещённости: один комплект на пару; при отсутствии наборов открыть симулятор контроллера на компьютерах.
- Установить и проверить среду программирования, создать пустой проект и заранее протестировать команды движения, остановки, чтения датчика, цикла и ветвления.
- Распечатать карточки трёх уровней сложности: базовые — по одной на ученика, стандартные и творческие — по одной на пару.
- Подготовить маршрут на полу из малярной ленты, ограничители, картонные препятствия и безопасную рабочую зону для движения моделей.
- Вывести на экран памятку: «Цепочка команд», «Повторять, пока…», «Если условие истинно, то…, иначе…».
- Распечатать чек-лист проверки программы по одному на пару и лист самооценки по одному на ученика.
- Подготовить короткий фрагмент ЭОР или интерактивную модель, демонстрирующую изменение показаний датчика при приближении к препятствию.
- Разместить на доске проблемный вопрос: «Как заставить устройство самостоятельно объехать препятствие, если заранее неизвестно, где оно появится?»
- Подготовить инструкцию по технике безопасности: не касаться движущихся деталей, не направлять устройство на людей, отключать питание перед изменением соединений.
- Подготовить учебник, тетради, проектор, ноутбук учителя, компьютеры или планшеты, контроллеры, кабели, датчики, аккумуляторы, рулетку и таймер.
Ход урока
Этап 1. Организационный момент и мотивация (3 мин)
Время | Действие учителя | Действие учеников |
|---|---|---|
1 мин | Учитель приветствует класс и показывает на экране модель контроллера у препятствия: «Сегодня мы будем не просто писать команды, а учить устройство принимать решение. Проверьте, что на столе есть тетрадь, ручка и рабочий комплект. Двигаться модель будет только в обозначенной зоне». | Проверяют комплект, размещают контроллер и детали в рабочей зоне, называют правила безопасности: «Не трогать движущиеся детали и отключать питание перед изменением соединений». |
2 мин | Учитель задаёт проблемный вопрос: «Представьте, что робот должен ехать вперёд, пока путь свободен, а при появлении препятствия остановиться или повернуть. Можно ли заранее записать одну длинную цепочку команд? Как программа узнает, что препятствие появилось?» Учитель фиксирует гипотезы на доске. | Формулируют предположения: «Нужен датчик», «Команды должны повторяться», «Нужно условие». Выбирают в паре наиболее вероятную гипотезу. |
Этап 2. Актуализация знаний и инструктаж по ИКТ (5 мин)
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель показывает на экране три схемы: последовательное выполнение команд, повторение действий и выбор по условию. «Определите, какая схема является цепочкой команд. Где действие повторяется? Где программа выбирает один из двух вариантов?» | В парах подписывают схемы словами «цепочка», «цикл», «ветвление» и объясняют выбор: «В цепочке команды идут по порядку, в цикле повторяются, в ветвлении выбирается путь». |
2 мин | Учитель обращается к материалу учебника: «Найдите в тексте определения цикла, ветвления и датчика. Не переписывайте весь текст: выделите ключевые слова». Учитель организует приём «Подумай — обсуди в паре — поделись». | Читают фрагмент учебника, выделяют ключевые слова, обсуждают их в парах и формулируют определения: «Датчик получает информацию о состоянии среды», «Цикл повторяет команды», «Ветвление выбирает действие по условию». |
1 мин | Учитель демонстрирует интерфейс среды программирования: «Обратите внимание на область команд, поле программы и кнопку запуска. Перед запуском проверьте соединения и убедитесь, что модель стоит перед свободным участком маршрута». | Запускают среду, находят команды движения, остановки, чтения датчика и условный блок, не включая двигатель без разрешения учителя. |
Посмотрите план целиком
Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.
Этап 3. Постановка проблемы и планирование исследования (4 мин)
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель предлагает задачу: «Модель должна проехать вперёд десять коротких шагов. Можно записать десять одинаковых команд, но программа получится длинной. Как сделать её короче? Сравните два варианта и предположите, какой легче изменить». Учитель подводит к понятию цикла. | Сравнивают два варианта, формулируют гипотезу: «Удобнее использовать цикл, потому что число повторений можно изменить одним параметром». |
2 мин | Учитель распределяет роли: программист вводит команды, оператор отвечает за запуск, наблюдатель фиксирует результат. «Сначала составьте схему на бумаге, затем перенесите её в программу и сравните прогноз с фактическим движением». | Распределяют роли, записывают план: «запустить движение — повторить команду нужное число раз — остановить — сравнить результат». |
Этап 4. Открытие нового знания и моделирование (10 мин)
Время | Действие учителя | Действие учеников |
|---|---|---|
3 мин | Учитель записывает на доске условную модель: «Цепочка: вперёд → вперёд → вперёд → стоп. Цикл: повторить команду “вперёд” 3 раза → стоп». «Что изменится, если поставить число повторений 5? А если убрать команду остановки?» | Моделируют движение фишкой по клеткам, отвечают: «Модель проедет дальше», «Без остановки она продолжит движение или выполнит следующую команду». |
3 мин | Учитель показывает блок ветвления: «Если датчик обнаружил препятствие, то остановиться и повернуть, иначе продолжать движение. Условие проверяется во время работы программы, поэтому робот может реагировать на неизвестную заранее ситуацию». | Составляют устный алгоритм: «Если расстояние меньше заданного, то остановиться и повернуть, иначе ехать вперёд». Записывают два возможных результата проверки условия. |
4 мин | Учитель демонстрирует программу на экране и проговаривает: «Сначала контроллер считывает датчик. Если расстояние меньше порога, выполняется поворот; если нет — движение продолжается. Затем цикл возвращает программу к новой проверке. Посмотрите на модель и объясните, почему датчик должен проверяться многократно». | По схеме прослеживают путь команд, объясняют: «Одной проверки недостаточно, потому что препятствие может появиться позже». В тетради рисуют блок-схему цикла с ветвлением и стрелкой возврата к проверке датчика. |
Запись в тетрадях
- Цепочка команд — последовательное выполнение команд одна за другой.
- Цикл — повторение одной или нескольких команд указанное число раз или до выполнения условия.
- Ветвление — выбор действия в зависимости от истинности условия.
- Алгоритм управления: повторять: если датчик обнаружил препятствие, то остановиться и повернуть, иначе двигаться вперёд.
Этап 5. Первичное закрепление: практическая работа «Робот-разведчик» (9 мин)
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель раздаёт карточки и объясняет базовое задание: «Соберите программу, в которой модель движется вперёд, повторяет проверку датчика и при обнаружении препятствия останавливается. Сначала нарисуйте схему, затем внесите её в среду. Запуск выполняйте только после проверки соединений». | Читают условие, рисуют блок-схему, распределяют роли и составляют программу с циклом и ветвлением. |
4 мин | Учитель подходит к парам и задаёт проблемные вопросы: «Какое условие вы выбрали? Что произойдёт, если порог окажется слишком большим? Где программа возвращается к новой проверке? Не исправляю код за вас — найдите место расхождения между прогнозом и результатом». | Запускают модель, измеряют момент реакции датчика, фиксируют результат в таблице «ожидалось — получилось», изменяют порог или порядок команд. |
3 мин | Учитель предлагает выбор: «Если базовое задание выполнено, выберите уровень. Стандартный: при препятствии остановиться и повернуть на 90 градусов. Творческий: разработать поведение “исследователя”, который объезжает препятствие и продолжает маршрут. Решение объясните одной минутой». | Выбирают задание, изменяют программу, проверяют её не менее двух раз и кратко объясняют партнёрам, почему использовали цикл и ветвление. |
Эталон решения
Этап 6. Самостоятельная работа с самопроверкой (7 мин)
Время | Действие учителя | Действие учеников |
|---|---|---|
4 мин | Учитель раздаёт индивидуальные карточки трёх уровней. «Выберите уровень самостоятельно. В базовом задании подпишите конструкции, в стандартном восстановите порядок команд, в повышенном найдите ошибку в алгоритме и предложите исправление». На экране появляется эталон после окончания времени. | Выполняют выбранный вариант. Базовый уровень: определяют, где цепочка, цикл и ветвление. Стандартный: восстанавливают алгоритм «датчик — условие — движение или поворот — повтор». Повышенный: находят отсутствие возврата к проверке датчика. |
2 мин | Учитель организует самопроверку: «Сверьте не только ответ, но и объяснение. Отметьте зелёным верное, жёлтым — требующее исправления». | Сверяют работу с эталоном, исправляют одну ошибку и записывают, какое правило помогло её найти. |
1 мин | Учитель проводит быстрый «Светофор»: «Поднимите зелёную карточку, если можете объяснить цикл; жёлтую — если нужна тренировка; красную — если пока не понимаете, как датчик влияет на условие». | Показывают цвет, формулируют вопрос при необходимости, выбирают материал для повторения. |
Этап 7. Рефлексия, оценивание и домашнее задание (7 мин)
Время | Действие учителя | Действие учеников |
|---|---|---|
3 мин | Учитель предлагает приём «Одноминутная рефлексия»: «Закончите три фразы: “Сегодня я научился…”, “В моей программе сработало…”, “Мне нужно проверить…”. Затем обменяйтесь листами с соседом и напишите две сильные стороны и один совет». | Заполняют фразы, обмениваются листами, дают конкретную обратную связь: «У вас правильно организован цикл; условие записано понятно; проверьте порог датчика». |
2 мин | Учитель оценивает практическую работу по критериям и сообщает: «При оценивании учитываются корректность программы, использование цикла и ветвления, проверка датчика, безопасность и объяснение решения». | Сопоставляют свою работу с критериями, называют уровень выполнения и один способ улучшения. |
2 мин | Учитель объявляет домашнее задание: «Выберите уровень по готовности. В тетради обязательно запишите алгоритм словами или блок-схемой, а при наличии среды можете проверить его в симуляторе». | Записывают выбранное задание, задают уточняющие вопросы, отвечают на контрольные вопросы перед выходом. |
Критерии оценивания практической работы
- «5» — программа запускается без критических ошибок, использует цепочку команд, цикл и ветвление, корректно реагирует на датчик не менее двух раз, учащиеся объясняют алгоритм и соблюдают правила безопасности.
- «4» — программа в основном выполняет задачу, использует цикл и ветвление, но допускает одну неточность в пороге датчика, траектории или объяснении; после подсказки ошибка исправлена.
- «3» — выполнена базовая программа с цепочкой команд и частично применена одна алгоритмическая конструкция; запуск возможен только после помощи учителя, объяснение неполное.
- Ниже базового уровня — программа не собрана или не объяснено назначение ключевых блоков; учащийся повторяет правила безопасности и дорабатывает задание по индивидуальной карточке.
Рефлексия
Вопрос для ученика | Цель вопроса |
|---|---|
Что нового вы узнали о цикле и ветвлении? | Выявление осознания назначения двух алгоритмических конструкций. |
Как датчик изменил поведение вашей модели? | Проверка понимания связи между показанием датчика, условием и действием контроллера. |
В каком месте программы возникло затруднение? | Выявление типичных ошибок: порт датчика, знак условия, отсутствие повторной проверки. |
Что вы измените в своей программе при следующем запуске? | Формирование навыка самоконтроля, коррекции и планирования дальнейшей работы. |
Завершающее слово учителя
Домашнее задание
Уровень | Что задать | Зачем |
|---|---|---|
Базовый (обязательный) | Составить в тетради словесный алгоритм и блок-схему движения контроллера: ехать вперёд, повторять проверку датчика, при обнаружении препятствия остановиться. | Закрепляет назначение цикла, ветвления и датчика; при проверке обратить внимание на порядок команд и наличие повторной проверки. |
Средний (повышающий) | Разработать программу или её подробный псевдокод для объезда препятствия: при обнаружении препятствия остановиться, повернуть, проехать вперёд и продолжить движение; предусмотреть не менее двух проверок датчика. | Развивает применение алгоритмов в новой ситуации; проверить корректность условий, направление поворота и возможность продолжения маршрута. |
Продвинутый (дополнительный) | Создать творческий проект «Робот-разведчик»: описать маршрут, выбрать два разных поведения по показаниям датчика и объяснить, где используются цикл, ветвление и цепочка команд. При наличии среды протестировать проект. | Формирует проектное и алгоритмическое мышление; при проверке оценить самостоятельность решения, обоснование выбора конструкций и устойчивость алгоритма. |