Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Иллюстрированный самоучитель по Delphi 6 / Часть II . Язык Object Pascal /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Элементы языка - Программирование от RIN.RU
Элементы языка



Операции


В Object Pascal определены следующие операции:


  • унарные not, @ ;

  • мультипликативные *, /, div, mod, and, shi, shr;

  • аддитивные +, -, or, xor;

  • отношения =, <>, <, >, <=, >=, in.


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


Delphi переключателя Project | Options | Compiler | Complete


Boolean eval: при установленном переключателе вычисляются все операции отношения, при неустановленном - только те, что необходимы для однозначного определения результата исчисления.


Правила использования операций с операндами различного типа приводятся в табл. 6.1.


Таблица 6.1.
ОперацияДействиеТип операндовТип результата
not ОтрицаниеЛогическийЛогический
not To жеЛюбой целыйТип операнда
@ АдресЛюбойУказатель
* УмножениеЛюбой целыйНаименьший целый
* ТожеЛюбой вещественныйExtended
* Пересечение множествМножественныйМножественный
/ ДелениеЛюбой вещественныйExtended
div Целочисленное делениеЛюбой целыйНаименьший целый
mod Остаток от деленияТоже- Тоже
and Логическое ИЛогическийЛогический
and То жеЛюбой целыйНаименьший целый
shl Левый сдвигТожеТо же
shr Правый сдвигТо жеТо же
+ СложениеТожеТоже
+ ТожеЛюбой вещественныйExtended
+ Объединение множествМножественныйМножественный
+ Сцепление строкСтроковыйСтроковый
- ВычитаниеЛюбой целыйНаименьший целый
- ТожеЛюбой вещественныйExtenden
or Логическое илиЛогическийЛогический
or ТожеЛюбой целыйНаименьший целый
= РавноЛюбой простой или строковыйЛогический
0 Не равноТожеТоже
< МеньшеЛогическийЛогический
<= Меньше или равноТожеТоже
> БольшеТо жеТоже
>= Больше или равноТожеТоже



Унарная операция @ применяется к операнду любого типа и возвращает результат типа pointer (см. гл. 9), в котором содержится адрес операнда. Если операция @ применяется к процедуре, функции или методу в объекте, ее результатом будет адрес точки входа в эту процедуру (функцию, метод). Этот адрес можно использовать только в подпрограмме, написанной на Ассемблере, или во фрагментах


INLINE.


В Object Pascal определены следующие логические операции:


    not - логическое НЕ;
    and - логическое И;
    or - логическое ИЛИ;
    xor - исключительное ИЛИ.


Логические операции применимы к операндам целого и логического типов. Если операнды - целые числа, то результат логической операции есть тоже целое число, биты которого (двоичные разряды) формируются из битов операндов по правилам, указанным в табл. 6.2.


Таблица 6.2.

Логичеcкие операции над данными целого типа (поразрядно) 5

Операнд 1Операнд 2notandorxor
1 - 0 - - -
0 - 1 - - -
0 0 - 0 0 0
0 1 - 0 1 1
1 0 - 0 1 1
1 1 - 1 1 0



К логическим же в Object Pascal обычно относятся и две сдвиговые операции над целыми числами:


i shl j - сдвиг содержимого / на j разрядов влево; освободившиеся младшие разряды заполняются нулями;
i shr j - сдвиг содержимого i на j разрядов вправо; освободившиеся старшие разряды заполняются нулями.


В этих операциях i и у - выражения любого целого типа.


Логические операции над логическими данными дают результат логического типа по правилам, указанным в табл. 6.3.


Таблица 6.3.
Логические операции над данными логического типа
Операнд 1Операнд 2notandorxor
True - False - - -
False - True - - -
False False - False False False
False True - False True True
True False - False True True
True True - True True False



Операция отношения in применяется к двум операндам. Первым (левым) операндом должно быть выражение любого порядкового типа, вторым - множество, состоящее из элементов того же типа, или идентификатор множественного типа. Результат операции будет True, если левый операнд принадлежит множеству.

<<<  Назад
 1  2  3 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь