Basic Pascal Tutorial/Chapter 3/Boolean Expressions/bg
│
български (bg) │
English (en) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
Булеви изрази
(author: Tao Yue, state: unchanged)
Boolean изразите се използват за сравнение на две стойности и като резултат се получава истина TRUE или лъжа FALSE:
value1 оператор_за_сравнение value2
Използват се следните оператори за сравнение:
< по-малко от > по-голямо от = равно на <= по-малко или равно на >= по-голямо или равно на <> различно от
Можете да присвоявате булеви изрази на булеви променливи. Тук присвояваме израз true на some_bool:
some_bool := 3 < 5;
Сложните булеви изрази се формират с помощта на булевите оператори:
not отрицание (~) and конюкция, логическо умножение (^) or дизюнкция, логическо събиране (v) xor изключващо или
NOT е унарен оператор - той се прилага само към една стойност и я инвертира:
- not true = false
- not false = true
AND връща TRUE само ако и двете стойности са TRUE:
- TRUE and FALSE = FALSE
- TRUE and TRUE = TRUE
OR връща TRUE ако поне едната стойност е TRUE:
- TRUE or TRUE = TRUE
- TRUE or FALSE = TRUE
- FALSE or TRUE = TRUE
- FALSE or FALSE = FALSE
XOR връща TRUE ако едната стойност е TRUE а другата е FALSE. По този начин:
- TRUE xor TRUE = FALSE
- TRUE xor FALSE = TRUE
- FALSE xor TRUE = TRUE
- FALSE xor FALSE = FALSE
Когато комбинирате два булеви израза, използвайки сравнения и булеви оператори, бъдете внимателни и използвайте скоби:
(3>5) or (650<1)
Това се прави защото булевите оператори имат по-висок приоритет от операторите за сравнение:
Приоритет | Оператор | Забележка |
---|---|---|
1 | not | най-висок приоритет |
2 | * / div mod and | |
3 | + - or | |
4 | < > <= >= = <> | най-нисък приоритет |
Следователно 3 > 5 or 650 < 1 ще се изпълни като 3 > (5 or 650) < 1, което е безмислено, защото булевия оператор or работи само с Boolean стойности а не с цели числа.
Булевите оператори (AND, OR, NOT, XOR) може да се ипозват с Boolean променливи по същия начин, както се използват и с булеви изрази.
Когато е възможно, не сравнявайте две реални стойности със знак за равенство. Малките грешки при закръгляването и при представянето на реалните числа могат да доведат до разлика в два иначе математически еквивалентни изрази.