Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Целая и вещественная арифметика
Выражение состоит из операндов и операторов. Операторы находятся между операндами и обозначают действия, которые выполняются над операндами. В качестве операндов выражения можно использовать: переменную, константу, функцию или другое выражение. Основные алгебраические операторы приведены в Алгебраические операторы. Алгебраические операторы
При записи выражений между операндом и оператором, за исключением операторов DIV и MOD, пробел можно не ставить. Результат применения операторов +, -, * и / очевиден. Оператор DIV позволяет получить целую часть результата деления одного числа на другое. Например, значение выражения 15 DIV 7 равно 2. Оператор MOD, деление по модулю, позволяет получить остаток от деления одного числа на другое. Например, значение выражения 15 MOD 7 равно 1. В простейшем случае выражение может представлять собой константу или переменную.
Примеры выражений:
1230.001* i+1 А + В/С Summa*0.75 (В1+ВЗ+ВЗ)/3 Cena MOD 100
Тип выражения определяется типом операндов, входящих в выражение, и зависит от операций, выполняемых над ними. Например, если оба операнда, над которыми выполняется операция сложения, целые, то очевидно, что результат тоже является целым. А если хотя бы один из операндов дробный, то тип результата дробный, даже в том случае, если дробная часть значения выражения равна нулю. Важно уметь определять тип выражения. При определении типа выражения следует иметь в виду, что тип константы определяется ее видом, а тип переменной задается в инструкции объявления. Например, константы 0, 1 и -512 — целого типа (integer), а константы 1.0, 0.0 и 3.2Е-05 — вещественного типа (real). Любые операции с вещественными числами выполняются с некоторой погрешностью. В таблице 1приведены правила определения типа выражения в зависимости от типа операндов и вида оператора. Таблица 1 – Правила определения типа выражения
Правила использования операций с операндами различного типа приводятся в табл.2. Таблица 2 – Правила использования операций с операндами различного типа
Унарная операция @ применяется к операнду любого типа и возвращает результат типа pointer, в котором содержится адрес операнда. Если операция @ применяется к процедуре, функции или методу в объекте, ее результатом будет адрес точки входа в эту процедуру (функцию, метод). Этот адрес можно использовать только в подпрограмме, написанной на Ассемблере, или во фрагментах INLINE. В Object Pascal определены следующие логические операции: Ø not- логическое НЕ; Ø and- логическое И; Ø or- логическое ИЛИ; Ø xor - исключительное ИЛИ. Логические операции применимы к операндам целого и логического типов. Если операнды - целые числа, то результат логической операции есть тоже целое число, биты которого (двоичные разряды) формируются из битов операндов по правилам, указанным в табл.3. Таблица 3 – Правила формирования
К логическим же в Object Pascal обычно относятся и две сдвиговые операции над целыми числами: Ø i shl j - сдвиг содержимого i на j разрядов влево; освободившиеся младшие разряды заполняются нулями; Ø i shr j - сдвиг содержимого i на j разрядов вправо; освободившиеся старшие разряды заполняются нулями. В этих операциях i и j - выражения любого целого типа. Логические операции над логическими данными дают результат логического типа по правилам, указанным в Табл.4. Таблица 4 – Правила проведения логических операций
Операция отношения in применяется к двум операндам. Первым (левым) операндом должно быть выражение любого порядкового типа, вторым - множество, состоящее из элементов того же типа, или идентификатор множественного типа. Результат операции будет True, если левый операнд принадлежит множеству.
|