
Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Новая папка_2 / Program5
.pas PROGRAM POPOLAM;
uses CRT;
var eps:real; a:real; b:real;
{begin
Writeln(' eps ');
Readln(eps);
Writeln(' a ');
Readln(a);
Writeln(' b ');
Readln(b);}
var
x:real; k:integer;
function f(x:real):real;
begin
f:= x*x*x+4*x+3
end;
procedure bicect (a,b,eps:real; var k:integer; var x:real);
var r,y:real;
begin
k:=0;
x:=(a+b)*0.5;
y:=f(x);
r:=f(a);
while (y<>0)and (b-a>eps) do
begin
k:=k+1;
if r*y>0 then a:=x
else b:=x;
x:=(a+b)*0.5;
y:=f(x);
end
end;
begin
Writeln(' eps ');
Readln(eps);
Writeln(' a ');
Readln(a);
Writeln(' b ');
Readln(b);
bicect (a,b,eps,k,x);
WriteLn('приближённое значение = ', x:12:8);
WriteLn('количество итераций = ', k:4);
end.
uses CRT;
var eps:real; a:real; b:real;
{begin
Writeln(' eps ');
Readln(eps);
Writeln(' a ');
Readln(a);
Writeln(' b ');
Readln(b);}
var
x:real; k:integer;
function f(x:real):real;
begin
f:= x*x*x+4*x+3
end;
procedure bicect (a,b,eps:real; var k:integer; var x:real);
var r,y:real;
begin
k:=0;
x:=(a+b)*0.5;
y:=f(x);
r:=f(a);
while (y<>0)and (b-a>eps) do
begin
k:=k+1;
if r*y>0 then a:=x
else b:=x;
x:=(a+b)*0.5;
y:=f(x);
end
end;
begin
Writeln(' eps ');
Readln(eps);
Writeln(' a ');
Readln(a);
Writeln(' b ');
Readln(b);
bicect (a,b,eps,k,x);
WriteLn('приближённое значение = ', x:12:8);
WriteLn('количество итераций = ', k:4);
end.
Соседние файлы в папке Новая папка_2