7.20. Как записываются арифметические выражения?
Арифметические выражения записываются по следующим правилам:
- Нельзя опускать знак умножения между сомножителями
и ставить рядом два знака операций.
- Индексы элементов массивов записываются в
квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
- Для обозначения переменных используются буквы латинского алфавита.
- Операции выполняются в порядке старшинства:
сначала вычисление функций, затем возведение в степень, потом умножение
и деление и в последнюю очередь сложение и вычитание.
- Операции одного старшинства выполняются
слева направо. Например, a/b*c соответствует a/b*c. Однако, в школьном
АЯ есть одно исключение из этого правила: операции возведения в
степень выполняются справа налево. Так, выражение 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 не заключен в скобки
Не хватает закрывающей скобки
|