Найти тему

Логические операторы в жизни

Программирование так или иначе является продолжением нашей жизни. Само по себе оно смысла не имеет. И многие вещи в программировании, если их рассматривать отдельно от человеческой деятельности, могут показаться сложными. Однако в большинстве случаев ничего сложного в этом нет. Мы часто используем в жизни какие-то вещи, являющиеся частью программирования, даже не замечая этого.

Например, логические операторы. Для новичка звучит грозно и не очень понятно. А на самом деле всё крайне просто, только слова незнакомые.

Есть ДА и есть НЕТ (это логические 1 и 0). И есть ЛОЖЬ, а есть ИСТИНА. В большинстве языков программирования это даже переводить не надо. Потому что почти во всех языках имеется логический тип данных, который содержит лишь два значения: FALSE (ЛОЖЬ) и TRUE (истина). Правда, например, в С++, эти слова обязательно должны записываться маленькими буквами, то есть false и true.

И, поскольку существуют логические значения, то существуют и какие-то действия (операции) с этими значениями (логические операции). А раз есть логические операции, то есть и логические операторы.

Какие это действия (операции) и какие это операторы?

В простых случаях это действия из повседневной жизни. Например, мы идём в магазин, чтобы купить хлеб И молоко. Здесь И - это логический оператор, который выполняет логическую операцию объединения хлеба и молока (ну здесь слово “объединение” не совсем верно, но зато понятно).

А если магазин расположен далеко, то мы поедем туда на автобусе ИЛИ на такси, ЕСЛИ у нас хватит денег.

Здесь ИЛИ - это тоже логический оператор в операции выбора, а ЕСЛИ - это оператор выбора (назовём его пока так). Поскольку нам часто приходится в жизни делать выбор, то в программировании тоже существует практически во всех языках ключевое слово IF (если).

Однако выбор может быть более сложным, и тогда придётся отрабатывать больше вариантов. Например:

ЕСЛИ у нас есть деньги, мы поедем на автобусе ИЛИ такси,

ИНАЧЕ (если денег нет) пойдём пешком

Логические операторы можно разделить на два вида. Первый - это простые случаи, такие как пример выше. Такие действия мы часто совершаем в жизни.

Второй вид используется только в программировании - это поразрядные (побитовые) операции. Такие операторы позволяют работать не просто с числами, а с каждым битом (разрядом) числа по отдельности. Однако во многих языках, например, в Паскале, например, оператор логического И внешне ничем не отличается от оператора поразрядного И. А вот в С/С++ для поразрядных операций имеется особая группа операторов.

Чаще всего логические операторы используются в операциях сравнения. Например, выражение

(10 > 9)

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

var Res : boolean; //Здесь Res = FALSE

Res := (10 > 9); //Здесь Res = TRUE

А вот список основных логических операторов в Паскале (в других языках они могут немного отличаться):

  • = (равенство; истинно, если значение левого аргумента совпадает со значением правого аргумента)
  • <> (неравенство; истинно, если значение левого аргумента НЕ совпадает со значением правого аргумента)
  • > (больше; истинно, если значение левого аргумента больше значения правого аргумента)
  • < (меньше; истинно, если значение левого аргумента меньше значения правого аргумента)
  • >= (больше или равно; истинно, если значение левого аргумента больше или равно значению правого аргумента)
  • <= (меньше или равно; истинно, если значение левого аргумента меньше или равно значению правого аргумента)
  • and (логическое И; истинно, если значения левого И правого аргумента являются истиной)
  • or (логическое ИЛИ; истинно, если хотя бы одно из значений левого ИЛИ правого аргумента являются истиной)
  • not (логическое НЕ; инвертирует значение аргумента, то есть истину делает ложью и наоборот)

Это лишь самые основы. Чуть больше сведений можно найти здесь и здесь.

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