Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретический_курс.doc
Скачиваний:
36
Добавлен:
10.11.2019
Размер:
7.68 Mб
Скачать

3.5.5. Применение операторов: отношения и логические операторы Применение операторов: отношения и логические операторы

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

Ниже перечислены операторы отношения:

Оператор

Значение

==

Равно

!=

Не равно

>

Больше

<

Меньше

>=

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

<=

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

К числу логических относятся операторы, приведённые ниже:

Оператор

Значение

&

И

|

ИЛИ

^

Исключающее ИЛИ

&&

Укороченное И

||

Укороченное ИЛИ

!

НЕ

Результатом выполнения оператора отношения или логического оператора является логическое значение bool.

В целом, объекты можно сравнивать на равенство или неравенство, используя операторы отношения == и !=. А операторы сравнения <, >, <= или >= могут применяться только к тем типам данных, которые поддерживают отношение порядка. Следовательно, операторы отношения можно применять ко всем числовым типам данных. Но значения типа bool могут сравниваться только на равенство или неравенство, поскольку истинные true и ложные false значения не упорядочиваются. Например, сравнение true > false в С# не имеет смысла.

Рассмотрим пример программы, демонстрирующий применение операторов отношения и логических операторов:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace LS_Console

{

class Program

{

static void Main()

{

short d = 10, f = 12;

bool var1 = true, var2 = false;

if (d < f)

Console.WriteLine("d < f");

if (d <= f)

Console.WriteLine("d <= f");

if (d != f)

Console.WriteLine("d != f");

// Следующее условие не выполнится

if (d > f)

Console.WriteLine("d > f");

// Сравниванием переменные var1 и var2

if (var1 & var2)

Console.WriteLine("Данный текст не выведется");

if (!(var1 & var2))

Console.WriteLine("!(var1 & var2) = true");

if (var1 | var2)

Console.WriteLine("var1 | var2 = true");

if (var1 ^ var2)

Console.WriteLine("var1 ^ var2 = true");

Console.WriteLine("Для продолжение нажмите любую клавишу . . . ");

Console.ReadKey();

}

}

}

/* Выведет:

* d < f

* d <= f

* d != f

* d > f

* !(var1 & var2) = true

* var1 | var2 = true

* var1 ^ var2 = true

* Для продолжение нажмите любую клавишу . . .

*/

Логические операторы в С# выполняют наиболее распространенные логические операции. Тем не менее, существует ряд операций, выполняемых по правилам формальной логики. Эти логические операции могут быть построены с помощью логических операторов, поддерживаемых в С#. Следовательно, в С# предусмотрен такой набор логических операторов, которого достаточно для построения практически любой логической операции, в том числе импликации. Импликация — это двоичная операция, результатом которой является ложное значение только в том случае, если левый её операнд имеет истинное значение, а правый — ложное. Операция импликации отражает следующий принцип: истина не может подразумевать ложь.

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

!p | q