🌿 Алгоритмическая структура «Ветвление»

Учим роботов принимать решения

🧠 Логика • 🔀 Условия • 🤖 Решения • ⚡ Практика
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 минуты):

  1. Задача - что решает робот?
  2. Условия - какие ситуации анализируются?
  3. Логика - как принимается решение?
  4. Схема - демонстрация блок-схемы
  5. Тестирование - примеры работы

❓ Вопросы для обсуждения:

  • Почему выбран этот тип ветвления?
  • Как поведет себя в нештатной ситуации?
  • Можно ли упростить условия?

🏆 Критерии оценки

Критерий Максимум
Правильность ветвления 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 сторон
  • Учет времени суток (день/ночь)
  • Реакция на спецтранспорт (скорая, пожарная)
  • Безопасность пешеходов

Требования:

  • Многозначное ветвление
  • Вложенные условия
  • Аварийные ситуации

🌟 Дополнительно

Найти примеры сложных систем принятия решений в:

  • Автономных автомобилях
  • Промышленных роботах
  • Умных домах
  • Медицинских системах

🎉 Итоги урока

🏆 Что освоили

✅ Изучили:

  • Три типа ветвлений (полное, неполное, многозначное)
  • Логические операции (И, ИЛИ, НЕ)
  • Создание блок-схем с условиями
  • Применение в робототехнике

🧠 Поняли:

  • Роботы могут принимать разумные решения
  • Логика - основа искусственного интеллекта
  • Правильные условия критически важны

🌟 Главный принцип

“Хороший алгоритм предусматривает все ситуации и принимает оптимальное решение в каждой”

🚀 Дальше: Комбинирование всех структур для сложного поведения

💡 Теперь ваши роботы умеют думать!