ЮНИТ 5. ПРОСТЫЕ ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ В ЯЗЫКЕ 1С

К уже изученным типам данных (строка, число и дата) добавим еще один — логический тип. Он может принимать всего два значения: Истина или Ложь.

Значение логического типа (Истина или Ложь) является результатом вычисления некоторого логического выражения.

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

Под операндами понимаются любые объекты, над которыми выполняются те или иные действия. В логических выражениях в качестве операндов могут использоваться отношения, представляющие собой выражение, составленное при помощи операций сравнения. Сравнивать можно числа, даты, строки и другие данные. О логическом выражении можно сказать, верно оно (Истина) или неверно {Ложь).

Операции сравнения бывают следующие:

Операция Обозначение

Равно =

Не равно <>

Больше >

Меньше <

Больше или равно >=

Меньше или равно <=

Пример

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

Результат

вычисления

Объяснение

1 =2

Ложь

неверно, единица на самом деле не равна двойке

1 = 1

Истина

верно, единица равна единице

"Земля" О "Луна"

Истина

верно,строка"Земля" не равна строке "Луна"

' 18610101' <>'18610101'

Ложь

неверно, дата 01.01.1861 на самом деле равна дате 01.01.1861

100 >50

Истина

верно, сто действительно больше пятидесяти

10 < 0

Ложь

неверно, на самом деле десять больше нуля

Задание №14. Укажите для каждого логического выражения его результат — Истина или Ложь.

  • 1. "Венера" = "Юпитер"
  • 2. "Венера" <> "Юпитер"
  • 3. 123 = 321
  • 4. 123 <321
  • 5. 123 <= 321
  • 6. 123 <= 123
  • 7. '20000101' <> ’20140101'
  • 8. '20000101' ='20000101'
  • 9. '20140101'>'20120101'
  • 10. 25 + 25 = 50
  • 11. 2 * (10 + 10) > 50
  • 12. "Юрий" + "Гагарин" = "Юрий Гагарин"

Попытайтесь ответить на все вопросы самостоятельно. Затем посмотрите ответы ниже и попытайтесь разобраться, если где-то ошиблись.

Ответы

  • 1. "Венера" = "Юпитер" (Ложь, строки не равны между собой, а в выражении утверждается, что равны).
  • 2. "Венера" <> "Юпитер" (Истина, строки не равны между собой, как и утверждается в выражении).
  • 3. 123 = 321 (Ложь, так как числа не равны между собой, а в выражении утверждается, что равны).
  • 4. 123 < 321 (Истина, так как 123 меньше 321, как и утверждается в выражении).
  • 5. 123 <= 321 (Истина, так как 123 меньше 321, а данное утверждение истинно, если левое число меньше или равно правому).
  • 6. 123 <= 123 (Истина, так как 123 равно 123, а данное утверждение истинно, если левое число меньше или равно правому).
  • 7. '20000101' <> '2014010 Г (Истина, так как левая дата 01.01.2000 не равна 01.01.2014, как и утверждается в выражении).
  • 8. '20000101' = '20000101' (Истина, так как левая дата 01.01.2000 равна 01.01.2000, как и утверждается в выражении).
  • 9. '2014010Г > '20120101' (Истина, так как первое января 2014 года больше первого января 2012 года, как и утверждается в выражении).
  • 10. 25 + 25 = 50 (Истина, так как 25 плюс 25 действительно равно пятидесяти, как и утверждается в выражении).
  • 11. 2 * (10 + 10) > 50 (Ложь, так как результат левого выражения равен 40, а 40 меньше 50, хотя в утверждении говорится обратное).
  • 12. "Юрий" + " Гагарин" = "Юрий Гагарин" (Истина, так как сумма строк "Юрий" и " Гагарин" образует одну строку "Юрий Гагарин", которая равна строке справа, как и утверждается в выражении).

Заставим считать компьютер

Вычислим выражение 2 * (10 + 10) > 50 на компьютере.

Для этого напишем такую программу:

Сообщить(2 * (10 + 10) > 50);

Если мы запустим ее, то компьютер выдаст"Нет", что означает — результат равен Ложь.

Как он посчитал это выражение?

  • 1. Компьютер увидел команду Сообщить.
  • 2. Посмотрел, что за параметр мы передаем этой команде.
  • 3. Увидел, что в качестве параметра указано логическое выражение 2 * (10 + 10) > 50.
  • 4. Стал вычислять результат логического выражения.
  • 5. Увидел, что выражение состоит из левой части 2 * (10 + 10), правой части 50 и знака больше между ними.
  • 6. Посчитал результат левой части и выяснил, что он равен сорока.
  • 7. Снова взглянул на выражение, только в уже упрощенном виде 40 > 50, а так как 40, конечно же, меньше 50, то он вывел "Нет".

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

Например, выражение "Венера" = "Юпитер", значение которого, как мы выяснили, равно Ложь.

Сообщить(" Венера" = "Юпитер");

Компьютер при запуске выводит значение "Нет", что означает: результат действительно равен Ложь и мы совершенно верно вычислили его сами.

Решение

Сообщить("Венера" = "Юпитер"); // Нет

Сообщить(" Венера" <> "Юпитер"); //Да

Сообщить(123 = 321); // Нет

Сообщить( 123 < 321); // Да

Сообщить(123 <= 321); //Да

Сообщить(123 <= 123);//Да

Сообщить('2000010Г <> '20140101'); //Да

Сообщить('2000010 Г = '20000101'); //Да

Сообщить('20140101 ’ > '20120101'); // Да

Сообщить(25 + 25 = 50); //Да

Сообщить(2 * (10 + 10) > 50); //Нет

Сообщить("Юрий" + "Гагарин" = "Юрий Гагарин"); //Да

 
< Пред   СОДЕРЖАНИЕ     След >