§ 17. Типы алгоритмов
Привет! Сегодня мы с тобой узнаем, что алгоритмы бывают разных типов. Представь, что алгоритм — это инструкция, как действовать. А действовать можно по-разному: идти по прямой дороге, выбирать путь на перекрёстке или ходить по кругу. Вот об этом мы и поговорим!
🔑 Ключевые слова урока
Линейные алгоритмы
Команды выполняются последовательно
Алгоритмы с ветвлениями
Выбор действия зависит от условия
Алгоритмы с повторениями
Действия повторяются несколько раз
💡 Главное правило
В алгоритмах команды записываются друг за другом в определённом порядке. Но что дальше происходит с этими командами — зависит от типа алгоритма!
📏 Линейные алгоритмы
Линейный алгоритм — это алгоритм, в котором команды выполняются точно в том порядке, в котором они записаны. Одна за другой, без всяких скачков и возвратов. Как будто ты идёшь по прямой дорожке и не сворачиваешь.
💡 Определение
Алгоритм, в котором команды выполняются в порядке их записи, т. е. последовательно друг за другом, называется линейным.
Пример из жизни: посадка дерева
Представь, что тебе нужно посадить дерево во дворе школы. Вот как будет выглядеть алгоритм:
Линейный алгоритм посадки дерева — каждое действие строго по порядку
🥄 Выкопать в земле ямку
🌱 Опустить в ямку саженец
⛏️ Засыпать ямку с саженцем землёй
💧 Полить саженец водой
✅ Важно!
Видишь? Каждое действие идёт строго после предыдущего. Нельзя сначала полить саженец, а потом выкопать ямку — ничего не получится! Порядок очень важен.
🌳 Алгоритмы с ветвлениями
А теперь представь, что тебе нужно принять решение. Например: если на улице дождь — бери зонтик, а если солнце — надень кепку. Вот это и есть ветвление!
Ветвление: выбор действия зависит от условия
💡 Определение
Ветвление — это когда в зависимости от выполнения или невыполнения какого-то условия совершается одна или другая последовательность действий. Как будто алгоритм стоит на перекрёстке и выбирает, куда идти.
Как это записывается?
Логику принятия решения можно описать так:
📝 Формула ветвления
ЕСЛИ <условие> ТО <действия 1> ИНАЧЕ <действия 2>
Примеры ветвлений
🏃 Пример 1: с двумя вариантами
ЕСЛИ хочешь быть здоров, ТО закаляйся, ИНАЧЕ валяйся весь день на диване.
🍄 Пример 2: с одним вариантом
ЕСЛИ назвался груздем, ТО полезай в кузов.
Во втором примере действие выполняется, только если условие верно. А если условие не выполняется — ничего не происходит.
Пример из школьной жизни: план Васи
Давай посмотрим, как это работает на примере. Вася из 6 класса планирует свой вечер:
📱 План Васи
- ЕСЛИ Павлик дома, ТО будем решать задачи по математике.
- ИНАЧЕ позвонить Марине и вместе готовить доклад по биологии.
- Если же Марины нет дома, ТО надо сесть за сочинение.
Видишь? Вася проверяет условия и выбирает, что делать. Это вложенное ветвление — одно ветвление внутри другого!
Блок-схема плана Васи с вложенными ветвлениями
🪙 Задача с монетами
А вот интересная задача! У тебя есть три одинаковые монеты, но одна из них фальшивая (более лёгкая). Как найти её с помощью одного взвешивания на чашечных весах?
Ветвление помогает найти фальшивую монету
🔍 Решение
- Положи по одной монете на каждую чашу весов, третью отложи в сторону
- ЕСЛИ весы в равновесии, ТО фальшивая — отложенная монета
- ИНАЧЕ фальшивая — та, которая на поднявшейся вверх чаше
Вот так ветвление помогает решать логические задачи!
🔄 Алгоритмы с повторениями
Иногда нужно повторять одно и то же действие много раз. Например, решать задачи по математике, пока все не закончатся. Или чистить зубы круговыми движениями. Такие алгоритмы называются циклическими или алгоритмами с повторениями.
💡 Определение
Цикл (повторение) — это форма организации действий, при которой выполнение одной и той же последовательности действий повторяется, пока выполняется некоторое заранее установленное условие.
Алгоритм, содержащий циклы, называется циклическим алгоритмом или алгоритмом с повторениями.
Пример из школьной жизни
Представь: тебе задали домашку по математике — решить несколько задач. Вот как будет выглядеть твой алгоритм:
Циклический алгоритм: повторяем действие, пока не выполнено условие
♻️ Как работает цикл
Видишь стрелку, которая возвращается назад? Это и есть цикл! Действие "Решить задачу" будет выполняться столько раз, сколько задач в твоём домашнем задании.
⚠️ Осторожно: зацикливание!
Важно! Если условие выхода из цикла никогда не наступит, то цикл будет повторяться бесконечно. Это называется зацикливанием.
Представь, что ты решаешь задачи, а они всё появляются и появляются — так ты никогда не пойдёшь гулять! При разработке алгоритмов нужно всегда следить, чтобы цикл когда-нибудь заканчивался.
📊 Сравнительная таблица типов алгоритмов
Давай соберём всё в одну таблицу, чтобы было проще запомнить!
💡 Самое главное
Давай подведём итоги того, что мы сегодня узнали!
❓ Вопросы для самопроверки
Проверь, как хорошо ты усвоил материал!
1. Какие алгоритмы называют линейными? Приведи свой пример линейного алгоритма
Подсказка: Подумай о действиях, которые ты делаешь каждый день: как ты собираешься в школу, делаешь бутерброд или чистишь зубы.
2. Исполнитель Вычислитель умеет только умножать на 2 и прибавлять 1. Придумай для него самый короткий алгоритм получения из числа 0 числа 50
Подсказка: Подумай, какие операции выгоднее делать — умножение даёт большие числа быстрее!
Попробуй: 0 → +1 → ×2 → ×2 → ×2 → ×2 → ×2 → +1 → +1 = 50
3. Что такое ветвление? Приведи пример алгоритма с ветвлением
Подсказка: Вспомни ситуации, когда тебе нужно было принимать решение: что надеть в зависимости от погоды, что делать в зависимости от ситуации.
4. Вспомни сказку «Гуси-лебеди». Какие условия должна была выполнить героиня?
Подсказка: Машенька должна была выполнить просьбы печки, яблони и речки — это ветвления!
Вспомни другие сказки, где герои должны были совершить выбор, определяющий их судьбу.
5. Перефрази информацию о профессиях с помощью слов «ЕСЛИ ... ТО»
Стихотворение:
- В булочной пахнет тестом и сдобой
- Мимо столярной мастерской пахнет стружкою и свежей доской
- Пахнет маляр скипидаром и краской
- Пахнет стекольщик оконной замазкой
Пример: ЕСЛИ работаешь в булочной, ТО пахнет тестом и сдобой.
6. Из 9 монет одинакового достоинства одна фальшивая (более лёгкая). За какое минимальное число взвешиваний можешь её определить?
Подсказка: Используй ветвление и раздели монеты на группы по 3!
Ответ: за 2 взвешивания. Сначала раздели на 3 группы по 3 монеты, затем найди лёгкую группу, потом из неё — лёгкую монету.
7. Что такое повторение (цикл)? Приведи пример алгоритма с повторением
Подсказка: Подумай о действиях, которые ты повторяешь много раз: чистка зубов, решение задач, чтение страниц книги.
8. Вспомни сказки, где герои повторяли одни и те же действия несколько раз
Подсказка: «Репка» (тянули-потянули), «Колобок» (катился и встречал персонажей), «Теремок» (звери заходили в теремок один за другим).
Какие ещё сказки ты знаешь с повторяющимися действиями?
9. Где окажется исполнитель-робот после 16 повторений команд: «Вперёд 10 шагов» и «Поворот на 90° направо»?
Подумай:
- Что происходит после 4 повторений? (Робот вернётся в начальную точку, сделав квадрат)
- А после 8 повторений? (Два квадрата — снова в начале)
- А после 16? (Четыре квадрата — опять в начальной точке!)
10. Задача о переправе: 40 солдат и лодка с двумя мальчиками. Как переправить всех?
Условия:
- Лодка вмещает ОДНОГО солдата или ДВУХ мальчиков
- Солдата и мальчика вместе лодка не вмещает
Подсказка: Мальчики должны помогать! Они переправляют лодку обратно.
Цикл действий (повторить 40 раз):
- Оба мальчика переплывают на другой берег
- Один мальчик возвращается с лодкой
- Солдат переплывает на другой берег
- Второй мальчик возвращается с лодкой
11. Исполнитель Вычислитель: составь программы для получения из 0 чисел 1024 и 500
Для числа 1024:
Подсказка: 1024 = 2¹⁰
Решение: 0 → +1 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 = 1024
Для числа 500:
Решение: 0 → +1 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 → ×2 → -1 → -1 → -1 → -1 (если есть вычитание) или найди другой путь!
🎮 Компьютерный практикум
После изучения теории ты можешь выполнить практические работы!
📊 Создаём линейную презентацию
Научишься создавать презентации, где слайды идут строго один за другим — это линейный алгоритм!
🔗 Создаём презентацию с гиперссылками
Добавишь в презентацию ссылки, по которым можно переходить на разные слайды — это ветвление!
♻️ Создаём циклическую презентацию
Сделаешь презентацию, которая показывается по кругу — это алгоритм с повторением!
✨ Интересный факт
Знаешь ли ты, что все компьютерные программы, игры и приложения состоят из комбинаций этих трёх типов алгоритмов? Даже самая сложная игра на твоём смартфоне использует линейные участки кода, ветвления (когда нужно выбрать действие) и циклы (когда нужно что-то повторить)!