суббота, 11 января 2020 г.

Запись арифметических и логических выражений.

Ответ #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)
Запись арифметических и логических выражений.(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 — Пропущен знак умножения между 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))