Арифметические,
условные и логические операции (QBASIC).
Операндами арифметических операций могут быть переменные, числа в явном виде, функции и другие арифметические выражения. Стандартными знаками операций служат:
^ - возведение в степень
*, / - умножение и деление
+, - - сложение и вычитание
\ - целочисленное деление
MOD – вычисление остатка от целочисленного деления
Операндами условного выражения могут быть переменные, числа, функции, строки символов. Знаками отношения в условных выражениях служат:
(=) равно
(< >) не равно
(>) больше, чем
(<) меньше, чем
(>=) больше или равно
(<=) меньше или равно
Условное выражение принимает булево (логическое) значение: TRUE или
FALSE. Условное выражение широко используются в операциях ветвления и в организации циклов.
Операндами логического выражения являются условные выражения, которые соединяются между собой знаками логических операций AND («И», логическое умножение, конъюнкция) или OR («ИЛИ», логическое сложение, дизъюнкция). Логическая операция NOT (отрицание) выполняется над одним операндом (например, NOT(a>b)). Логическое выражение принимает булево (логическое) значение: TRUE или FALSE. Частный случай логического выражения - условное выражение.
Таблица истинности.
X1 |
X2 |
NOT X1 |
X1 AND
X2 |
X1 OR
X2 |
False |
False |
True |
False |
False |
False |
True |
True |
False |
True |
True |
False |
False |
False |
True |
True |
True |
False |
True |
True |
Таблица 1 -
Логическая операция конъюнкция
Значение операндов |
Результат операции |
|
A |
B |
A and B |
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Значения
логического выражения при использовании бинарной логической операции дизъюнкции
(Or) приведены в таблице 2.
Таблица 2 -
Логическая операция дизъюнкция
Значение операндов |
Результат операции |
|
A |
B |
A or B |
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Значения
логического выражения при использовании бинарной логической операции дизъюнкции
(Xor) приведены в таблице 3.
Таблица 3 -
Логическая операция исключающее ИЛИ
Значение операндов |
Результат операции |
|
A |
B |
A xor B |
True |
True |
False |
True |
False |
True |
False |
True |
True |
False |
False |
False |
Четвёртая унарная
логическая операция отрицания (Not) инвертирующая (изменяющая на
противоположное) значение операнда приведена в таблице 4.
Таблица 4 - Логическая
операция отрицания
Значение операндов |
Результат операции |
A |
not A |
True |
False |
False |
True |
Поскольку
у операций сравнения приоритет выполнения ниже, чем у логических операций, при
комбинированной записи логического выражения их необходимо брать в скобки.
Например:
(A<=B) and (B>C) or (A<>D). При
значении переменных A=10, B=15, C=20, D=25 значение всего выражения равно True.
(A<=B) - истинно, (B>C) - ложно, (A<=B) and (B>C) - ложно, (A<>D) - истинно.
(A<=B) or (B>C) xor (A<>D). При значении переменных A=10, B=15, C=20,
D=25 значение всего выражения равно False. (A<=B) - истинно, (B>C) -
ложно, (A<=B) or (B>C) - истинно, (A<>D) - истинно.
not (A<=B) or (B>C). При значении
переменных A=10, B=15, C=20 значение всего выражения равно False.
(A<=B) or not(B>C). При значении
переменных A=10, B=15, C=20 значение всего выражения равно True.
Приоритет выполнения действий в логическом выражении:
1. Действия в скобках, функции.
2. NOT
3. *, /, \, MOD, AND
4. +, -, OR,
XOR
5. <, <=, =, < >, >=, >