Парижский Сергей Михайлович
Шрифт:
Операторы
Оператор — это конструкция языка Object Pascal, выполняющая определенную операцию. Все операторы можно разбить на несколько категорий.
Оператор присваивания
Слева от оператора присваивания := указывается переменная или свойство объекта, а справа — некоторое значение или выражение. Тип значения или результат выражения должен соответствовать типу переменной или свойства.
Арифметические операторы
Арифметические операторы возвращают значения, соответствующие типам числовых операндов:
• + — сложение;
• – — вычитание;
• * — умножение;
• / — деление чисел с плавающей запятой;
• div — целочисленное деление с отбрасыванием остатка;
• mod — получение остатка от целочисленного деления.
Булевы операторы
Булевы операторы возвращают значения типа Boolean:
• not — отрицание;
• and — логическое "И";
• or — логическое "ИЛИ";
• xor — логическое исключающее "ИЛИ".
Операторы сравнения
Операторы сравнения возвращают значение типа Boolean:
• = — равно;
• <> — не равно;
• < — меньше;
• > — больше;
• <= — меньше или равно;
• >= — больше или равно.
Побитовые операторы
Побитовые операторы выполняют действия с операндами с учетом их двоичного представления:
• not — побитовое отрицание (not 0 = 1; not 1 = 0);
• and — побитовое умножение (0 and N = 0; 1 and 1 = 1);
• or — побитовое сложение (1 or N = 1; 0 or 0 = 0);
• xor — побитовое исключающее сложение (0 xor 0 = 0; 0 xor 1 = 1; 1 xor 1 = 0);
• shl — побитовый сдвиг влево;
• shr — побитовый сдвиг вправо.
Строковые операторы
Строковые операторы применяются к операндам строкового или символьного типа:
• =, <>, <, >, <=, >= — операторы сравнения;
• + — оператор конкатенации (слияния операндов).
Операторы, применяемые к множествам
К множествам применяются следующие операторы:
• + — объединение (результат — множество);
• – — вычитание (результат — множество);
• * — пересечение (результат — множество);
• <= – подмножество (результат — множество);
• >= — супермножество (результат — множество);
• = — равенство (результат — значение типа Boolean);
• <> — неравенство (результат — значение типа Boolean);
• in — вхождение множества, указанного слева от оператора, во множество, указанное справа (результат — значение типа Boolean).
Операторы, применяемые с объектами
С объектами применяют следующие операторы:
• as — приведение к производному классу. Пример использования:
• is — сравнение с классом. Пример использования:
• =, <> — операторы сравнения.
Группировка операторов
Операторы можно группировать, заключая их в круглые скобки.
Порядок выполнения операторов
В сложных выражениях операторы выполняются в следующем порядке:
1. .
2. not.
3. *, /, div, mod, and, shl, shr, as.
4. +, –, or, xor.
5. =, <>, <, >, <=, >=, in, is.
Блоки программного кода
Два и более операторов присваивания, а также вызовов процедур или функций можно выделять в блоки программного кода при помощи ключевых слов begin и end. Такие блоки используются в конструкции with-do, а также в рассматриваемых ниже циклических конструкциях и конструкциях ветвления.
Конструкции ветвления
Конструкции ветвления осуществляют переход к одному из блоков программного кода на основании проверки некоторого условия. К ним относятся операторы if и case.
Оператор if
Оператор if имеет синтаксис двух видов:
Если выражение возвращает значение True, то выполняется блок кода, расположенный после ключевого слова then, в противном случае выполняется или программный код, расположенный после конструкции if-then (в случае отсутствия ветки else), или же код, расположенный после ключевого слова else.