Приоритет операций

   
На этом шаге мы рассмотрим порядок выполения операций.

   
Последовательность выполнения операций определяется тремя факторами:

  • приоритетом операций;
  • порядком расположения операций в выражении;
  • использованием скобок.

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

Таблица 1. Приоритет операций

ПриоритетОперацииКатегория операций
Первый (высший)+ - not @Унарные операции
Второй* / div mod and as shl shrБинарные операции типа умножения
Третий+ - xor orБинарные операции типа сложения
Четвертый (низший)= <> < > <= >= in isБинарные операции отношения

   

   
Операции as и is являются нововведением языка Object Pascal.

   
Примеры сложных выражений.

    А *  (((X  - Y / Z) * 3 + 5) / (В + С) - D * Е) - 14 
    (А <> В) and ((I  <  J) or (J < К)) and (С in D)

   
На следующем шаге мы дадим классификацию операций.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий