Здравствуйте! Помогите пожалуйста с программой. Описать функцию у=arcsin(x), cоставить...

0 голосов
30 просмотров

Здравствуйте! Помогите пожалуйста с программой.
Описать функцию у=arcsin(x), cоставить программу решения уравнения sin(ax+b)=c (Паскаль)




Информатика (187 баллов) | 30 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Считаем, что в нашей реализации языка Pascal нет готовой функции для арксинуса и опишем арксинус на основе известного тригонометрического соотношения:
\arcsin(x)=\arctan(\frac{x}{\sqrt{1-x^2}})
Тогда
\sin(ax+b)=c; \ ax+b=\arcsin(c) \to x= \frac{\arcsin(c)-b}{a}
Область допустимых значений: |c|<1, a≠0<br>
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



(142k баллов)