Step 1 (S-12066)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/2413/step/1


Мы уже упоминали логический тип данных bool. Давайте посмотрим на логические значения чуть более детально. Итак имеются два логических значение True - истина и False - ложь. False обозначается нолем, True обозначается единицей.

S-12066-1.png

Существуют три основные операции с логическими значениями: операция или - оператор or, операция и - оператор and и унарная операция отрицания - not. Они определяются естественным образом: операция или применяется к двум логическим переменным и является истинной в том и только в том случае, если хотя бы один из операндов x и y является истинным.

Более формально это можно показать следующим образом. Давайте посмотрим на все возможные значения x и y. Существует четыре варианта.

x y x or y x and y not x
0 0 0 0 1
0 1 1 0 1
1 0 1 0 0
1 1 1 1 0

В случае, когда x и y равны 0, для операции или, то результат вычисления x or y будет равен 0. В остальных случаях, хотя бы один из операндов равен 1 и результатом тоже будет 1.

Операция x and y работает следующим образом - результат является истинным только в том случае если оба операнда истины. Поэтому мы запишем 1 только в последней строчке, а все остальные варианты дают в результате 0.

И наконец, операция not x инвертирует значение переменной x. Если она была истиной, то результат будет ложь. Если x - ложь, то результатом операции отрицания будет истина.