Ответ #1:
Арифметические выражения записываются по следующим правилам:
• Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
• Индексы элементов массивов записываются в квадратных (школьный АЯ, 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) | |
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 — Пропущен знак умножения между 5 и х
a+sin x — Аргумент x функции sin x не заключен в скобки
((a+b)/c**3 — Не хватает закрывающей скобки
В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.
Примеры записи логических выражений, истинных при выполнении указанных условий
Условие | Запись на алгоритмическом языке |
Дробная часть вещественного числа a равна нулю | int(a) = 0 |
Целое число a — четное | mod(a,2) = 0 |
Целое число a — нечетное | mod(a,2) = 1 |
Целое число k кратно семи | mod(a,7) = 0 |
Каждое из чисел a,b положительно | (a>0) и (b>0) |
Только одно из чисел a,b положительно | ((a>0) и (b<=0)) или ((a<=0) и (b>0)) |
Хотя бы одно из чисел a,b,c является отрицательным | (a<0) или (b<0) или (c<0) |
Число x удовлетворяет условию a<x<b | (x>a) и (x<b) |
Число x имеет значение в промежутке [1,3] | (x>=1) и (x<=3) |
Целые числа a и b имеют одинаковую четность | ((mod(a,2)=0) и (mod(b,2)=0) или ((mod(a,2)=1) и (mod(b,2)=1)) |
Точка с координатами (x,y) лежит в круге радиуса r с центром в точке (a,b) | (x-a)**2+(y-b)**2<r*r |
Уравнение ax^2+bx+c=0 не имеет действительных корней | b*b-4*a*c<0 |
Точка (x,y) принадлежит первому или третьему квадранту | ((x>0) и (y>0)) или ((x<0) и (y>0)) |