"Информатика (в 3 частях)", Семёнов А.Л., Рудченко Т.А.
Условие помогает алгоритму выбрать действие в зависимости от ситуации. Например, робот сначала проверяет, есть ли перед ним бусина, и только потом решает, брать её или сообщить об отсутствии. Такая проверка называется ветвлением: при одном результате выполняется одна команда, при другом — другая или никакая. Главное — правильно сформулировать вопрос, заранее определить действия для ответов «да» и «нет» и выполнять команды в нужном порядке.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Условие — вопрос о ситуации, на который можно ответить только «да» или «нет». Например: «Бусина есть?» Такой вопрос нужен, чтобы алгоритм мог выбрать дальнейшее действие, а не выполнять одну и ту же команду вслепую.
Ветвление — часть алгоритма, в которой дальнейшие шаги зависят от результата проверки условия. Если ответ один, исполнитель действует одним способом, если другой — иначе или пропускает команду. Ветвление позволяет учитывать разные ситуации.
Условный оператор «если — то» — запись, задающая действие при выполнении условия. Сначала проверяется часть «если», затем при ответе «да» выполняется действие после слова «то». Такая запись показывает порядок: сначала проверка, потом команда.
Полное и неполное ветвление — конструкции, в которых предусмотрено действие только для одного результата условия или для обоих. В неполной конструкции при одном ответе команда выполняется, а при другом пропускается. В полной конструкции для каждого ответа есть своя ветвь.
Перед командой «взять бусину» нужно проверить, действительно ли бусина находится на нужном месте. Иначе робот получит действие, которое нельзя выполнить в пустой позиции. Проверка защищает алгоритм от неверного шага и помогает ему работать не только в одном заранее известном случае.
Условие формулируют как короткий вопрос с однозначными ответами. Подходят варианты «Бусина есть?» или «На месте находится бусина?», потому что на них можно ответить только «да» или «нет». Фраза «Взять бусину» условием не является: это действие, а не вопрос о состоянии ситуации.
После проверки результат определяет дальнейший путь алгоритма. При истинном условии, то есть при ответе «да», робот выполняет связанную с ним команду. При ложном условии команда этой ветви пропускается, либо запускается действие, записанное для ответа «нет».
Неполное ветвление используют, когда действие требуется только в одном случае. Например, если бусина есть, её нужно взять, а при отсутствии бусины достаточно продолжить работу без специального сообщения. Полное ветвление нужно тогда, когда оба результата требуют разных действий: взять бусину в одном случае и сообщить о её отсутствии в другом.
Чтобы проследить алгоритм, нужно двигаться по позициям последовательно и каждый раз заново отвечать на вопрос условия. На позиции с бусиной выбирается ветвь «да», а на пустой позиции — ветвь «нет» или пропуск команды. После выполнения выбранного действия робот переходит к следующему шагу и не выполняет противоположную ветвь.
| Конструкция | Если условие истинно | Если условие ложно |
|---|---|---|
| Неполное ветвление | Выполняется указанная команда | Команда пропускается, алгоритм продолжается дальше |
| Полное ветвление | Выполняется первая ветвь | Выполняется вторая ветвь |
| Проверка наличия бусины | Выполняется действие для случая «бусина есть» | Выполняется действие для случая «бусины нет» |
Сначала найдите в таблице результат проверки, затем посмотрите, какая команда ему соответствует. Для неполного ветвления при ложном условии отдельного действия нет: алгоритм идёт дальше. Для полного ветвления всегда выбирается одна из двух ветвей.
Робот подходит к месту, где бусина может быть, и должен взять её только в том случае, если она есть. Здесь не требуется отдельная команда для пустого места, поэтому подходит неполное ветвление.
Получается условный оператор: «Если бусина есть, то взять бусину». Ответ: робот берёт бусину только при её наличии и не пытается взять её с пустого места.
Теперь робот должен выполнить действие при любом результате проверки: либо взять бусину, либо сообщить, что её нет. Значит, одной ветви недостаточно, и нужно полное ветвление.
Команды нельзя поменять местами: наличие бусины связано с первой ветвью, отсутствие — со второй. Ответ: робот выбирает ровно одно действие после проверки.
Пусть робот проверяет четыре позиции подряд, а бусины находятся только на первой и третьей. Нужно для каждой позиции определить результат условия, а затем выбрать команду.
Ответ: команда выполняется на первой и третьей позициях, а на второй и четвёртой не выполняется. Прослеживание по шагам помогает не переносить результат одной проверки на следующую позицию.
Команду выполняют до проверки наличия бусины. Так происходит, когда условие забывают поставить перед действием. Проверьте алгоритм: вопрос о бусине должен стоять раньше команды «взять».
При отсутствии бусины всё равно выполняют команду «взять». Ошибка возникает, если не учитывать ложный результат условия. Для самопроверки отдельно разберите случай «бусины нет» и убедитесь, что команда пропускается или заменяется второй ветвью.
Путают условие и действие. Запись «Взять бусину» описывает команду, а не вопрос с ответами «да» и «нет». Проверьте формулировку: условие должно спрашивать о наличии или отсутствии бусины.
Меняют местами ветви полного ветвления. Тогда робот будет брать бусину на пустом месте или сообщать об отсутствии там, где она есть. Подпишите для каждой ветви ответ условия и только после этого запишите команды.
До изучения ветвления нужно уметь читать алгоритм по шагам, различать команды исполнителя и описывать его состояние. Без этого трудно понять, в какой момент выполняется проверка и как меняется положение робота.
Ветвление нужно для алгоритмов с разными ситуациями: оно станет основой нескольких проверок подряд, вложенных условий и программирования. Позже те же идеи помогут выбирать действия в циклах и более сложных программах.
Почему нельзя сразу дать команду взять бусину?
Если бусины нет, робот не сможет правильно выполнить команду или нарушит правила работы. Сначала нужно проверить условие, а затем выбирать действие.
Как понять, является ли запись условием?
Условие формулируется как вопрос, на который можно однозначно ответить «да» или «нет». Например: «Бусина есть?» — условие, а «Взять бусину» — команда.
Что происходит, если условие оказалось ложным?
При неполном ветвлении команда внутри условия пропускается, и алгоритм продолжается дальше. При полном ветвлении выполняется команда второй ветви.
Чем полное ветвление отличается от неполного?
В неполном ветвлении действие предусмотрено только для одного результата проверки. В полном ветвлении есть отдельные действия и для истинного, и для ложного результата.
Можно ли использовать несколько проверок подряд?
Да, несколько условий можно проверять одно за другим. После каждой проверки робот выполняет нужную команду и переходит к следующему шагу алгоритма.
Если бусины нет