Что такое условие в программировании
easy

Что такое условие в программировании

Самая частая конструкция в программировании

Мы запустили цикл статей для новичков — тех, кто хочет разобраться в программировании, но пока не понимает, как там всё устроено. Здесь мы объясняем базовые вещи на примерах из жизни, чтобы было проще разобраться в том, что тут происходит. Сегодня разберём самую популярную конструкцию — условия и то, как они работают.

Что такое условия в программировании

С точки зрения ИТ, условие — это когда программе нужно произвести выбор, что делать дальше. В жизни такой выбор мы делаем постоянно:

  • если идёт дождь, то перед выходом из дома берём зонт;
  • если нужно заварить чай — ставим чайник;
  • если дома холодно — одеваемся теплее или включаем обогреватель.

В программировании всё работает точно так же:

  • если пользователь неправильно ввёл пароль — показываем сообщение;
  • если сервер не отвечает — берём данные из локальных записей;
  • если нажата кнопка регистрации — показываем форму для ввода данных нового пользователя.

Получается, что условия в программировании нужны для того, чтобы направить программу по нужному пути. При этом размер пути тут никак не ограничивается: бывает так, что условие приводит к тому, что программа выполняет дополнительно тысячу строк кода, и это нормально. 

Задача программиста — применять условия для того, чтобы программа в зависимости от разных условий делала то, что нужно в данный момент.

Что нужно для организации условия

Если мы посмотрим на все примеры выше, то увидим, что у них есть общая часть:

Если <что-то>, то <делаем какие-то действия>

В блок-схемах условие обычно рисуют так:

Что такое условие в программировании

Смотрите, как это работает:

  1. Программа встречает условие и проверяет его.
  2. Если условие выполняется (например, на улице идёт дождь), то делаем то, что написано для этого условия, а потом идём дальше
  3. Если условие не выполняется, то просто идём дальше.

Но что если от того, выполняется наше условие или нет, зависят разные действия? Например, нам нужно заполнить данные документа для регистрации. Если человек старше 14 лет, он заполняет данные паспорта, а если младше — данные свидетельства о рождении. Здесь нам нужно добавить дополнительную ветку — что делаем, если условие не выполняется:

если <возраст меньше 14 лет>, то <спрашиваем данные свидетельства о рождении>
иначе <спрашиваем данные паспорта>

У нас появилась новая конструкция — «иначе». Она срабатывает, если условие не выполняется, и программа сначала сделает то, что написано здесь, а потом продолжит работу. Теперь у нас появляются новые возможности: программа может реагировать на какие-то внешние условия (значение переменной, действия пользователей) и в зависимости от результатов делать разные вещи. 

Нарисуем это в блок-схеме:

Что такое условие в программировании

Как это выглядит в коде

Чтобы было понятнее, напишем проверку возраста в коде — заодно покажем, как условия реализуются в программировании. Используем для этого JavaScript — простой язык программирования для веба, который применяют для настройки поведения разных элементов на сайтах:

// предыдущий код в программе

// проверяем возраст
if (age < 14) {
  // показываем форму для заполнения данных свидетельства о рождении
  }
else {
  // показываем форму для заполнения данных паспорта
}
// продолжаем работу программы

Вот что тут происходит:

  • if — это условный оператор, который говорит программе, что сейчас будет проверка условия.
  • (age < 14) — само условие, где мы проверяем возраст, который хранится в переменной age.
  • {} — в первых фигурных скобках мы пишем, что компьютеру нужно сделать, если условие выполнилось, то есть возраст оказался меньше 14 лет.
  • else — говорит компьютеру о том, что у условия есть ветка, по которой нужно пойти, если условие не выполнилось, а во вторых фигурных скобках находятся команды для этой ветки.
  • После того, как выполнилась одна или другая ветка, программа продолжает работу.

В разных языках программирования условный оператор может записываться иначе, но общий принцип везде одинаковый. Если вы разберётесь, как это работает в целом, то легко сможете написать условие на любом языке программирования.

Какие бывают условные операторы

Обычно в программировании есть два вида условных операторов:

  1. Простой условный оператор — с одной или двумя ветками. Это как раз то, что мы только что разобрали.
  2. Оператор множественного выбора — если нужно проверить не одно, а сразу несколько вариантов и в зависимости от результатов сделать разные действия.

Оператор множественного выбора разберём в отдельной статье. Если вы только начинаете разбираться в программировании, можно пока и без него.

Может ли быть условие внутри условия?

Да.

В этом случае мы записываем новое условие внутри одной из веток. Программа проверяет первое условие, идёт по какой-то ветке дальше, встречает второе условие и начинает работать уже с ним. Для наглядности нарисуем блок-схему:

Что такое условие в программировании

Если дождя нет, то мы просто одеваемся как обычно на улицу. А если дождь есть, то проверяем второе условие — сильный он или нет. Если сильный — берём зонт, а если нет, то надеваем куртку. После этого делаем дальше какие-то свои дела, но в любом случае мы подготовимся к тому, что нас ждёт на улице.

А есть условия, которые не сработают?

Конечно: если условие не выполняется и мы не предусмотрели, что делать программе в этом случае. Программа проверит условие, и если оно не выполнилось, то просто пойдёт выполнять следующие команды (и это часто нормальная практика). 

Задача программиста при работе с условиями — точно понять, достаточно ли одной ветки (если условие выполнится) для того, чтобы программа работала как нужно, или стоит ещё предусмотреть вторую ветку (если условие не выполнится).

Что дальше

В следующих частях разберём оператор множественного выбора. Он применяется реже, чем обычный условный оператор, но в некоторых ситуациях оказывается гораздо удобнее.

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Мария Климентьева

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy