Нужно применить функцию, упростить код в Паскале
program p1;
var
a, b, c, eps: real;
fa, fc: real;
begin
a:=0.0; b:=10.0;
eps:=0.001;
c:=(a+b)/2.0;
fc:=c*c-4.0;
while (abs(fc)>eps) do
begin
fa:=a*a-4.0;
if ((fa>0.0) and (fc>0.0)) or ((fa<=0.0) and (fc<=p.
0.0)) then
a:=c
else
b:=c;
c:=(a+b)/2;
fc:=c*c-4.0;
end;
writeln(c);
end.
Ответы
Ответ дал:
1
function f(x: real): real;
begin
f := x * x - 4.0;
end;
var
a, b, c, eps: real;
begin
a := 0.0;
b := 10.0;
eps := 0.001;
repeat
c := (a + b) / 2.0;
if f(a) * f(c) >= 0 then a := c else b := c
until abs(f(c)) < eps;
writeln(c);
end.
Вас заинтересует
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
1 год назад
1 год назад
7 лет назад
7 лет назад