|
Выражения и операции
Выражение — это синтаксическая единица языка, задающая порядок и способ вычисления некоторого значения.
В соответствии с правилами формирования выражение представляет собой последовательность операндов, соединяющихся друг с другом знаками операций. Некоторые фрагменты выражения могут быть заключены в круглые скобки.
В качестве операнда в конструкции выступают переменные, константы, функции:
Операции подразделяются на несколько групп:
• арифметические операции;
• операции отношения;
• логические операции;
• операции с битами информации.
Каждой группе операций соответствуют определенные типы переменных и констант.
По количеству операндов, участвующих в операциях, их делят на унарные (операции с одним операндом) и бинарные (операции с двумя операндами). В бинарных операциях используется обычное алгебраическое представление, например: А + В. В унарных операциях операция всегда предшествует операнду, например -В.
В более сложных выражениях порядок, в котором выполняются операции, соответствует приоритету операций:
Операции | Приоритет | Категория |
not, +, - | Первый (высший) | Унарные операции |
*, /, div, mod, and | Второй | Операции умножения |
+, -, or, xor | Третий | Операции сложения |
=, < >,<=, >=, in | Четвертый (низший) | Операции отношения |
Для определения старшинства операций применяются три основных правила:
1. Операнд, находящийся между двумя операциями с различными приоритетами, связывается с операцией, имеющей более высокий приоритет.
2. Операнд, находящийся между двумя операциями с равными приоритетами, связывается с операцией, которая находится слева от него.
3. Выражение, заключенное в круглые скобки, перед выполнением вычисляется, как отдельный операнд.
Операции с равным приоритетом обычно выполняются слева направо, хотя иногда компилятор при генерации оптимального кода может переупорядочить операнды.
Арифметические операции
Арифметические операции могут применяться только к операндам целых и вещественных типов:
Знак | Операция | Кол-во операндов | Тип операндов | Тип результата | Описание |
+ | Признак положительного числа | Унарная | Целый Вещественный | Целый Вещественный | Не меняет значения операнда |
- | Признак отрицательного числа | Унарная | Целый Вещественный | Целый Вещественный | Меняет значение операнда на отрицательное |
+ | Сложение | Бинарная | Целый Хотя бы один вещественный | Целый Вещественный | Результат — сумма двух чисел |
- | Вычитание | Бинарная | Целый Хотя бы один вещественный | Целый Вещественный | Результат — разность двух чисел |
* | Умножение | Бинарная | Целый Хотя бы один вещественный | Целый Вещественный | Результат — произведение двух чисел |
/ | Деление | Бинарная | Целый или вещественный | Вещественный | Результат — частное от деления двух чисел |
div | Деление целых чисел | Бинарная | Целый | Целый | Результат — целая часть от деления целых чисел: 25 div 6 = 4 |
mod | Остаток от деления целых чисел | Бинарная | Целый | Целый | Результат — остаток от деления целых чисел: 25 mod 6 = 1 |
В качестве операндов арифметических операций могут выступать стандартные арифметические (или тригонометрические) функции, т.е. функции с результатом целого или вещественного типа, аргументами которых являются выражения целого или вещественного типа. В таблице приведены характеристики некоторых арифметических и тригонометрических функций (список функций приведен для расширения языка — Object Pascal).
Функция | Назначение | Тип аргумента | Тип результата |
Abs(X) | Модуль (абсолютная величина) аргумента | Целый Вещественный | Целый Вещественный |
Cos(X) | Косинус аргумента | Вещественный | Вещественный |
Pi | Число π |
| Вещественный |
Sin(X) | Синус аргумента | Вещественный | Вещественный |
Sqr(X) | Квадрат аргумента | Вещественный | Вещественный |
Sqrt(X) | Квадратный корень аргумента | Вещественный | Вещественный |
Tan(X) | Тангенс аргумента | Вещественный | Вещественный |
Примеры записи арифметических выражений:
Pi * Sqr(R);
(Cos(X) + Y)/Z;
(X + Y) / Z;
Операции отношения
В результате выполнения операций отношения получается значение логического типа: true или false. При этом операнды, участвующие в операции, должны быть сравнимых типов, например: целого и целого; целого и вещественного; логического и логического и т.п. Ошибочно сравнивать операнды символьного и целого типа, или целого и логического.
Операция | Описание | Примеры |
= | Равно | X = Abs(X) — true, если X — положительное число, false, если X — отрицательное А = А — true 2 = 5 — false |
< > | Не равно | X < >Abs(X) — true, если X — отрицательное число, false, если X — положительное А<>А — false 2 <>5 —- true |
< | Меньше | А < А — false 2 < 5 — true |
<= | Меньше или равно | А <= А — true A>A -false |
> | Больше | A+1 > А — true X>X —false |
>= | Больше или равно | A >= A — true X+1>=X—-true |
Логические операции
Логические операции применяются к операндам логического типа. Результат выполнения логических операций тоже логического типа. Вычисление логических выражений происходит в соответствии с таблицами истинности логических операций. Таблицы истинности задают соответствие между значениями операндов и результатом выполнения операции.
Примеры записи логических выражений:
(х >= 0) and (х <= 1)
((X > 0) and (X < 0.5)) or (X > 3)
(N mod 2=0) and (N > 0)
Операция | Тип операндов и результата | Примеры |
Not | Логический | Not true - false |
And | Логический | True and true – true True and false - false |
Or | Логический | True or true – true True or false - true |
Xor | Логический | True or true – false True or false – false False or false - true |
Дата добавления: 2015-10-21; просмотров: 41 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Міністерство освіти і науки України дондуу | | | Переменные и константы. Типы данных |