Здравствуйте! Помогите пожалуйста с программой. Описать функцию у=arcsin(x), cоставить программу решения уравнения sin(ax+b)=c (Паскаль)
Здравствуйте! Помогите пожалуйста с программой.
Описать функцию у=arcsin(x), cоставить программу решения уравнения sin(ax+b)=c (Паскаль)
Ответ(ы) на вопрос:
Считаем, что в нашей реализации языка Pascal нет готовой функции для арксинуса и опишем арксинус на основе известного тригонометрического соотношения:
[latex]\arcsin(x)=\arctan(\frac{x}{\sqrt{1-x^2}}) [/latex]
Тогда
[latex]\sin(ax+b)=c; \ ax+b=\arcsin(c) \to x= \frac{\arcsin(c)-b}{a} [/latex]
Область допустимых значений: |c|<1, a≠0
function arcsin(x: real): real;
begin
arcsin := arctan(x / sqrt(1 - sqr(x)))
end;
var
a, b, c, x: real;
begin
Write('Введите через пробел значения a,b,c: ');
Readln(a, b, c);
if (c >= 1) then Writeln('Решения нет, c>=1')
else if a = 0 then Writeln('Решения нет, a=0)')
else Writeln('x=', arcsin(c) / sqrt(1 - sqr(x)):0:5)
end.
Тестовое решение:
Введите через пробел значения a,b,c: 3.25 -1.7 0.146
x=0.14652
Не нашли ответ?
Похожие вопросы