![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Над логическими типами возможны операции булевой алгебры (т.е.логические операции):
not - логическое отрицание «НЕ»
and - логическое «И»(логическое умножение - конъюнкция)
or - логическое «ИЛИ» (логическое сложение - дизъюнкция)
xor - логическое «исключающее ИЛИ» – она реализована для логического типа не во всех языках. Эта операция дает значение ИСТИНА, если оба операнда имеют логические значения.
Операции перечислены в порядке убывания приоритетов т.е. при вычислении логических выражений операции выполняются в следующем порядке: not, and, or, операции отношения, арифметические операции. Если порядок выполнения операций нужно изменить, то применяют скобки. Таким образом, сложные условия составляются из простых с помощью вышеуказанных логических операций. Логические операторы Not, And, Or и Xor работают, проверяя значения на 0 (False) или не 0 (True), но всегда возвращают результат с порядковым значением равным 0 или 1.
Результаты выполнения логических операций над переменными А и В логического типа приведены в таблице истинности:
A | B | not A | A and B | A or B | A xor B |
true | true | false | true | true | false |
true | false | false | false | true | true |
false | true | true | false | true | true |
false | false | true | false | false | false |
При составлении сложных условий операнды логического выражения берутся в скобки (это важно!).
Примеры логических выражений:
5>3; 2<=6; (x<2)and(x>=0); 2*x<>0. | Следующий пример: |
1) x<2*y; 2) true; 3) d; 4) odd (k); | 5) not not d; 6) not (x>y/2); 7) d and (x<>y) and b; 8) (c or d) and (x = y) or not b, |
здесь d, b, c – логические переменные; x, y – вещественные переменные; k – целая переменная. |
Если d=true; b=false; c=true; x=3,0; y=0.5; k=5, то результаты вычисления будут следующими:
1) false; 5) true;
2) true; 6) false;
3) true; 7) false;
4) true; 8) true.
В примере использована логическая функция odd (k). Это функция от целого аргумента k, которая принимает значение true, если значение k нечетное, и false, если k четное.
Логический оператор присваивания имеет структуру, представленную на рис.2:
Рис. 2
Примеры логических операторов присваивания:
1) d:=true; x>y
2) b:=(x>y) and (k<>0);
3) c:=d or b and not (odd(k) and d).
Дата публикования: 2015-09-18; Прочитано: 221 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!