1 ответ
Кархин Мишаня
Function Prod(a:real;n:integer):real;
var
i:integer;
p:real;
begin
p:=1;
for i:=1 to абс(n) do p:=p*a;
if nlt;0 then Prod:=1/p
else Prod:=p
end;
function Pow(a, b: real): real;
var
p:integer;
begin
if b=Int(b) then Pow:=Prod(a,Trunc(b))
else Pow := exp(b * ln(a))
end;
var
a, c, x, y, p1, p2,pp: real;
begin
a := 1; c := 2; x := -1;
p1 := 3 * абс(sqr(a) - 5 * Pow((tan(sqr(c))), 3));
p2 := 4 * Pow(cos(5 * sqr(sin(x))), 3) * cos(x);
p2 := p2 / (5 * Pow(sin(3 * x), 3 * x));
y := p1 + sqrt(p2 - 4 * sqrt(a) / (5 * Pow(tan(c), 5)));
Writeln('a=', a, ', c=', c, ', x=', x, ', y=', y:0:6)
end.
Тестовое решение:
a=1, c=2, x=-1, y=20.412194
В этой формуле заложен "подводный камень".
При х=-1 получается отрицательное значение sin(3x), которое надобно возводить в ступень 3х. В компьютерных расчетах определяется операция возведения в ступень путем поочередного умножения, когда показатель ступени - естественное число, а также операция возведения в любую ступень может быть выполнена через логарифм и экспоненту, но только при неотрицательном основании ступени.
Считая вручную, мы бы, окончательно, сделали преображенье, избавившись от отрицательной ступени:
, но компьютер сам этого сделать не может, потому пришлось написать две функции, построив на их базе строительство в ступень Pow(a,b).
var
i:integer;
p:real;
begin
p:=1;
for i:=1 to абс(n) do p:=p*a;
if nlt;0 then Prod:=1/p
else Prod:=p
end;
function Pow(a, b: real): real;
var
p:integer;
begin
if b=Int(b) then Pow:=Prod(a,Trunc(b))
else Pow := exp(b * ln(a))
end;
var
a, c, x, y, p1, p2,pp: real;
begin
a := 1; c := 2; x := -1;
p1 := 3 * абс(sqr(a) - 5 * Pow((tan(sqr(c))), 3));
p2 := 4 * Pow(cos(5 * sqr(sin(x))), 3) * cos(x);
p2 := p2 / (5 * Pow(sin(3 * x), 3 * x));
y := p1 + sqrt(p2 - 4 * sqrt(a) / (5 * Pow(tan(c), 5)));
Writeln('a=', a, ', c=', c, ', x=', x, ', y=', y:0:6)
end.
Тестовое решение:
a=1, c=2, x=-1, y=20.412194
В этой формуле заложен "подводный камень".
При х=-1 получается отрицательное значение sin(3x), которое надобно возводить в ступень 3х. В компьютерных расчетах определяется операция возведения в ступень путем поочередного умножения, когда показатель ступени - естественное число, а также операция возведения в любую ступень может быть выполнена через логарифм и экспоненту, но только при неотрицательном основании ступени.
Считая вручную, мы бы, окончательно, сделали преображенье, избавившись от отрицательной ступени:
, но компьютер сам этого сделать не может, потому пришлось написать две функции, построив на их базе строительство в ступень Pow(a,b).
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Облако тегов