Ладно уж, распишу решение.
Из первого уравнения находим:
y = ±Sqrt(1-x²)
Отсюда сразу видим, что область допустимых значений х есть
-1 ≤ х ≤ +1
Подстановка у во второе уравнение даёт:
1.5*x + 0.2 - Sin(x ± Sqrt(1-x²)) = 0
Рассмотрим два случая: со знаком "+" и со знаком "-".
1. Со знаком "+".
Для определения приближенного значения корня построим график функции
f(x) = 1.5*x + 0.2 - Sin(x + Sqrt(1-x²))
Он выглядит так:
поэтому в качестве исходного значения выберем х = 0.5.
Программа на Турбо Паскале:
Код:
Const
Eps=0.0001;
Var
x,y:Real;
Function F(z:real):Real;
begin
F:=z*1.5+0.2-Sin(z+Sqrt(1-z*z));
end;
Function G(z:real):Real;
begin
G:=1.5-Cos(z+Sqrt(1-z*z))*(1-z/Sqrt(1-z*z));
end;
Procedure EQRoot(e:real; var R:real);
var
x1,x2,d:real;
begin
x1:=0.5;
Repeat
x2:=x1-F(x1)/G(x1);
d:=abs(x1-x2);
x1:=x2;
Until d<e;
R:=x2;
end;
Begin
EQRoot(Eps,x);
y:=Sqrt(1-x*x);
Writeln('x = ',x:6:4);
Writeln('y = ',y:6:4);
Readln
End.
Результат:
х = 0.5205
у = 0.8539
2. Со знаком "-".
График:
Исходное значение х = -0.8
Программа:
Код:
Const
Eps=0.0001;
Var
x,y:Real;
Function F(z:real):Real;
begin
F:=z*1.5+0.2-Sin(z-Sqrt(1-z*z));
end;
Function G(z:real):Real;
begin
G:=1.5-Cos(z-Sqrt(1-z*z))*(1+z/Sqrt(1-z*z));
end;
Procedure EQRoot(e:real; var R:real);
var
x1,x2,d:real;
begin
x1:=-0.8;
Repeat
x2:=x1-F(x1)/G(x1);
d:=abs(x1-x2);
x1:=x2;
Until d<e;
R:=x2;
end;
Begin
EQRoot(Eps,x);
y:=-Sqrt(1-x*x);
Writeln('x = ',x:6:4);
Writeln('y = ',y:6:4);
Readln
End.
Результат:
х = -0.7906
у = -0.6123
Всё!!!