Читаем C# 4.0: полное руководство полностью

false   false   true

false   true    true

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

! р I q

В следующем примере программы демонстрируется подобная реализация операции импликации.

// Построение операции импликации в С#.

using System;

class Implication {

  static void Main() {

    bool p=false, q=false;

    int i, j;

    for(i =0; i < 2; i++) {

      for(j = 0; j < 2; j++) {

        if(i==0) = true;

        if(i==1) p = false;

        if(j==0) q = true;

        if(j==1) q = false;

          Console.WriteLine("p равно " + p + ", q равно " + q);

        if ( !p | q)

          Console.WriteLine("Результат импликации " + p +

                " и " + q + " равен " + true);

        Console.WriteLine();

      }

    }

  }

}

Результат выполнения этой программы выглядит так.

p равно True, q равно True

Результат импликации True и True равен True

p равно True, q равно False

p равно False, q равно True

Результат импликации False и True равен True

p равно False, q равно False

Результат импликации False и False равен True

Укороченные логические операторы

В C# предусмотрены также специальные, укороченные, варианты логических операторов И и ИЛИ, предназначенные для получения более эффективного кода. Поясним это на следующих примерах логических операций. Если первый операнд логической операции И имеет ложное значение (false), то ее результат будет иметь ложное значение независимо от значения второго операнда. Если же первый операнд логической операции ИЛИ имеет истинное значение (true), то ее результат будет иметь истинное значение независимо от значения второго операнда. Благодаря тому что значение второго операнда в этих операциях вычислять не нужно, экономится время и повышается эффективность кода.

Укороченная логическая операция И выполняется с помощью оператора &&, а укороченная логическая операция ИЛИ — с помощью оператора | |. Этим укороченным логическим операторам соответствуют обычные логические операторы & и |. Единственное отличие укороченного логического оператора от обычного заключается в том, что второй его операнд вычисляется только по мере необходимости. -

В приведенном ниже примере программы демонстрируется применение укороченного логического оператора И. В этой программе с помощью операции деления по модулю определяется следующее: делится ли значение переменной d на значение переменной п нацело. Если остаток от деления n/d равен нулю, то п делится на d нацело.

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

// Продемонстрировать применение укороченных логических операторов.

using System;

class SCops {

  static void Main() {

    int n, d;

    n = 10;

    d = 2;

    if(d != 0 && (n % d) == 0)

      Console.WriteLine(n + " делится нацело на " + d);

    d = 0; // задать нулевое значение переменной d

    // d равно нулю, поэтому второй операнд не вычисляется

    if(d != 0 && (n % d) == 0)

      Console.WriteLine(n + " делится нацело на " + d);

    // Если теперь попытаться сделать то же самое без укороченного

    // логического оператора, то возникнет ошибка из-за деления на нуль,

    if(d != 0 & (n % d) == 0)

      Console.WriteLine(n + " делится нацело на " + d);

  }

}

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных