Зачастую программистам необходимо написать код так, чтобы программа выполняла различные инструкции в зависимости от поступаемых данных. Для реализации такого функционала используются условные операторы (их также называют операторами ветвления). В этой статье поговорим об основных условных операторах.
В этой статье мы не будем использовать синтаксис какого-либо языка программирования, а будем использовать, так называемый псевдокод. Это позволит вам разобраться в условных операторах независимо от того, какой язык программирования вы изучаете.
Для освоения материала об условных операторах в программировании полезно будет знать о логических операторах и операторах сравнения.
Условный оператор if (ЕСЛИ)
Начнём с самых простых конструкций. Предположим, вам необходимо проверить какое-либо условие, и если оно выполняется, то запустить выполнение какого-либо кода, а если не выполняется, то пропустить. Для реализации такого функционала отлично подходит условный оператор if (ЕСЛИ).
Оператор if (ЕСЛИ) проверяет условие, и если оно ИСТИННО, то выполняет блок кода, а если условие ЛОЖНО, то пропускает блок кода.
какой_то_код_1
if x == 5
блок_кода
какой_то_код_2
Рассмотрим пример выше. Здесь программа выполняет код (какой_то_код_1), доходит до условного оператора if (ЕСЛИ), после чего проверят условие (равно ли x пяти). Если x равен пяти, то программа выполнит блок_кода, а затем продолжит выполнять код (какой_то_код_2). Если же x не равен пяти, то программа пропустит блок_кода и сразу перейдёт к выполнению какой_то_код_2.
Условный оператор if .. else (ЕСЛИ .. ИНАЧЕ)
А что же нам делать, если нам необходимо проверить условие, и если оно ИСТИННО, то выполнить один код, а если ЛОЖНО, то другой? В этом случае нам поможет конструкция if .. else (ЕСЛИ .. ИНАЧЕ).
Условный оператор if .. else (ЕСЛИ .. ИНАЧЕ) проверяет условие, и если оно ИСТИННО, то выполняет один блок кода, а если условие ЛОЖНО, то выполняет другой блок кода.
какой_то_код_1
if x == 5
блок_кода_1
else
блок_кода_2
какой_то_код_2
Рассмотрим пример выше. Здесь программа выполняет код (какой_то_код_1), доходит до условного оператора if (ЕСЛИ), после чего проверят условие (равно ли x пяти). Если x равен пяти, то программа выполнит блок_кода_1, проигнорирует конструкцию else (ИНАЧЕ) и перейдёт к выполнению кода (какой_то_код_2). Если же x не равен пяти, то программа пропустит блок_кода_1,обнаружит конструкцию else (ИНАЧЕ), выполнит блок_кода_2 и перейдёт к выполнению какой_то_код_2.
Условный оператор else if (ИНАЧЕ ЕСЛИ)
Предположим, что нам усложнили задачу, и теперь нам необходимо проверить несколько условий, например 3, и в зависимости от выполнения этих условий, выполнить какой-то определенный блок кода.
Нет проблем. Используем несколько условных операторов if (ЕСЛИ):
какой_то_код_1
if x == 1
блок_кода_1
if x == 2
блок_кода_2
if x == 3
блок_кода_3
какой_то_код_2
Немного усложним задачу. Теперь наша программа должна проверять те же 3 условия, но в случае невыполнения всех 3 условий она должна выполнить блок_кода_4.
Аккумулировав все знания полученные ранее, мы могли бы написать следующий код:
какой_то_код_1
if x == 1
блок_кода_1
if x == 2
блок_кода_2
if x == 3
блок_кода_3
else
блок_кода_4
какой_то_код_2
Но в этом случае мы бы совершили ошибку, которую можно первоначально не заметить. В нашем случае программа будет делать всё верно, если x не будет равняться 1, 2 или 3. В противном случае программа сделает не то, что мы хотели. Дело в том, что else (ИНАЧЕ) привязано к вышестоящему if (ЕСЛИ).
Предположим, что x = 1. Что сделает программа? Проверит условие у первого оператора if (ЕСЛИ) и так как x = 1, то выполнит блок_кода_1. Далее проверит второй оператор if (ЕСЛИ) и пропустит блок_кода_2. После проверит третий оператор if (ЕСЛИ), пропустит блок_кода_3, дойдёт до оператора else (ИНАЧЕ) и выполнит блок_кода_4. И именно здесь произойдёт ошибка, ведь перед нами стояла другая задача. Оператор else (ИНАЧЕ) привязан к if x == 3. А так как x не равен 3, то код внутри else будет выполнен.
Для решения подобного рода задач необходимо использовать оператор elseif (ИНАЧЕ ЕСЛИ).
Условные операторы if (ЕСЛИ) и elseif (ИНАЧЕ ЕСЛИ) в связке с else (ИНАЧЕ) позволяют проверять несколько условий при выполнении которых, программа будет выполнять определенный код для каждого условия, а при невыполнении всех условий, будет выполнять какой-либо другой код.
В нашем случае мы должны были бы написать следующий код:
какой_то_код_1
if x == 1
блок_кода_1
else if x == 2
блок_кода_2
else if x == 3
блок_кода_3
else
блок_кода_4
какой_то_код_2
Теперь наш код сработает, так как мы хотели.
Обратите внимание, что для проверки первого условия мы используем условный оператора if (ЕСЛИ), а для проверки всех остальных условий else if (ИНАЧЕ ЕСЛИ).
Если у вас остались какие-либо вопросы по теме условных операторов, вы можете задавать их в комментариях ниже.