🌿 Алгоритмическая структура «Ветвление»
Учим роботов принимать решения
🧠 Логика • 🔀 Условия • 🤖 Решения • ⚡ Практика
7 класс • Технология • 45 минут
🎯 Цель урока
💡 Научимся:
- Создавать алгоритмы с условиями
- Использовать логические выражения
- Программировать принятие решений
- Строить блок-схемы с ветвлением
🤖 Результат: Роботы, которые думают!
🧠 Проблема: роботы должны выбирать
🚗 Реальная ситуация
Робот-автопилот на дороге:
❌ Плохой алгоритм:
11. Ехать прямо
22. Ехать прямо
33. Ехать прямо
✅ Умный алгоритм:
11. Если впереди препятствие → объехать
22. Если красный свет → остановиться
33. Если дорога свободна → ехать
💡 Нужна способность принимать решения!
🏠 Примеры “умного” поведения
Робот-пылесос:
- Батарея < 20% → на зарядку
- Обнаружена грязь → усилить мощность
- Встретил препятствие → объехать
Беспилотник:
- Плохая погода → вернуться
- Цель найдена → выполнить задачу
- Топливо на исходе → экономный режим
Промышленный робот:
- Деталь бракованная → отбросить
- Деталь хорошая → обработать
- Конвейер остановлен → ждать
🌿 Три типа ветвлений
1️⃣ Полное ветвление (IF-ELSE)
Структура:
1ЕСЛИ условие ТО
2 действие_1
3ИНАЧЕ
4 действие_2
Пример:
1if distance < 20: # Если близко препятствие
2 robot.turn_left() # Повернуть налево
3else: # Иначе
4 robot.move_forward() # Ехать прямо
Блок-схема:
1 [Расстояние < 20?]
2 / \
3Да/ \Нет
4 / \
5[Повернуть] [Вперед]
6 \ /
7 \ /
8 [Продолжение]
2️⃣ Неполное ветвление (IF)
Структура:
1ЕСЛИ условие ТО
2 действие
3# Если условие ложно - ничего не делаем
Пример:
1if battery_level < 10: # Если батарея разряжена
2 robot.play_alarm() # Подать сигнал
3 robot.return_to_base() # Вернуться на базу
4
5# Программа продолжается дальше независимо от условия
6robot.continue_mission()
Особенность: Действие только при истинном условии
3️⃣ Многозначное ветвление (IF-ELIF-ELSE)
Структура:
1ЕСЛИ условие_1 ТО
2 действие_1
3ИНАЧЕ ЕСЛИ условие_2 ТО
4 действие_2
5ИНАЧЕ ЕСЛИ условие_3 ТО
6 действие_3
7ИНАЧЕ
8 действие_по_умолчанию
Пример - сортировка по цвету:
1color = color_sensor.value()
2
3if color == "red":
4 robot.move_to_red_box()
5elif color == "blue":
6 robot.move_to_blue_box()
7elif color == "green":
8 robot.move_to_green_box()
9else:
10 robot.move_to_unknown_box() # Неизвестный цвет
🧮 Логические выражения
🔍 Операции сравнения
Знаки сравнения:
>
больше
<
меньше
>=
больше или равно
<=
меньше или равно
==
равно
!=
не равно
Примеры:
1distance > 50 # Расстояние больше 50 см
2battery_level <= 20 # Заряд не больше 20%
3color == "black" # Цвет точно черный
4temperature != 25 # Температура НЕ 25 градусов
🔗 Логические операции
AND (И) - оба условия истинны:
1if (distance > 30) and (battery > 50):
2 robot.move_fast() # Быстро ехать можно только если
3 # далеко до препятствия И много энергии
OR (ИЛИ) - хотя бы одно условие истинно:
1if (light_level < 10) or (time > 22):
2 robot.turn_on_lights() # Включить свет если темно ИЛИ поздно
NOT (НЕ) - противоположное значение:
1if not obstacle_detected:
2 robot.move_forward() # Ехать только если НЕ обнаружено препятствие
📊 Таблицы истинности
Операция AND:
A |
B |
A and B |
✅ |
✅ |
✅ |
✅ |
❌ |
❌ |
❌ |
✅ |
❌ |
❌ |
❌ |
❌ |
Операция OR:
A |
B |
A or B |
✅ |
✅ |
✅ |
✅ |
❌ |
✅ |
❌ |
✅ |
✅ |
❌ |
❌ |
❌ |
Сложный пример:
1# Ехать быстро только если: путь свободен И батарея заряжена И не ночь
2if (distance > 100) and (battery > 30) and (6 <= time <= 22):
3 robot.set_speed("fast")
🛠️ Практическая работа
📋 Задания по уровням
🟢 Базовый: “Сортировщик цветов”
Создать блок-схему робота который:
- Определяет цвет объекта (красный, синий, зеленый)
- Перемещает в соответствующий контейнер
- Неизвестный цвет → в отдельный ящик
🟡 Средний: “Исследователь маршрута”
Алгоритм для робота который анализирует:
- Тип поверхности (ровная/неровная)
- Наличие препятствий
- Уровень освещенности
- Выбирает оптимальный путь
🔴 Продвинутый: “Спасательный робот”
Система принятия решений учитывает:
- Обнаружение людей (звук, тепло)
- Уровень опасности (дым, температура)
- Доступные пути эвакуации
- Приоритеты спасения
⏱️ План работы (30 минут)
1Этап 1: Анализ задачи (5 мин)
2• Понимание условий
3• Выделение вариантов действий
4
5Этап 2: Создание блок-схемы (15 мин)
6• Выбор типа ветвления
7• Составление условий
8• Рисование схемы
9
10Этап 3: Проверка (7 мин)
11• Тестирование на примерах
12• Исправление ошибок
13
14Этап 4: Презентация (3 мин)
15• Объяснение решения
🎤 Защита проектов
📊 Структура презентации
План выступления (2 минуты):
- Задача - что решает робот?
- Условия - какие ситуации анализируются?
- Логика - как принимается решение?
- Схема - демонстрация блок-схемы
- Тестирование - примеры работы
❓ Вопросы для обсуждения:
- Почему выбран этот тип ветвления?
- Как поведет себя в нештатной ситуации?
- Можно ли упростить условия?
🏆 Критерии оценки
Критерий |
Максимум |
Правильность ветвления |
3 балла |
Логические выражения |
3 балла |
Качество блок-схемы |
3 балла |
Работоспособность |
3 балла |
Оптимальность |
3 балла |
Итого: 15 баллов
- 13-15: “5”
- 10-12: “4”
- 7-9: “3”
🧪 Быстрый тест
📝 Проверим понимание
Вопрос 1: Тип ветвления?
1if battery < 20:
2 robot.return_home()
3else:
4 robot.continue_work()
A) Неполное B) Полное C) Многозначное
Ответ: B) Полное (есть ИНАЧЕ)
Вопрос 2: Результат при distance=10, color=“blue”?
1if distance < 15:
2 if color == "red":
3 robot.stop()
4 else:
5 robot.slow_down()
6else:
7 robot.normal_speed()
Ответ: Замедление (distance<15 истинно, color≠“red”)
🤔 Рефлексия
📝 Завершите фразы
“Сегодня я узнал…”
🏠 Домашнее задание
🎯 Основное задание
“Умный светофор”
Создать блок-схему системы управления светофором:
- Анализ потока машин с 4 сторон
- Учет времени суток (день/ночь)
- Реакция на спецтранспорт (скорая, пожарная)
- Безопасность пешеходов
Требования:
- Многозначное ветвление
- Вложенные условия
- Аварийные ситуации
🌟 Дополнительно
Найти примеры сложных систем принятия решений в:
- Автономных автомобилях
- Промышленных роботах
- Умных домах
- Медицинских системах
🎉 Итоги урока
🏆 Что освоили
✅ Изучили:
- Три типа ветвлений (полное, неполное, многозначное)
- Логические операции (И, ИЛИ, НЕ)
- Создание блок-схем с условиями
- Применение в робототехнике
🧠 Поняли:
- Роботы могут принимать разумные решения
- Логика - основа искусственного интеллекта
- Правильные условия критически важны
🌟 Главный принцип
“Хороший алгоритм предусматривает все ситуации и принимает оптимальное решение в каждой”
🚀 Дальше: Комбинирование всех структур для сложного поведения
💡 Теперь ваши роботы умеют думать!