Порядок вычислений
Если в выражении расставлены скобки, то вычисления производятся в порядке, известном всем еще с начальной школы: чем меньше глубина вложенности скобок, тем позже вычисляется заключенная в них операция. Если же скобок нет, то сначала вычисляются значения операций с более высоким приоритетом, затем - с менее высоким. Несколько подряд идущих операций одного приоритета вычисляются в последовательности "слева направо".
Унарные2) операции | +, -, not, @, ^, # | Первый(высший) |
Операции, эквивалентные умножению | *, /, div, mod, and, shl, shr | Второй |
Операции, эквивалентные сложению | +,-, or, xor | Третий |
Операции сравнения | =, <>, >, <, <=, >=, in | Четвертый |
Замечание: Вызов любой функции имеет более высокий приоритет, чем все внешние относительно этого вызова операции. Выражения, являющиеся аргументами вызываемой функции, вычисляются в момент вызова (см. лекцию 8).
Примеры выражений (с указанием последовательности вычислений) для целых чисел:
a + b * c / d (результат принадлежит к вещест- 3 1 2 венному типу данных);
a * not b or c * d = 0 (результат принадлежит к логиче- 2 1 4 3 5 скому типу данных);
-min(a + b, 0) * (a + 1) (результат принадлежит к целочис- 3 2 1 5 4 ленному типу данных).
on_load_lecture()
« |
1
|
2
|
3
|
вопросы | »
учебники
|
для печати и PDA
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |