Предыдущую задачу можно решить более коротким способом, используя сложные условия.
Давайте разберемся, что это такое.
Простейшие условия состоят из одного отношения (больше, меньше и т.п.). Но иногда необходимо объединение простых условий в более сложные, например: на улице холодно и идет дождь. Два простых условия (на улице холодно), (на улице идет дождь) здесь связаны связкой И.
Сложное условие - состоит из двух или нескольких простых отношений (условий), которые объединяются с помощью логических операций:
Название |
Как записывается на C# |
И |
&& |
ИЛИ |
|| |
НЕ |
! |
Операция И (логическое умножение) требует одновременное выполнение двух условий.
условие1 && условие2
будет принимать истинное значение, только если оба простых условия истинны одновременно.
Операция ИЛИ (логическое сложение) требует выполнение хотя бы одного из условий.
условие1 || условие2
будет принимать ложное значение, только если оба простых условия ложны одновременно.
Операция НЕ (логическое отрицание)
! условие1
будет принимать ложное значение, если условие1 истинно и наоборот.
Приоритет выполнения логических операций и отношений.
1. Операции в скобках.
2. Операция НЕ.
3. Логические отношения >, <, >=, <=, ==, !=.
4. Операция И.
5. Операция ИЛИ.
Для изменения порядка действий используются круглые скобки.
Логические переменные.
Во многих языках программирования есть возможность использовать переменные, которые хранят логические значения (истина/ложь). В С# такие переменные могут принимать значения true (истина) или false (ложь). Например, фрагмент программы:
bool a, b;
a = true;
b = false;
Console.WriteLine(a || b);
Выведет на экран 1 (что соответствует значению true - значению false соответствует 0).
Логические переменные относятся к типу bool, названной в честь английского математика Джорджа Буля - создателя алгебры логики.