
В тетради задача записана так: «решить систему y = x², если x > 0; y = x − 4, если x ≤ 0». Слово «система» пугает, а на деле это развилка на дороге: посмотрел на знак, свернул налево или направо. В блок-схеме развилку рисуют ромбом.
Чему научишься. После урока сможешь: нарисовать блок-схему с ромбом по условию вида «если…, то…, иначе…»; отличить полное ветвление от неполного; правильно обработать границу условия (x = 0); записать в ромб составное условие через ∧ и ∨; найти ошибку в чужой схеме трассировкой.
Вспомни. Полное и неполное ветвление, простое и составное условие разобраны в уроке «Ветвление. Разветвляющиеся алгоритмы». Операции ∧ и ∨ для составных условий: глава 1 этого курса.
Ромб «решение»
По ГОСТ ромб называется «решение». Внутри записано условие, то есть вопрос с ответом да или нет: x > 0? Из ромба выходят две стрелки, и это единственная фигура с двумя выходами. У каждой стрелки подпись: «да» и «нет» (в тетради «+» и «−»). Обе дороги потом сходятся в одну точку, и схема идёт дальше. Точка слияния — просто место, где линии встречаются, отдельной фигуры для неё нет. В тексте ромб показан рамкой ‹ › с вопросом внутри, например ‹ x > 0 ? ›.
ПОЛНОЕ ВЕТВЛЕНИЕ НЕПОЛНОЕ ВЕТВЛЕНИЕ
‹ условие? › ‹ условие? ›
да ╱ ╲ нет да ╱ ╲ нет
[действие 1] [действие 2] [действие] │
╲ ╱ ╲ │
●─────── ●───────
│ │
Полное: есть что делать и на «да», и на «нет».
Неполное: на «нет» ничего не делаем, просто идём дальше.
Разбор: система из тетради
Условие «y = x² при x > 0, иначе y = x − 4» задаёт полное ветвление. Ввод x, ромб с вопросом x > 0, две ветки с присваиванием, слияние, вывод y.
y = x² при x > 0; y = x − 4 при x ≤ 0
( Начало )
│
/ ввод x /
│
‹ x > 0 ? ›
да ╱ ╲ нет
[ y := x · x ] [ y := x − 4 ]
╲ ╱
●───────
│
/ вывод y /
│
( Конец )
Теперь трассировка при трёх входах. x = 5: условие 5 > 0 верно, ветка «да», y = 25. x = −1: условие −1 > 0 неверно, ветка «нет», y = −1 − 4 = −5. И самый важный запуск, x = 0: 0 > 0 неверно (ноль не больше нуля), ветка «нет», y = 0 − 4 = −4.
ТРАССИРОВКА ПРИ ТРЁХ ВХОДАХ x │ x > 0 ? │ ветка │ y ────┼─────────┼───────┼───── 5 │ да │ левая │ 25 −1 │ нет │ правая│ −5 0 │ нет │ правая│ −4 ← граница: 0 > 0 — НЕТ На экзамене чаще всего валятся именно на границе.
Почему в ромбе стоит x > 0, а не x ≤ 0? Можно и так, тогда ветки поменяются местами: на «да» y := x − 4, на «нет» y := x · x. Схема останется верной. Важно только одно: условие в ромбе и содержимое веток должны соответствовать друг другу.
Составное условие в ромбе
Иногда одного сравнения мало: «число от 1 до 10» означает x ≥ 1 и одновременно x ≤ 10. В ромб пишут составное условие через операции первой главы: (x ≥ 1) ∧ (x ≤ 10). Считается так же, как логическое выражение: каждое сравнение даёт 1 или 0, потом ∧ или ∨. При x = 7 оба сравнения истинны, 1 ∧ 1 = 1, ветка «да». При x = 12 второе ложно, 1 ∧ 0 = 0, ветка «нет».
СОСТАВНОЕ УСЛОВИЕ (x ≥ 1) ∧ (x ≤ 10) x │ x ≥ 1 │ x ≤ 10 │ ∧ │ ветка ────┼───────┼────────┼─────┼────── 7 │ 1 │ 1 │ 1 │ да 12 │ 1 │ 0 │ 0 │ нет 0 │ 0 │ 1 │ 0 │ нет ∧ — оба сравнения верны; ∨ — хотя бы одно.
Разбор 2: кто старше и на сколько
Вторая задача из тетради: даны годы рождения двух людей a и b, определить, кто старше и на сколько. Ловушка в самом условии: старше тот, у кого год рождения МЕНЬШЕ, поэтому в ромбе стоит a b. Ветвление работает дважды: сначала сравниваем, потом считаем разницу. И есть случай, о котором забывают: одногодки. Значит, внутри ветки «нет» нужен второй ромб.

Читаем схему при a = 2008, b = 2006. Первый ромб: 2008 < 2006? Нет. Второй ромб: 2008 = 2006? Нет. Значит, третья дорога: d := a − b = 2, вывод «второй», 2. Второй родился раньше, он старше на два года.
Контрольный вопрос. Какая фигура блок-схемы обозначает проверку условия и имеет два выхода, «да» и «нет»?
Подсказка: По ГОСТ эта фигура называется «решение».
Онлайн-проверка ответа появится позже
Контрольный вопрос. Схема из тетради: если x > 0, то y := x · x, иначе y := x − 4. Что выведет схема при x = 4? Впиши число.
Подсказка: Проверь условие для четвёрки и иди по нужной ветке.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Та же схема (x > 0: y := x · x, иначе y := x − 4). Что выведет схема при x = −3?
Подсказка: Отрицательное число больше нуля? Значит, ветка «нет».
Онлайн-проверка ответа появится позже
Контрольный вопрос. Та же схема (x > 0: y := x · x, иначе y := x − 4). Что выведет схема при x = 0?
Подсказка: Верно ли, что ноль больше нуля? От ответа зависит ветка.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Ветвление, у которого на «нет» нет никакого действия и стрелка сразу идёт к точке слияния, называется…
Подсказка: Одна из двух дорог пустая.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Сколько стрелок выходит из ромба «решение»? Впиши число.
Подсказка: По одной на каждый возможный ответ на вопрос в ромбе.
Онлайн-проверка ответа появится позже
Контрольный вопрос. В ромбе стоит составное условие (x > 0) ∧ (x < 5). Введено x = 7. Чему равно условие? Впиши 1 (ветка «да») или 0 (ветка «нет»).
Подсказка: Посчитай каждое сравнение отдельно, потом примени ∧: оно требует, чтобы верны были оба.
Онлайн-проверка ответа появится позже
Задание. Одногруппник рисовал схему системы «y = x² при x > 0, иначе y = x − 4», но перепутал ветки местами. Протрассируй ЕГО схему при x = 5 и впиши число, которое она выведет.
/ ввод x / │ ‹ x > 0 ? › да ╱ ╲ нет [ y := x − 4 ] [ y := x · x ] ╲ ╱ ●─────── │ / вывод y /Подсказка: Иди строго по нарисованному, а не по правильной задаче: при x = 5 условие верно, что стоит в ветке «да» у него?
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Схема «кто старше» по годам рождения: ромб a < b?, на «да» — d := b − a и вывод «первый», на «нет» — второй ромб a = b?, на его «да» — вывод «одногодки», на «нет» — d := a − b и вывод «второй». Введено a = 2005, b = 2009. Что выведет схема?
Подсказка: Сначала первый ромб: 2005 < 2009? Старше тот, кто родился раньше. Потом d по формуле этой ветки.
Онлайн-проверка ответа появится позже
Задание. Нарисуй на бумаге блок-схему вычисления модуля числа: ввод x, ромб, две ветки, вывод y. Протрассируй её при x = −8 и впиши число, которое схема выведет.
Принято, если: (1) число совпало; (2) в ромбе записано условие сравнения с нулём (рамка ромба на бумаге — настоящий ромб), из ромба выходят две подписанные стрелки, ветки сходятся в одну точку до вывода; (3) рядом таблица трассировки для трёх входов: −8, 0 и 8.Модуль числа |x|: если x < 0, то y := −x, иначе y := x.
Подсказка: Отрицательное число делают положительным, поменяв знак. Проверь на границе: что должно получиться при x = 0 и не сломается ли схема.
✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.
Онлайн-проверка ответа появится позже
Итог. Ромб «решение» задаёт вопрос и даёт две дороги (в задаче про годы рождения старше тот, чей год меньше): «да» и «нет», которые потом сходятся. Полное ветвление: действия на обеих дорогах, неполное: только на одной. Границу условия (x = 0 при x > 0) проверяй отдельно. Составное условие в ромбе считается как логическое выражение через ∧ и ∨. Схему проверяют трассировкой на 2–3 входах, включая граничный.
Что дальше
Ветвление выбирает дорогу один раз. А если действие нужно повторить сто раз, скажем, сложить числа от 1 до 100? Для этого стрелка в схеме поворачивает назад. Циклы разберём в следующем уроке.
