КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Логические операторы
Операторы сравнения Результат выполнения любого оператора сравнения – логическое значение (true|false), операндами в общем случае являются арифметические выражения. Для операторов используются общепринятые математические обозначения. Там, где действие оператора неочевидно, в скобках приведено пояснение. CBasic < <= > >= < <= > >= = <> (не равно) == (равно) != (не равно) Замечание. Операторы, состоящие из двух и более символов, называют составными, пробелы внутри них недопустимы. Пример. 5<3 à false 5*5>=5+20 à true Замечания. 1. В языке Basic сравнения, подобные приведенному в примере, называют числовыми. Допустимо также сравнение строк. Сравнение проводится посимвольно слева направо в соответствии с кодировкой символов. В кодировке Windows русские и латинские буквы упорядочены по алфавиту, причем заглавные буквы "меньше" строчных. Пример. "А" < "а" à true "Ф" < "ф" à true "Я" < "а" à true Если строки имеют разную длину, то более короткая дополняется справа пробелами. Пример. "Алекс" < "Александр" à true "Павлов Иван" = "Павлов И.В." à false 2. В языке C сравнение строк выполняется с помощью специальных функций, рассматриваемых в последующих разделах. Операндами для них являются логические значения, результат вычисления выражения также логическое значение. 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.
Примеры. Верхнее выражение – на языке 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-12-27; Просмотров: 490; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |