[Alimir_BootModal_Login]

Внутренний язык программирования 1С 8.3 для начинающих программистов: сложные логические выражения в 1С

Автор уроков и преподаватель школы: Владимир Милькин

На прошлом уроке мы познакомились с логическим типом данных, который может принимать одно из двух значений Истина или Ложь. Также мы узнали о существовании простейших логических выражений. Они состоят из двух данных (число, строка или дата) и операции сравнения между ними. Результатом логического выражения является Истина или Ложь.

Вы думали самое сложное позади? Как бы не так! Сегодня вам придется сделать ещё один огромный шаг вперед на пути к профессии программиста. И называется этот шаг Сложные логические выражения.

Наберитесь сил, читайте, вчитывайтесь, перечитывайте. Не отчаивайтесь, если что-то не будет ясно с первого раза. Удивительно как раз, если сразу поймёте всё. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. И как всегда тщательно выполняйте задания и задавайте вопросы.

Ещё скажу, что сразу после изучения этого урока, начнутся настоящие чудеса программирования!

Сложные логические выражения

Оказывается из простых логических выражений, изученных нами на прошлом уроке можно составлять сложные логические выражения.

Для этого существуют специальные логические операции: И, Или, Не.

Логические выражения

Правила работы логической операции И

А (левая часть)Б (правая часть)А И БПример
ИстинаИстинаИстина(2 < 3) И (10 = 10)
ИстинаЛожьЛожь(2 < 3) И (10 <> 10)
ЛожьИстинаЛожь(10 <> 10)  И (2 < 3)
ЛожьЛожьЛожь(1 = 2) И (3 = 5)

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

Для лучшего понимания представьте, что значение Истина это 1, Ложь это 0, а логическая операция И это умножение:

А (левая часть)Б (правая часть)А И Б
111
100
010
000

 

Правила работы логической операции Или

А (левая часть)Б (правая часть)А Или БПример
ИстинаИстинаИстина (2 < 3) Или (10 = 10)
ИстинаЛожьИстина(2 < 3) Или (10 <> 10)
ЛожьИстинаИстина(10 <> 10)  Или (2 < 3)
ЛожьЛожьЛожь(1 = 2) Или (3 = 5)

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

Для лучшего понимания представьте, что значение Истина это 1Ложь это 0, а логическая операция Или это сложение:

А (левая часть)Б (правая часть)А Или Б
111
101
011
000

 

Правила работы логической операции Не

АНе АПример
ИстинаЛожьНе (2 < 3)
ЛожьИстинаНе (10 = 5)

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

Для лучшего понимания представьте, что значение Истина это 1, а Ложь это 0:

АНе А
10
01

 

Задание №16. Вычислите (пока без помощи компьютера) результат следующих логических выражений.

  1. (1 = 1) И (2 = 2)
  2. Не (10 > 5)
  3. ("Солнце" = "Луна") Или ("Юпитер" = "Юпитер")
  4. Не ("Солнце" = "Луна")
  5. (10 <> 5)  Или (5 = 5)
  6. (Истина) Или (Ложь)
  7. Не (Истина)
  8. (Ложь) И (Истина)
  9. (Ложь) Или (Истина)

Попытайтесь выполнить всё сами и только потом смотрите ответы ниже.

Ответы

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

Задание №17. Вычислите все примеры логических выражений из предыдущего задания на компьютере.

Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся

Пройдите тест

Начать тест

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

Для учеников

Уровень сложности уроков идёт снизу вверх. Поэтому старайтесь заниматься последовательно, ничего не пропуская и не откладывая на потом.

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

На вопросы учеников — отвечаю по почте,  но прежде загляните в ЧАВО (ссылка) .

С уважением, Владимир Милькин

[Alimir_BootModal_Login]