Выражения в Pascal: арифметические, логические


Выражения представляют собой конструкцию языка, которая содержит в себе данные, операции и имеется строгий порядок выполнения этих операций. Выражения всегда возвращают какое-либо значение.

Операнды — это данные, над которыми производятся действия. Операндами могут быть переменные, константы, переменные массивов и другие элементы.

1. Арифметические операции

Арифметические операции выполняются над целыми и действительными числами. Результатом выполнения арифметического выражения является, соответственно, целое или действительное число.

Знак ОперацияОперацииТипы операндовТип результатаПример
+СложениеInteger, RealInteger, Realx+y
ВычитаниеInteger, RealInteger, Realx-y
*УмножениеInteger, RealInteger, Realx*y
/ДелениеInteger, RealRealx/y
divЦелочисленное делениеIntegerIntegerX div Y
modЦелочисленный остаток от деленияIntegerIntegerX mod Y

Операций div и mod:
• результатом целочисленного деления x div Y будет результат деления x на Y, округленный в сторону нуля до ближайшего целого числа. Например, результатом выражения 4 div 2 будет 2, а результатом выражения 17 div 4 будет 4;
• результатом операции mod будет остаток от целочисленного деления операндов. Таким образом, выражение x mod у эквивалентно выражению x-(x div Y) *Y. Например, результатом выражения 4 mod 2 будет о, а результатом выражения 9 mod 4 будет 1.

Пример

Var a, b, c, d: integer;
Begin a: = 7; b: = 5; c: = -10;
d: = a+b; d: = -d; end;

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

Логические выражения — это выражения, в которых содержатся:
1. логические константы True И (ИЛИ) False;
2. логические переменные и (или) константы типа Boolean;
3. операции отношения;
4. логические операции;
5. скобки.

В результате выполнения логической операции получается логическое значение True или False.

Знак ОперацияОперацииТипы операндовТип результатаПример
notОтрицаниеBooleanBooleannot(C in MySet)
andКонъюнкция (логическое И)BooleanBooleanA and В
orДизъюнкция (логическое ИЛИ)BooleanBooleanA or В
xorИсключающая дизъюнкция (исключающие ИЛИ)BooleanBooleanA xor В

Для того чтобы был четкий порядок выполнения операции, в языке Delphi имеется понятие приоритет.

Приоритет определяет старшинство операций, служит для установления порядка выполнения операций. Операции с более высоким уровнем приоритета выполняются раньше остальных.

По приоритету все операции разделяются на четыре уровня:

По первый (наивысший) уровень приоритета. К нему относятся операции and и not;
• второй уровень приоритета — операции *, /, div, mod, and, shl, shr и as;
• третий уровень приоритета — операции +, -, or и хоr;
• четвертый (самый низкий) уровень приоритета — операции =, о, <, >,<=, >=, in и is.

Если подряд идут несколько операций с одинаковым приоритетом, то операции выполняются слева направо.


Комментарии запрещены.




Статистика