Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 3.2 (ч.1). Команды и данные. Абстракция да...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
624.15 Кб
Скачать

3.2.3.2 Логические операции

Логической операцией называется операция над данными, возращающая результат логического типа (true или false).

Логическая операция определяется правилом:

логическая операция ::= !(отрицание) | «| |»(логическое сложение) | &&(логическое умножение);

Операция ! (логическое отрицание, читается как «НЕ») – это одноместная операция, результатом выполнения которой является true («истина»), если операнд имеет значение false («ложь») и наоборот. Если, например, X=2 (т.е. не 0 или true), то значением выражения !X является false.

Операция || (логическое сложение, читается как «ИЛИ») – это двухместная операция, результатом выполнения которой является true, если хотя бы один операнд имеет логическое значение true (т.е. не 0); в противном случае результатом выполнения операции является false. Если, например, X=12 (т.е. true) и Y= 0 (т.е. false), то значением выражения X || Y является true.

Операция && (логическое умножение, читается как «И») – это двухместная операция, результатом выполнения которой является true, если оба операнда имеют логическое значение true (т.е. не 0); в противном случае результатом выполнения операции является false. Если, например, X=12 (т.е. true) и Y= 0 (т.е. false), то значением выражения X && Y является false.

3.2.3.4 Операции отношения

Операцией отношения называется двухместная операция сравнения значений операндов, возращающая результат логического типа: true, - если отношение справедливо, или false, – в противном случае.

Операция отношения определяется правилом:

операция отношения ::= «= =»(равно?) | «!=»(не равно?) | <(меньше?) | >(больше?) |

<= (не больше?) | >=(не меньше?);

Название любой их этих операций читается с вопросительной интонацией, например, выражение X = = Y читается как «значение X равно значению Y?»

Следует опасаться довольно распространенной ошибки бездумного копирования в программном коде математического синтаксиса выражения типа Xn X Xk. Для таких составных операций выражение должно записываться в виде: (Xn <= X) && (X <= Xk). В этом легко убедиться. Пусть, например, X=20. Тогда выражение 0 X 10 трактуется как:

true

(0 = X) =10 (0 = 20) =10 true =100 = true,

true

что, естественно, неверно, а выражение:

false

true

(0 <= X) && (X <= 10) (0 <= 20) && (20 <= 10) = false

даёт верный результат.

3.2.3.5 Операция присваивания

Операцией присваивания называется двухместная операция, предназначенная для присваивания идентифицированному данному некоторого значения.

Операция присваивания определяется правилом:

операция присваивания ::=

(идентификатор данного | адресное выражение), =(присвоить), выражение;

Операция присваивания «=» выполняется в три этапа:

  1. Вычисляется значение выражения.

  2. Тип результата вычисления выражения приводится к типу данного, представленного идентификатором (или адресным выражением) (см. раздел 4.3.10), который записан слева от знака «=».

  3. Результат вычисления выражения присваивается данному, представленному идентификатором (или адресным выражением), который записан слева от знака «=».

Операцию присваивания можно комбинировать с арифметическими и битовыми операциями, например: += (увеличить на ...), <<= (присвоить побитово сдвинутое влево значение) и др.

Примеры:

X = 0 // присвоить X значение 0

X += 5 // если X было равно 4, то он станет равным 9 (эквивалентно X = X + 5)

X *= 3 + 2 // если X было равно 2, то он станет равным 10 (эквивалентно X = X * (3+2)

X = Y = 4 // присваивание переменным X и Y значения 4 (эквивалентно X = (Y = 4)

X = (Y = 5) + 3 // присваивание переменной Y значения 5 и переменной X значения 8