Поиск по документации
Введите не менее 2 символов
Введите не менее 2 символов
![]() |
CAE Fidesys 9.0 Руководство пользователя |
Ниже представлены операторы, используемые в APREPRO:
В таблицах 1-4 буквы a и b представляют собой переменные, числа, функции, или выражения, если не указано иное. В приведенных ниже таблицах также перечислены приоритеты и ассоциативность операторов. Приоритет определяет порядок, в котором операции должны быть выполнены. Например, в выражении:
3 * 4 + 6 / 2
сначала выполняются умножения и деления, а затем сложение, потому что умножение и деление имеют более высокий приоритет, чем сложение. Приоритет оператора может быть от 1 до 14, где 1 - это наименьший приоритет, а 14 - наивысший. Ассоциативность определяет, какая сторона выражений должна быть выполнена сначала. Например, для выражения:
3 + 4 + 5 будет представлено как (3 + 4) + 5 для левой ассоциативности, выражение a = b / c будет представлено как a = (b / c) для правой ассоциативности.
Арифметические операторы объединяют два или более алгебраических выражения в одно алгебраическое выражение. Они имеют очевидные значения, за исключением операторов пред- и пост- инкремента и декремента. Операторы пре-инкремент и пре-декремент сначала увеличивают или уменьшите значение параметра на 1, а затем возвращают ее значение. Например, если a = 1, а затем b=++a, то оба параметра b и a будут равны 2. Пост инкремент и пост-декремент сначала возвращают значение параметра, а затем увеличивают его или уменьшают его на 1. Например, если a = 1, а затем b=a++ , то в итоге b равно 1 и a равно 2. Оператор остаток, % , возвращает целочисленный остаток. То есть от обоих выражений a и b берется целая часть, а затем вычисляется остаток. Для расчета остатка с плавающей запятой смотрите функцию fmod в разделе Математические функции. Тильда ~ используется, как синоним оператора умножения, *,, для улучшения эстетики системы преобразования единиц APREPRO (однако, в Fidesys не поддерживается). Для некоторых пользователей более удобно вводить12~metre , чем 12*metre
Таблица 1. Арифметические операторы.
Синтаксис |
Описание |
Приоритет |
Ассоциативность |
|
a+b |
сложение |
9 |
левая |
|
a-b |
вычитание |
9 |
левая |
|
a*b, a~b |
умножение |
10 |
левая |
|
a/b |
деление |
10 |
левая |
|
a^b, a**b |
возведение в степень |
12 |
правая |
|
a%b |
остаток |
10 |
левая |
|
++a, a++ |
пре-, пост-инкремент |
13 |
левая |
|
--a, a-- |
пре-, пост-декримент |
13 |
левая |
|
Операторы присваивания объединяют параметр и алгебраическое выражение
в единое алгебраическое выражение, а также устанавливают
значение параметра равным алгебраическому выражению.
В левой части знака равенства могут быть указаны
только параметры.
Таблица 2. Операторы присвоения.
Синтаксис |
Описание |
Приоритет |
Ассоциативность |
|
a=b |
Параметру 'a' присваивается значение 'b' |
1 |
правая |
|
a+=b |
Параметру 'a' присваивается значение 'a + b' |
2 |
правая |
|
a-=b |
Параметру 'a' присваивается значение 'a - b' |
2 |
правая |
|
a*=b |
Параметру 'a' присваивается значение 'a * b' |
3 |
правая |
|
a/=b |
Параметру 'a' присваивается значение ' a / b' |
3 |
правая |
|
a^=b |
Параметру 'a' присваивается значение 'a b' |
4 |
правая |
|
a**=b |
Параметру 'a' присваивает значение 'a b' |
4 |
правая |
|
Операторы сравнения объединяют два алгебраических выражения в одно выражение сравнения. Выражения сравнения и операторы могут использоваться только перед вопросительным знаком (?) в условном выражении.
Таблица 3. Операторы сравнения.
Синтаксис |
Описание |
Приоритет |
Ассоциативность |
|
a<b |
верно, если 'a'меньше, чем 'b' |
8 |
левая |
|
a>b |
верно, если 'a' больше, чем 'b' |
8 |
левая |
|
a<=b |
верно, если 'a' меньше или равно 'b' |
8 |
левая |
|
a>=b |
верно, если 'a' больше или равно 'b' |
8 |
левая |
|
a==b |
верно, если 'a' равно 'b' |
8 |
левая |
|
a!=b |
верно, если 'a' неравно 'b' |
8 |
левая |
|
Булевы операторы объединяют одно или несколько выражений сравнения в единое выражение сравнения. Если la и lb - два выражения сравнения, то:
Таблица 4. Булевы операторы
Синтаксис |
Описание |
Приоритет |
Ассоциативность |
|
1a || 1b |
верно, если либо 'la', либо 'lb' верно. |
6 |
левая |
|
1a && 1b |
верно, если оба выражения 'la' и 'lb' верны. |
7 |
левая |
|
!1a |
верно, если 'la' неверно. |
11 |
левая |
|
Единственным поддерживаемым строковым оператором в настоящее время является
операция объединения строк, которая
Обозначается //. Если a = "Hello"
и b = "World", тогда:
c = a // " " // b
устанавливает значение параметра c равным "Hello World". Объединение имеет приоритет 14 и левую ассоциативность. Подробности о строковых функциях смотрите в разделе Строковые функции