logo
МП по додготовке к экзамену

6.3 Вычисление выражений.

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

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

Если в выражении встречаются две или более операций с одинаковым приоритетом, то они выполняются слева направо в данном выражении.

Пример:

Пусть A = "истина", B = "ложь", C ="ложь", D="истина"

Указать порядок выполнения операций и найти значение логического выражения при заданных переменных :

A and B or not C and D

Решение:

Сначала выполняется операция not C, затем not C and D, где в качестве одного из высказываний используется выражение not C. Затем - операция A and B. Самой последней выполняется операция логического сложения or, т.е. (A and B) or (not C and D), где скобки поставлены для наглядности.

Вычислим данное выражение, соблюдая порядок выполнения логических операций и используя таблицы истинности для данных операций ("истина" равносильна 1, "ложь" - 0):

Результатом операции not C является значение C="истина", not C and D = "истина", т.к. обе переменные имеют значение "истина". Результат A and B будет "ложь", а значением исходного выражения является "истина" потому, что при выполнении операции or, слева от нее находится истинное выражение, получаем "истину" на основании определения логического сложения.

Во многих языках программирования истинность логического выражения обозначают - true ("истина"), а ложность - false ("ложь").