Program cieciw;
uses crt;
var
i:integer;
a,b,xk,x1,x2:real;
function f(x:real):real;
begin
f:=1.5*x*x*x-240*x+537.6;
end;
clrscr;
for i:=-20 to 20 do
writeln(i:3,':',f(i):4:3);
if i mod 20=0 then readln;
write('podaj a=');
readln(a);
write('podaj b=');
readln(b);
write('podaj xk=');
readln(xk);
if xk=a then x1:=b
else x1:=a;
repeat
x2:=x1-f(x1)*(xk-x1)/(f(xk)-f(x1));
x1:=x2;
until abs(f(x1))<0.001;
writeln('x=',x1:4:3);
readln
end.
Program biseksja;uses crt;var
i,m.:integer;
a,b,x1,d,y,y1,del,x2,x:real;
function z(d:real):real;
z:=1.5*d*d*d-240*d+537.6;
writeln(i:3,' : ',z(i):7:5);
if i mod 20 = 0 then readln;
writeln('podaj a=');
readln(a) ;
writeln('podaj b=');
readln(b) ;
writeln('podaj del=');
readln(del);
x1:=a;
x2:=b;
x:=(x1+x2)/2;
y:=z(x);
y1:=z(x1);
if y*y1>0 then x1:=x
else x2:=x;
until abs(z(x))<=del;
writeln(x:8:6);
Program metoda_bisekcji;
Uses crt;
Var
m,i:integer;
a,b,x1,z,w,x2,x,y,y1:real;
function F(z:real):real;
F:=1.5*z*z*z-240*z+537.6;
End;
{ PROGRAM GLOWNY}
textcolor(green);
write('podaj a= ');
read(a);
write('podaj b= ');
read(b);
write('podaj m= ');
read(m);
for i:=1 to m do
y:=F(x);
y1:=F(x1);
if y*y1>0 then
x1:=x
else
x2:=x;
writeln(x);
{bez nawiasow liczy takze wartosc w punktach}
{ w:=F(x);
writeln(w:3:3);}
repeat until keypressed;
a,b,x1,x2,d,x,y,y1,del,xp,xk:real;
function F(d:real):real;
F:=1.5*d*d*d-240*d+537.6;
Begin
Clrscr;
Writeln('podaj xk');
Read(xk);
Writeln('podaj dokladnosc');
Read(del);
Writeln('podaj a');
Read(a);
Writeln('podaj b');
Read(b);
if xk=a then xp:=b
xp:=a;
x1:=xp-f(xp)*(xk-xp)/(f(xk)-f(xp));
xp:=x1;
until abs(F(x1))<=del;
writeln('x1=',x1:4:4);
Program biseksja;uses crt;vari,m:integer;a,b,x1,d,y,y1,del,xp,xk,x2,x:real;
xk:=b;
x1:=xp-z(xp)*(xk-xp)/(z(xk)-z(xp));
until abs(z(xp))<=0.001;
writeln(xp:8:6);
Program bisekcja;
n,i:integer;
a,b:real;
x:array[1..50] of real;
function f1(x:real):real;
f1:=4.5*x*x-240;
write('podaj n=');
readln(n);
for i:=2 to n do
x[i]:=x[i-1]-f(x[i-1])/f1(x[i-1]);
writeln('x=',x[n]:4:3);
Tomplus