Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Операндами для них являются логические значения, результат вычисления выражения также логическое значение.
BasicC
not ® Не, логическое отрицание!
and, AndAlso ® И, логическое умножение, конъюнкция &&
or, OrElse ® Или, логическое сложение, дизъюнкция ||
xor ® исключающее Или (не эквивалентность) !=
eqv ® эквивалентность ==
imp ® импликация (включение) нет
Замечание 1. В нашей версии языка Basic операторы eqv и imp не поддерживаются. Новые операторы AndAlso и OrElse отличаются от операторов and и or соответственно тем, что, если значение результата уже определено значением операнда 1, то значение операнда 2 не вычисляется, для последних значение операнда 2 вычисляется всегда. То есть, если А в выражении А AndAlso В принимает значение false, то значение В не вычисляется, и наоборот, если А в выражении А OrElse В принимает значение true, то значение В не вычисляется. В языке C операторы && и || работают, как операторы AndAlso и OrElse соответственно. Эти свойства операторов позволяют программировать выражения, в которых вычисления 2-го операнда приводит к ошибке.
Пример.
i<n AndAlso x(i)<>0
Если массив x содержит n-1 элемент, то при i=n значение x(n) лежит за пределами отведенной под массив x памяти. В этом случае использовать оператор and для вычисления выражения нельзя!
Замечание 2. Операторы != и == имеют равный приоритет. Они имеют как бы двойное назначение: если операнды – арифметические выражения, то они трактуются как операторы сравнения, если операнды – логические выражения, то – как логические операторы.
Результат выполнения каждого оператора пояснен в таблице. Здесь A и B – выражения, которые могут принимать одно из двух значений: true|false. Любое выражение, не равное 0, трактуется как имеющее значение true, равное 0 – как false.
A | B | Not A | A And B | A Or B | A Xor B | A Eqv B | A Imp B |
false | false | true | false | false | false | true | true |
false | true | true | false | true | true | false | true |
true | false | false | false | true | true | false | false |
true | true | false | true | true | false | true | true |
Примеры. Верхнее выражение – на языке Basic, нижнее – на языке C.
1) условие попадания т.M(x,y) 2)условие непопадания т.M(x,y) в 1 и 3 квадрант
в треугольник круга радиуса 1 с центром в начале координат
y y
x>0 and y>0 and y<1-x 1 not (x*x+y*y<1 and x*y>0)
1 x>0 && y>0 && y<1-x!(x*x+y*y<1 && x*y>0)
F 1
T 0 x
x F
0 1
3)условие попадания т.M(x,y) в заштрихованную область
x*x+y*y<=1 and x<=0 and y<=0 or y=x and x>0
x*x+y*y<=1 && x<=0 && y<=0 || y==x && x>0
4)условие кратности целых значений
m mod n = 0
m%n == 0
Дата публикования: 2014-11-02; Прочитано: 248 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!