🧠 Алгоритмы • 🤖 Исполнители • 📊 Блок-схемы
5 класс • Технология • 45 минут
👨🏫 Учитель: Ахметов Рустам
🏫 Школа: ГБОУ № 1362
📅 Дата: 2025-06-11
🎯 Цель: Научиться мыслить как программист роботов!
🧠 Наша миссия:
🎯 К концу урока вы сможете:
🎬 Посмотрим видео: Роботы выполняют сложные задачи
❓ Проблемные вопросы:
🧠 Мозговой штурм: Запишите ваши идеи о том, как работает “мозг” робота:
🎮 Правила игры:
📋 Задача: Робот должен взять книгу со стола учителя
💻 Команды программиста:
🎯 Что мы увидим:
📝 Выводы из эксперимента:
✅ Что получилось:
❌ Какие были проблемы:
🧠 Главное открытие: Роботы НЕ думают сами - они выполняют заранее написанные инструкции!
📖 Алгоритм - это точная пошаговая инструкция для решения задачи или достижения цели.
🎭 Простыми словами: Алгоритм - это рецепт действий, написанный так, чтобы любой исполнитель (человек или робот) мог точно его выполнить.
🌍 Примеры алгоритмов в жизни:
1️⃣ Понятность
2️⃣ Пошаговость (дискретность)
3️⃣ Определенность (детерминированность)
4️⃣ Результативность
5️⃣ Массовость
📐 Алгоритм нахождения площади прямоугольника:
🔢 Алгоритм нахождения НОД (наибольший общий делитель):
📊 Проверим на примере: НОД(12, 8)
📝 Составьте алгоритм для одной из задач:
A) Заварить чай:
B) Найти нужную страницу в книге:
🔍 Проверьте свой алгоритм:
🎯 Исполнитель - это объект (человек, робот, компьютер), который может выполнять определенные команды.
🤖 Особенности робота-исполнителя:
🎭 Аналогия: Робот как очень послушный, но не очень умный помощник
🚗 Команды движения:
move_forward(distance) - двигаться вперед на расстояниеmove_backward(distance) - двигаться назадturn_left(angle) - повернуть налево на уголturn_right(angle) - повернуть направо на уголstop() - остановиться⏰ Команды времени:
wait(seconds) - ждать указанное времяrepeat(n, commands) - повторить команды n раз🔧 Команды действий:
grab_object() - взять предметrelease_object() - отпустить предметsend_signal() - подать сигнал📡 Команды датчиков:
read_distance() - измерить расстояниеread_color() - определить цветread_light() - измерить освещенность📝 Задача 1: Робот должен проехать квадрат со стороной 1 метр
💻 Алгоритм:
1. move_forward(100) // 100 см = 1 м
2. turn_left(90) // поворот на 90°
3. move_forward(100)
4. turn_left(90)
5. move_forward(100)
6. turn_left(90)
7. move_forward(100)
8. turn_left(90)
🔄 Оптимизированный алгоритм с циклом:
repeat(4, [
move_forward(100)
turn_left(90)
])
📝 Задача 2: Робот рисует букву “П”
💻 Алгоритм:
1. move_forward(100) // вертикальная линия вверх
2. turn_right(90) // поворот направо
3. move_forward(50) // горизонтальная линия
4. turn_right(90) // поворот направо
5. move_forward(100) // вертикальная линия вниз
🎯 Ваша очередь! Составьте алгоритм для буквы “Г”:
1. ________________________
2. ________________________
3. ________________________
4. ________________________
❌ Ошибка 1: Неточные команды
Плохо: "повернуть немного налево"
Хорошо: "turn_left(45)"
❌ Ошибка 2: Пропущенные шаги
Плохо:
1. move_forward(100)
2. move_forward(100) // забыли поворот!
Хорошо:
1. move_forward(100)
2. turn_left(90)
3. move_forward(100)
❌ Ошибка 3: Команды не из системы исполнителя
Плохо: "подумай и иди в нужную сторону"
Хорошо: "turn_left(90); move_forward(50)"
❌ Ошибка 4: Бесконечный цикл
Плохо: repeat(∞, [move_forward(10)])
Хорошо: repeat(5, [move_forward(10)])
📊 Блок-схема - это графическое представление алгоритма с помощью специальных символов.
✅ Преимущества блок-схем:
🎯 Применение:
⭕ Начало/Конец
📦 Процесс/Действие
🔷 Условие/Решение
📥 Ввод/Вывод
🔗 Соединительные линии
🎯 Алгоритм “Робот проезжает квадрат”
⭕ НАЧАЛО
↓
📦 i = 1
↓
🔷 i ≤ 4?
↙ ↘
НЕТ ДА
↓ ↓
⭕ КОНЕЦ 📦 move_forward(100)
↓
📦 turn_left(90)
↓
📦 i = i + 1
↓
↑ (возврат к условию)
🔍 Читаем блок-схему:
📝 Составьте блок-схему для алгоритма “Поиск предмета”
Условие: Робот должен найти красный предмет, двигаясь по прямой
💻 Алгоритм в виде команд:
1. move_forward(10)
2. color = read_color()
3. if color == "red": grab_object(), stop()
4. else: go to step 1
📊 Нарисуйте блок-схему:
⭕ _______
↓
📦 _________
↓
📥 _________
↓
🔷 _________
↙ ↘
___ ___
↓ ↓
___ 📦 ___
↓
📦 _______
↓
⭕ ___
🟢 Базовый уровень: Составьте блок-схему алгоритма “Робот едет до стены”
🟡 Средний уровень: Составьте блок-схему алгоритма “Робот собирает 3 предмета”
🔴 Продвинутый уровень: Составьте блок-схему алгоритма “Робот выходит из лабиринта”
📋 Условие: Робот должен убрать комнату размером 3×3 метра, проезжая по всей площади.
🤖 Доступные команды:
move_forward(distance) - ехать впередturn_left(90) - поворот налево на 90°turn_right(90) - поворот направо на 90°💡 Стратегии движения:
📝 Ваш алгоритм:
1. ________________________
2. ________________________
3. ________________________
4. ________________________
5. ________________________
📋 Условие: Робот должен доставить письма в 4 дома, расположенных по углам квадрата, и вернуться на почту (центр квадрата).
🏠 Схема района:
Дом A ---- 100м ---- Дом B
| |
100м ПОЧТА 100м
| ⭐ |
Дом D ---- 100м ---- Дом C
📮 Последовательность доставки: A → B → C → D → Почта
💻 Начало алгоритма:
1. move_forward(50) // к дому A
2. turn_left(90)
3. move_forward(50)
4. deliver_letter() // доставить письмо
5. ________________________
6. ________________________
🤔 Подумайте:
📋 Условие: Робот должен нарисовать простую картинку, используя движения как кисть.
🎨 Варианты рисунков:
🖌️ Особенности:
pen_up() и pen_down()set_color("red")💻 Пример - рисуем квадрат:
pen_down()
repeat(4, [
move_forward(100)
turn_left(90)
])
pen_up()
📢 Представление работы группы (3 минуты на группу):
1️⃣ Демонстрация алгоритма (1 мин)
2️⃣ Объяснение решения (1 мин)
3️⃣ Ответы на вопросы (1 мин)
🎯 Критерии оценки:
🏅 Лучшие практики:
❌ Типичные ошибки:
💡 Улучшения:
1. Определения:
2. Свойства алгоритмов: Соотнесите свойство с описанием:
| Свойство | Описание |
|---|---|
| Понятность | A) Алгоритм состоит из отдельных шагов |
| Дискретность | B) Каждый шаг должен быть ясным |
| Детерминированность | C) Алгоритм всегда дает результат |
| Результативность | D) При одних условиях - один результат |
3. Команды робота: Какие из команд может выполнить робот?
move_forward(100) ✓/❌think_about_problem() ✓/❌turn_left(90) ✓/❌be_creative() ✓/❌read_distance() ✓/❌📝 Задача 1: Исправьте ошибки в алгоритме
Алгоритм “Робот проезжает треугольник”:
❌ Неправильный алгоритм:
1. move_forward(100)
2. turn_left(120)
3. move_forward(100)
4. turn_left(120)
5. move_forward(100)
🤔 Что не так? ________________________
✅ Правильный алгоритм:
1. ________________________
2. ________________________
3. ________________________
4. ________________________
5. ________________________
6. ________________________
📝 Задача 2: Оптимизируйте алгоритм
Алгоритм “Робот едет по кругу 3 раза”:
❌ Длинный алгоритм:
1. move_forward(10); turn_left(10)
2. move_forward(10); turn_left(10)
3. move_forward(10); turn_left(10)
...
108. move_forward(10); turn_left(10)
✅ Короткий алгоритм с циклами:
repeat(__, [
repeat(__, [
move_forward(__)
turn_left(__)
])
])
📝 Задача 3: Создайте блок-схему
Алгоритм “Робот ищет выход из комнаты”:
1. Двигаться вперед
2. Если впереди стена - повернуть направо
3. Если видит дверь - выйти
4. Иначе продолжать поиск
📊 Нарисуйте блок-схему в тетради
🏆 Задание для продвинутых: Придумайте алгоритм для робота-футболиста:
🎨 Задание для творческих: Создайте алгоритм для робота, который рисует ваш автопортрет (упрощенный).
🧩 Задание для любознательных: Как изменится алгоритм движения по квадрату, если робот может двигаться только вперед и поворачивать только налево?
1. Блок-схема движения по восьмерке Составьте блок-схему алгоритма движения робота по траектории в форме цифры “8”.
Подсказки:
move_forward() и turn_left()2. Алгоритм из жизни Выберите одну бытовую задачу и составьте для нее подробный алгоритм:
Варианты задач:
Требования:
🤖 Для будущих программистов: Изучите один из языков программирования роботов:
Напишите простую программу движения робота по квадрату.
📊 Для любителей схем: Создайте большую блок-схему алгоритма “Утро школьника”:
🎮 Для творческих: Придумайте и опишите своего робота:
💻 Онлайн-симуляторы:
📚 Для чтения:
🎥 Видео:
🧠 Что мы узнали:
🛠️ Практические навыки:
🎯 Ключевые идеи урока:
“Алгоритм - это точный рецепт действий для достижения цели”
“Робот не думает сам - он выполняет наши инструкции”
“Хороший алгоритм должен быть понятным, точным и эффективным”
🔮 Связь с будущим:
🎯 Оцените свое понимание темы:
🟢 Зеленый светофор - Все понятно, могу объяснить другим
🟡 Желтый светофор - В основном понятно, есть вопросы
🔴 Красный светофор - Много непонятного, нужна помощь
💭 Поделитесь мыслями:
🔮 Следующий урок: “Программирование роботов: от идеи к коду”
🎯 Готовимся изучать:
🤖 ДОБРО ПОЖАЛОВАТЬ В МИР АЛГОРИТМИЧЕСКОГО МЫШЛЕНИЯ!
Теперь вы готовы программировать роботов!