Как решать сложное математическое уравнение? - PascalABC.NET
Формулировка задачи:
Как решить вот такое вот уравнение подскажите пожалуйста. В математике я 0.
Решение задачи: «Как решать сложное математическое уравнение?»
textual
Листинг программы
var a,b,c,d,e,f,x:real;
begin
writeln('Введите a,x');
readln(a,x);
if a*x=-3 then write('c не определено, деление на 0')
else
begin
b:=x/sqr(3+a*x)+3*x;
d:=x*sin(x)/3-1;
if cos(x)<0 then
write('c не определено, отрицательное число в вещественной степени')
else if cos(x)=0 then write('c не определено, деление на 0')
else
begin
e:=exp(ln(cos(x))*x);
f:=d*d*d/e;
c:=b*f+a+2;
write('c=',c:0:3);
end;
end;
end.
Объяснение кода листинга программы
- Объявлены переменные a, b, c, d, e, f, x типа real.
- Пользователю предлагается ввести значения a и x.
- Значения a и x сохраняются в соответствующих переменных.
- Проверяется условие a*x=-3. Если оно истинно, выводится сообщение
c не определено, деление на 0. - В противном случае, рассчитывается значение переменной b по формуле b:=x/sqr(3+ax)+3x.
- Также рассчитывается значение переменной d по формуле d:=x*sin(x)/3-1.
- Проверяется условие cos(x)<0. Если оно истинно, выводится сообщение
c не определено, отрицательное число в вещественной степени. - Если cos(x)=0, выводится сообщение
c не определено, деление на 0. - В противном случае, рассчитывается значение переменной e по формуле e:=exp(ln(cos(x))*x).
- Также рассчитывается значение переменной f по формуле f:=ddd/e.
- Рассчитывается значение переменной c по формуле c:=b*f+a+2.
- Выводится значение переменной c с точностью до трех знаков после запятой.
- Код повторяет выполнение пунктов 2-12 для каждого нового ввода значений a и x.