Как следует из приведенной выше таблицы, результатом выполнения логической операции исключающее ИЛИ будет истинное значение (true), если один и только один ее операнд имеет значение true.
Ниже приведен пример программы, демонстрирующий применение нескольких операторов отношения и логических операторов.
// Продемонстрировать применение операторов // отношения и логических операторов.
using System;
class RelLogOps {
static void Main { int i, j; bool bl, b2;
i = 10;j = 11;
if(i < j) Console.WriteLine("i < j"); if(i <= j) Console.WriteLine("i <= j"); if (i != j) Console.WriteLine("i != j");
if(i == j) Console.WriteLine("Нельзя выполнить"); if(i >= j) Console.WriteLine("Нельзя выполнить"); if(i > j) Console.WriteLine("Нельзя выполнить");
Ы = true7 Ь2 = false;
if(Ы & b2) Console.WriteLine("Нельзя выполнить"); if(!(bl & b2)) Console.WriteLine("!(Ы & Ь2) — true"); if(Ы | b2) Console.WriteLine("bl I b2 - true"); if(Ы A b2) Console.WriteLine("bl A b2 — true");
}
}
Выполнение этой программы дает следующий результат.
i < j i <= j i != j
!(bl & b2) — true bl | b2 — true bl A b2 - true
Логические операторы в C# выполняют наиболее распространенные логические операции. Тем не менее существует ряд операций, выполняемых по правилам формальной логики. Эти логические операции могут быть построены с помощью логических операторов, поддерживаемых в С#. Следовательно, в С# предусмотрен такой набор логических операторов, которого достаточно для построения практически любой логической операции, в том числе импликации.
p
q
Результат импликации p и q
true
true
true
true
false
false
false
false
true
false
true
true
Операция импликации может быть построена на основе комбинации логических операторов ! и |, как в приведенной ниже строке кода.
В следующем примере программы демонстрируется подобная реализация операции импликации.
// Построение операции импликации в С#.
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) p = true;
if (i==l) p = false;
if (j==0) q = true;
if(j==l) q = false;
Console.WriteLine("p равно " + p + ", q равно " + q);
if ( !p I q)
Console.WriteLine("Результат импликации " + p +
" и " + q + " равен " + true);