Операции отношения и логические операции


Эти операции возвращают true (любое ненулевое значение, например, единицу) или false (нуль). Логические операции выполняются, как и в других языках программирования или системах, согласно следующей таблице, где A и B — некоторые операнды (части) выражения со значением true или false. Например, в выражении x>0 && y>0, в котором x и y принимают вещественные значения, первым операндом A является x>0, a вторым операндом В — вторая часть y>0.

 

A B A && B A || B !B
0 (x<=0) 0 (y<=0)
0 (x<=0) 1 (y>0)
1 (x>0) 0 (y<=0)
1 (x>0) 1 (y>0)

 

В результате операции && получается true (1) тогда и только тогда, когда оба операнда истинны — в нашем примере оба числа положительные. В остальных случаях получается false (0).

В результате операции || получается true, если один из операндов либо оба истинны, то есть в примере одно из чисел или оба положительные. Результатом является false только в том случае, если оба операнда ложны.

Операция отрицания (!) одноместная и меняет значение одного операнда на противоположное, то есть true на false и false на true.

Для закрепления этих операций необходимо научиться выполнять упражнения двух типов:

1) дана некоторая область плоскости. Записать логическое выражение, принимающее значение “истина” тогда и только тогда, когда точка с координатами (x, y) принадлежит указанной области;

2) наоборот, по заданному выражению нарисовать область плоскости, в которой и только которой указанное выражение истинно.

Такие задачи, в зависимости от того, какие логические операции используются при определении областей, можно классифицировать следующим образом:

· в выражении не используются логические операции. Например, точки первой и третьей четвертей, включая и оси координат, определяются с помощью выражения x*y>=0;

· используется только операция &&, если область состоит из одной части. Например, точки внутри треугольника с вершинами (1,1), (0,0) и (-1,1) определяются так: у>=abs(x) && y<=1;

· используется только операция ||, если область состоит из нескольких относительно несложных частей, для определения каждой из которых достаточно одного неравенства. Область, состоящая из левой половины круга радиуса 2 с центром в начале координат, включая и полуокружность, и точек справа от оси OY определяется так: x>0 || x*x+y*y<=4;

· используются как операция &&, так и операция ||, если область “склеена” из нескольких частей. Каждая из них определяется с помощью нескольких неравенств, соединённых операцией &&. Например, ту же левую половину круга радиуса 2, включая и его границы, и правую относительно оси OY часть полукольца, образованного окружностями радиусов 2 и 3 с центром в начале координат, можно определить так:

· x<=0 && x*x+y*y<=4 || x>=0 && x*x+y*y>=4 && x*x+y*y<=9;

· используется операция отрицание (!), если легче определить область, которой точки не принадлежат, или некоторую часть уже определённой области надо “выбросить” из неё. Например, так легче определить круг радиуса 5 с центром в начале координат, из которого выброшен треугольник с вершинами (1,1), (0,0) и (–1,1): x*x+y*y<=25 && ! ( у>=abs(x) && y<=1);



Дата добавления: 2016-07-18; просмотров: 1763;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.