Арифметические выражения записываются по следующим правилам:
· Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
· Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
· Для обозначения переменных используются буквы латинского алфавита.
· Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
· Операции одного старшинства выполняются слева направо. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).
Примеры записи арифметических выражений
Математическая запись
| Запись на школьном алгоритмическом языке
|
| x * y / z
|
| x / ( y * z ) или x / y / z
|
| ( a**3 + b**3 ) / ( b*c )
|
| ( a[i+1] + b[i-1] ) / ( 2*x*y )
|
| ( -b + sqrt(b*b - 4*a*c)) / ( 2*a )
|
(x<0)
| sign(x) * abs(x) ** (1/5)
|
| 0.49 * exp(a*a - b*b) + ln(cos(a*a)) ** 3
|
| x/(1 + x*x/(3 + (2*x)**3))
|
Типичные ошибки в записи выражений:
5x + 1 a + sin x ((a + b)/c**3
| Пропущен знак умножения между 5 и х Аргумент x функции sin x не заключен в скобки Не хватает закрывающей скобки
|