| 4.6.	Порядок вычисления выражений в Turbo Pascal 7Вычисление значений выражений выполняется в определенном порядке. Начинается вычисление с определения переменных и констант, входящих в выражение. Они являются основой для дальнейших вычислений. Дальнейшие действия выполняются в соответствии с их приоритетами. Так, в первую очередь вычисляются выражения, заключенные в круглые скобки. Для любых двух вложенных друг в друга пар круглых скобок вычисляется сначала внутреннее выражение, а затем внешнее. Далее вычисляются значения входящих в выражение функций и т. д. Приоритеты всех действий, выполняемых при вычислении выражений, приведены в табл. 8. Таблица 8. Приоритеты действий при вычислении выражений 
   | Группа | Тип действий | Операции или элементы |  
   | 1 | Вычисления в круглых скобках | (  ) |  
   | 2 | Вычисления значений функций | Функции |  
   | 3 | Унарные операции | @, not, унарный +, унарный - |  
   | 4 | Операции типа умножения | *, /, div, mod, and, shl, shr |  
   | 5 | Операции типа сложения | +, -, or, xor |  
   | 6 | Операции отношения | =, <>, <, >, <=, >=, in |  Примечание.        Операции @ и in будут рассмотрены в пп. 7 и 6.4 соответственно. Следует иметь в виду что в пределах одного и того же приоритета действия не обязательно выполняются слева направо. В целях оптимизации программы компилятор может нарушить этот порядок вычисления. Исключение составляют укороченные логические вычисления логических выражений, где вычисления всегда выполняются слева направо.  Пример. (X   >  0)   and   (X  <   5) В этом примере сначала выполняются две операции сравнения (операции 6-й группы), а затем логическая операция (операция 4-й группы). 
 
 |