Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Булева логика




Управление порядком выполнения

Лекция 3.

Существует два способа управления порядком выполнения программ, т. е. последовательностью выполняемых в программе на С# строк. Вот эти способы:

• Ветвление — выполнение кода обусловлено результатами предшествующих вычислений, например: "выполнить этот код только в том случае, если значение переменной myval меньше 10".

• Использование циклов — повторяющееся выполнение одних и тех же операторов (определенное количество раз или до тех пор, пока не выполнится контрольное условие).

Оба способа предполагают использование булевой логики.

Тип bool может принимать одно из двух значений: true (истина) или false (ложь). Этот тип очень часто применяется для записи результата выполнения какой-либо операции, с тем, чтобы мы могли выполнить какие-либо определяемые им действия. В частности, тип bool используется для хранения результатов сравнения.

В качестве примера давайте рассмотрим ситуацию, приведенную в начале этой главы, когда выполнять код нужно только при значении переменной myval меньше 10. Для этого необходимо владеть некоторым способом, позволяющим определять, является ли утверждение "myval меньше 10" правдой или ложью; т.е. необходимо получить результат логического сравнения. Логическое сравнение требует применения логических операторов сравнения (также известных под именем операторов отношения), которые приведены в расположенной ниже таблице. В этой таблице переменная vari во всех случаях имеет тип bool, а типы переменных var2 и var3 меняются.

Оператор Тип Пример выражения Результат
= = Бинарный varl = var2 == var3; Переменной varl присваивается значение true в том случае, если переменная var2 равна переменной var3, и значение false в противном случае
!= Бинарный varl = var2!= var3;   Переменной varl присваивается значение true в том случае, если переменная var2 не равна переменной var3, и значение false в противном случае
< Бинарный varl = var2 < var3;   Переменной varl присваивается значение true в том случае, если переменная var2 меньше переменной var3, и значение false в противном случае
> Бинарный varl = var2 > var3;   Переменной varl присваивается значение true в том случае, если переменная var2 больше переменной var3, и значение false в противном случае
<= Бинарный varl = var2 <= var3;   Переменной varl присваивается значение true в том случае, если переменная var2 меньше или равна переменной var3, и значение false в противном случае
>= Бинарный varl = var2 >= var3; Переменной varl присваивается значение true в том случае, если переменная var2 больше или равна переменной var3, и значение false в противном случае

 

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

bool isLessThan10;

isLessThan10 = mayVal < 10;

В результате выполнения этого кода переменной isLessThan10 будет присвоено значение true в том случае, если значение переменной myval меньше 10, а в противном случае — значение false.

Операторы сравнения могут использоваться также и для переменных других типов, например, для строк:

bool isKarli;

isKarli = myString == "Karli";

В данном случае переменной isKarli будет присвоено значение true только при условии, что строка, содержащаяся в переменной mystring, имеет вид "Karli".

Аналогичным образом можно поступать и с логическими переменными:

Bool isTrue;

isTrue = my Bool == true;

Однако в этом случае допускается использование только операторов = = и!=.

Распространенной ошибкой является безосновательное предположение, что если var1 < var2 есть ложь, то var1 > var2 - истина. Если var1 == var2, оба предыдущих выражения будут ложными. Автор специально упоминает об этой частой ошибке, поскольку сам допускал ее в прошлом.

Существуют и некоторые другие операторы, специально предназначенные для работы с логическими значениями:

Оператор Тип Пример выражения Результат
! Унарный varl =!var2; Переменной varl присваивается значение true в том случае, если переменная var2 имеет значение false, и значение false, если значение var2 — true (операция "логическое не" (NOT))
& Бинарный varl = var2 & var3; Переменной varl присваивается значение true в том случае, если обе переменные var2 и var3 имеют значение true, и значение false в противном случае (операция "логическое и" (AND))
׀ Бинарный varl = var2׀var3; Переменной varl присваивается значение true в том случае, если хотя бы одна из переменных — var2 или var3 (или обе) — имеет значение true, и значение false в противном случае (операция "логическое или" (OR))
^ Бинарный varl = var2 ^ var3; Переменной varl присваивается значение true в том случае, если одна из переменных — var2 или var3, но не обе одновременно — имеет значение true, и значение false в противном случае (операция "исключающее или" (XOR))

Теперь мы можем записать последний пример следующим образом:

Bool isTrue;

isTrue myBool & true;

 

Для операторов & и ׀ существуют аналоги:

Оператор Тип Пример выражения Результат
&& Бинарный Var1 =var2 && var3; Переменной varl присваивается значение true в том случае, если обе переменные var2 и var3 имеют значение true, и значение false в противном случае (операция "логическое и" (AND))
׀׀ Бинарный Var1 = var2 ׀׀ var3; Переменной var1 присваивается значение true в том случае, если одна из переменных, var2 или var3 (или обе), имеет значение true, и значение false в противном случае (операция "логическое или" (OR))



Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 592; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.