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

Выражение предназначено для вычисления значения и состоит из операндов (констант, переменных, функций) и операций над ними. Порядок действий в выражении определяется приоритетами знаков операций и круглыми скобками. Типы операндов, входящих в выражение должны совпадать или удовлетворять правилам согласования типов языка программирования.

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

Арифметическое выражение включает операции, допустимые для числовых типов данных (integer, byte, real и других). Приоритет операций в порядке убывания следующий: /, *, div (частное от деления целых чисел), mod (остаток от деления целых чисел), and (поразрядное «и»), or (поразрядное «или»), shl (сдвиг влево), shr (сдвиг вправо), -, +.

Пример:

45.2 / 4 { результат 11.3 }

r mod 10 { если r = 25, результат 5 }

r div 10 { если r = 25, результат 2 }

d1 shl 2 { если d1 = 2, результат 8 }

Выражение отношения выполняет сравнение операндов и определяют истинно выражение или ложно. Все операции выражения являются бинарными. Приоритет операций в порядке убывания следующий: =, <>, <, >, <=, >=, in ( операцияпринадлежности множеству ). Результат всегда имеет логический тип.

Пример:

W <= R { если W = 25, R = 34, результат true }

f1 <> 5 { если f1 = 5, результат false }

ch in ['a'..'z'] { если ch – латинскаябуква,результат true }

Логическое выражение выполняет логические операции над логическими операндами. Приоритет операций в порядке убывания следующий: not, and, or, xor.

Пример:

(W and R) or (not f1 and f2) { если W, f2=true; R, f1=false, результат true}

Символьное выражение включает такие операнды, как символьная константа, символьная переменная, элемент массива символьного типа, функция, возвращающая значение символьного типа. Над операндами может выполняться операция конкатенации (объединения) – +.

Пример:

'Pas'+'cal' { результат – символьная константа 'Pascal' }

Относительные приоритеты операций языка Object Pascal приведены в таблице 1.2.

Таблица 1.2 Приоритет операций в языке Object Pascal

Операция Приоритет
@, not Первый (высший)
*, /, div, mod, and, shl, shr Второй
+, -, or, xor Третий
=, <>, >,<, <=,>=, in Четвертый (низший)

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: