03 Boolean Algebra

Булева алгебра #

Булева алгебра, ударение на первый слог. БУлева.

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

При этом всё не так уж и сложно.

Давайте я попробую на пальцах рассказать основы и то, что нам понадобится на минимальном уровне.

Дизъюнкция #

Когда мама ИЛИ папа дают мне деньги на карманные расходы, то я бегу и покупаю себе мороженное.

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

Это дизъюнкция.

Дизъюнкция - логическое сложение, логическое ИЛИ, включающее или, просто “или”(англ. OR; нем. ODER) В Java операторы "|" и "||"

boolean a = false, b = true, c;
c = a | b;

Пример в технике; дублирование выключателя или кнопки, дверной звонок и звонок у калитки вызывают одну и туже реакцию - включается мелодия звонка.

Конъюнкция #

Конъюнкция - логическое “И”, логическое умножение, просто “И”, “AND”, "&".

В Java оператор "&" и "&&".

boolean a = false, b = true, c;
c = a & b;

Если светит солнце “И” у меня выходной, то я иду купаться на озеро.

Пример из жизни. Ядерный чемоданчик могут активировать только два офицера одновременно. По отдельности чемодан остаётся неактивным.

Антиваленц #

“XOR”, эксклюзивное или, “EOR”, “EXOR”. В Java оператор "^".

boolean a = false, b = true, c;
c = a ^ b;

Только на горных лыжах в Австрии или на лошадях у бабушки в деревне я забываю про свою работу.

Или ты садишься за математику или я расскажу всё отцу.

ИЛИ - ИЛИ. Исключительное или.

Лампочка в больнице может работать от городского электричества или от дизельного генератора в подвале. Но не от двух источников одновременно.

Отрицание #

Negation. NOT. В Java оператор "!".

boolean a = false, b;
b = !a;

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

Дополнительные материалы #

  1. Прекрасный сайт симулятор для электротехников. Помогает в живую понять основы(и не только) булевой алгебры. http://simulator.io . В последнее время ходили слухи, что проект закроют. Будет невероятно жаль, если сайт не спасут.

Домашнее задание: #

Задача. Петя, Вася и Маша остались дома одни. Кто-то из них ел варенье. На вопрос мамы, кто это сделал, они сказали: а) Петя: “Я не ел. Маша тоже не ела.” б) Вася: “Маша действительно не ела. Это сделал Петя” в) Маша: “Вася врет. Это он съел.”

Выясните, кто ел варенье, если известно, что двое из них оба раза сказали правду, а третий один раз соврал, а один раз сказал правду.