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
Статьи
Информатика
Статьи
Последние вопросы
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
эссе на тему какое образование дается в каждой семье
Қазақ тiлi.
Put the verb in brackets into the Present Indefinite.
1The Volga ,
Английский язык.
Сколько стоит коктейль молочный? Точную цену надо?
Математика.
Составить рассказ Из чего складывался культ монарха помазанника Божьего?
История.
задание экономиоти
Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких
Экономика.
Облако тегов