Ветвления в алгоритмах: если, то, иначе
Как алгоритмы выбирают путь: полная и неполная форма ветвления, ромб-условие на блок-схеме и живые примеры — светофор, пароль, куртка по погоде.
Ты бежишь на физкультуру, но у пешеходного перехода загорается красный — и ноги сами останавливаются. Мозг за долю секунды проверил условие «горит красный?» и выбрал команду «стоять». Точно так же стиральная машина не открывает дверцу, пока в барабане вода, а телефон не пустит внутрь без правильного пароля. Выбор одного из двух путей — это ветвление, и сегодня ты научишься его формулировать, рисовать на блок-схеме и проверять на живых примерах.
Полная и неполная формы

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