Логика

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

../../../_images/image_122.png

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

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

../../../_images/image_217.png

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

../../../_images/image_39.png

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

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

../../../_images/gif_12.gif

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

../../../_images/image_48.png

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

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

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

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

../../../_images/image_55.png

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

Истина/Ложь

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

../../../_images/image_64.png

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

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

../../../_images/image_74.png

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

../../../_images/image_84.png

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

../../../_images/image_94.png

Тернарную операцию можно определить так:

логическое выражение ? выражение 1 : выражение 2

Алгоритм работы операции следующий:

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

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

Пример

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

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

../../../_images/image_123.png