Логика

Основные логические блоки

../../../_images/image-115.png

Блоки ветвления

Если условие* истинно, выполнить действие

../../../_images/image-210.png

Если условие* истинно, выполнить действие, иначе выполнить другое действие

../../../_images/image-39.png

Примечание

* Логическое условие - выражение, результатом выполнения которого является «истина» или «ложь»

Вы можете модифицировать эти блоки, добавляя к ним больше условий

../../../_images/image-14.gif

Логические И и ИЛИ

../../../_images/image-46.png

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

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

Операции сравнения

Обычно используются с числами. Операции на проверку равенства могут также использоваться с текстом

../../../_images/image-54.png

Вы можете сравнивать только данные одного типа (нельзя сравнивать число и текст)

Истина/Ложь

Логическая переменная

../../../_images/image-65.png

Логическое НЕ

Логическая операция НЕ инвертирует высказывание, стоящее за ней

../../../_images/image-74.png

Например, следующее выражение (пусть и бесполезное по своей сути) вернет истину

../../../_images/image-82.png

Тернарная условная операция

../../../_images/image-101.png

Тернарную операцию можно определить как операцию, возвращающую свое второе выражение в зависимости от значения логического выражения, заданного первым выражением. Алгоритм работы операции следующий:

  1. Вычисляется логическое выражение
  2. Если логическое выражение истинно, то вычисляется значение выражения выражение 1, в противном случае — значение выражения выражение 2
  3. Вычисленное значение возвращается

Примечание

Вычисляется только одно из выражений: выражение 1 или выражение 2. Это соответствует принципу ленивых вычислений

Пример

../../../_images/image-116.png
  1. Если обе простых кнопки нажаты, то переменой «цвет» присвоить значение «синий», иначе - «красный»
  2. Задать простой лампочке цвет, сохраненный в переменной «цвет»

Что эквивалентно следующей конструкции

../../../_images/image-121.png

Истина с вероятностью

../../../_images/image-131.png

Логическая переменная, истина которой будет зависеть от указанной вероятности