"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович
Условие помогает алгоритму выбирать действие в зависимости от ситуации. Оно сравнивает значения или проверяет свойство и получает один из двух результатов: истину или ложь. Условный оператор использует этот результат, чтобы направить выполнение по нужной ветви. Неполное ветвление задаёт действие только для истинного условия, а полное предусматривает варианты и для истины, и для лжи. Составные условия позволяют проверять несколько требований сразу.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Условие — логическое выражение, результатом которого является одно из двух значений: истина или ложь. Оно появляется, когда сравнивают значения или проверяют свойство объекта. Условие нужно, чтобы алгоритм мог выбрать действие по результату проверки.
Условный оператор — команда, которая выбирает дальнейшие действия в зависимости от истинности условия. Сначала она проверяет логическое выражение, а затем направляет выполнение по подходящей ветви. Благодаря этому один алгоритм может работать по-разному для разных исходных данных.
Неполное ветвление — конструкция, в которой действие выполняется только при истинном условии, а при ложном алгоритм продолжается без него. Такая форма нужна, когда при отрицательном результате ничего специально делать не требуется. Например, сообщение можно вывести только для положительного числа.
Полное ветвление — конструкция, в которой для истинного и ложного результатов условия предусмотрены разные действия. Из двух ветвей выбирается только одна. Эта форма нужна, когда любой результат проверки должен привести к своему сообщению или команде.
Сравнение значений образует условие, потому что у сравнения есть однозначный результат. Например, выражение x > 0 истинно, если x действительно больше нуля, и ложно во всех остальных случаях. Проверка свойства работает так же: выражение «число делится на 2 без остатка» получает один из двух ответов, поэтому его можно использовать для выбора действий.
Условный оператор сначала вычисляет условие, а не выполняет обе возможные команды подряд. Если результат истина, управление переходит к первой подходящей ветви; если ложь — к другой ветви или сразу к следующей команде. Такой порядок нужен, чтобы алгоритм не выполнял действия, которые относятся к неподходящей ситуации.
В неполном ветвлении при истинном условии выполняется указанная команда или группа команд. При ложном результате эта группа пропускается, потому что для такой ситуации отдельное действие не задано. Затем выполнение продолжается с команды, расположенной после ветвления.
В полном ветвлении проверка разделяет все ситуации на две альтернативы: условие истинно или условие ложно. При первом результате выполняется первая ветвь, при втором — вторая, но одновременно они не выполняются. Поэтому после завершения выбранной ветви алгоритм продолжает работу с общей следующей командой.
Составное условие объединяет несколько простых проверок логическими операциями. Операция «и» требует истинности всех частей, «или» допускает истинность хотя бы одной, а «не» меняет результат на противоположный. Чтобы проверить себя, полезно перечислить нужные случаи и убедиться, что выбранные операции включают каждый из них, но не лишние случаи.
| Характеристика | Неполное ветвление | Полное ветвление |
|---|---|---|
| Какие результаты условия рассматриваются | В основном истинный результат | Истинный и ложный результаты |
| Действия при истинном условии | Выполняется заданное действие | Выполняется первая ветвь |
| Действия при ложном условии | Действие пропускается | Выполняется вторая ветвь |
| Что происходит после выполнения выбранной ветви | Алгоритм идёт к следующей команде | Алгоритм идёт к следующей общей команде |
| Пример применения | Вывести сообщение, если число положительное | Сообщить, чётное число или нечётное |
Сначала определите, нужно ли действие только при одном результате или для обоих результатов. Если для ложного условия ничего делать не требуется, подходит неполное ветвление; если нужны две альтернативы, выбирайте полное. Таблица помогает проверить, не забыта ли одна из ситуаций.
Условие: составить алгоритм, который выводит сообщение, если введённое число положительное. Отрицательное число и ноль не требуют отдельного сообщения. Поэтому здесь достаточно неполного ветвления.
Ответ: используется неполное ветвление с проверкой x > 0.
Условие: определить, является ли введённое число чётным. У числа есть два нужных результата: остаток от деления на 2 равен нулю или не равен нулю. Значит, потребуется полное ветвление.
Ответ: остаток 0 даёт первую ветвь, любой другой остаток — вторую.
Условие: по длинам a, b и c определить, можно ли построить треугольник. Одной проверки недостаточно: каждая сторона должна быть меньше суммы двух других. Поэтому все три условия объединяются операцией «и».
Ответ: используется полное ветвление с составным условием (a < b + c) и (b < a + c) и (c < a + b).
Записывать вместо логического условия произвольное значение или действие — ошибка, потому что оператору нужен ответ «истина» или «ложь». Так поступают, когда путают проверку с обычной командой. Проверьте выражение вопросом: можно ли однозначно ответить на него «да» или «нет»?
Путать равенство с присваиванием опасно: присваивание меняет значение, а сравнение только проверяет его. Ошибка возникает из-за похожей записи операций в разных языках программирования. Перечитайте команду и убедитесь, что в условии именно сравниваются два значения.
В полной развилке иногда забывают ветвь для ложного результата, а в неполной добавляют ненужную альтернативу. Причина — неверно определённое требование задачи. Спросите себя, нужно ли отдельное действие при каждом из двух результатов.
Неверное объединение проверок меняет множество подходящих случаев. Например, операция «или» вместо «и» может разрешить треугольник с недопустимой стороной. Выпишите несколько конкретных наборов данных и проверьте составное условие вручную.
До изучения условий нужно уметь записывать алгоритмы и команды, вводить и выводить данные, а также сравнивать числа. Эти навыки дают исходные значения и простые проверки, из которых строится ветвление.
Условия применяются в циклах, где проверяют продолжение повторений, и при контроле правильности введённых данных. Они также нужны в алгоритмах, выбирающих действие в зависимости от ситуации.
Логические операции позволяют объединять простые проверки в составные условия. Так можно описывать более сложные требования, например одновременно проверять несколько неравенств.
Что в алгоритме называется условием?
Условие — это логическое выражение, результат которого может быть только «истина» или «ложь». Например, x > 0 проверяет, является ли число x положительным.
Чем неполное ветвление отличается от полного?
В неполном ветвлении действие задано только для истинного условия. В полном ветвлении предусмотрены две альтернативы: одна выполняется при истине, другая — при лжи.
Что происходит, если условие оказалось ложным?
В неполном ветвлении команда внутри ветви пропускается, и алгоритм переходит к следующей команде. В полном ветвлении выполняется действие, предназначенное для ложного результата.
Как объединить в одном условии несколько проверок?
Простые условия объединяют логическими операциями «и», «или» и «не». Например, для треугольника нужно соединить три неравенства операцией «и», потому что должны выполняться все требования одновременно.
Как проверить, что ветвление учитывает все нужные случаи?
Нужно перечислить возможные результаты условия и понять, какое действие соответствует каждому из них. В полном ветвлении должны быть обработаны и истина, и ложь, а составное условие не должно случайно исключать или добавлять случаи.
§ 11. Использование условий