Метод дотичних
Так Ні
+ -
Так Ні
program
metoddotichnih; uses
crt; var
a,b,c,x,x0,E:real; function
f(x:real):real; begin f:=exp(ln(2)*x)-4*x; end; function
f1(x:real):real; begin f1:=exp(ln(2)*x)*ln(2)-4; end; function
f2(x:real):real; begin f2:=exp(ln(2)*x)*ln(2)*ln(2); end; begin clrscr; writeln('vvedite
konci otrezka a,b'); readln(a,b); writeln('vvedite
to4nistj ob4islennja E'); Readln(E); if
f(a)*f2(a)>0 then
x:=a
else
x:=b; While
abs(x-x0)>E do begin
x0:=x;
x:=x0-(f(x0)/f1(x0)); end; writeln(x,'
korinj rivnjannja'); writeln('esli
sleduyushee chislo prubluzno = 0, to rivnjannja rozvjazane virno'); writeln(f(x):1:3); readln; end.
К
program
metoddotichnih; uses
crt; var
a,b,c,x,x0,E:real; function
f(x:real):real; begin f:=x*x*x-5*x+0.1; end; function
f1(x:real):real; begin f1:=3*x*x-5; end; function
f2(x:real):real; begin f2:=6*x; end; begin clrscr; writeln('vvedite
konci otrezka a,b'); readln(a,b); writeln('vvedite
to4nistj ob4islennja E'); Readln(E); if
f(a)*f2(a)>0 then x:=a
else x:=b;
While
abs(x-x0)>E do begin
x0:=x;
x:=x0-(f(x0)/f1(x0)); end; writeln(x,'
korinj rivnjannja'); writeln('esli
sleduyushee chislo prubluzno = 0, to rivnjannja rozvjazane virno'); writeln(f(x):1:3); readln; end.
Код програми:
program
metoddotichnih; uses
crt; var
a,b,c,x,x0,E:real; function
f(x:real):real; begin f:=x*x*x*x+x*x-2*(x+1); end; function
f1(x:real):real; begin f1:=4*x*x*x-2*x; end; function
f2(x:real):real; begin f2:=12*x*x+2; end; begin clrscr; writeln('vvedite
konci otrezka a,b'); readln(a,b); writeln('vvedite
to4nistj ob4islennja E'); Readln(E); if
f(a)*f2(a)>0 then x:=a
else x:=b;
While
abs(x-x0)>E do begin
x0:=x;
x:=x0-(f(x0)/f1(x0)); end; writeln(x,'
korinj rivnjannja'); writeln('esli
sleduyushee chislo prubluzno = 0, to rivnjannja rozvjazane virno'); writeln(f(x):1:3); readln; end.
Домашня робота:
2
program
metoddotichnih; uses
crt; var
a,b,c,x,x0,E:real; function
f(x:real):real; begin f:=2*x*ln(X)-4; end; function
f1(x:real):real; begin f1:=2*ln(x)+2; end; function
f2(x:real):real; begin f2:=2/x; end; begin clrscr; writeln('vvedite
konci otrezka a,b'); readln(a,b); writeln('vvedite
to4nistj ob4islennja E'); Readln(E); if
f(a)*f2(a)>0 then x:=a
else x:=b;
While
abs(x-x0)>E do begin
x0:=x;
x:=x0-(f(x0)/f1(x0)); end; writeln(x,'
korinj rivnjannja'); writeln('esli
sleduyushee chislo prubluzno = 0, to rivnjannja rozvjazane virno'); writeln(f(x):1:3); readln; end.
Метод ітерацій
Program
metoditeraciy; Uses
Crt; Function
F(x:real):real; Begin
F:=exp(ln(2)*x)-4*x; Function
F1(x:real):real;
Begin
F1:=exp(ln(2)*x)*ln(2)-4; End;
end; Function
G(s,x:real):real; Begin G:=x-s*F(x); end; Var
s,a,b,x,e,x0:real; Begin clrscr; writeln
('Vvedit meji'); readln
(a,b); writeln
('Vvedit e'); readln(e); if
abs(F1(a))<abs(F1(b)) then
s:=abs(2/F(b))-0.001 else
s:=abs(2/F(a))-0.001; repeat x0:=x; x:=G(s,x0); Until
ABS(x-x0)<=e; writeln
('x=',x:7:5);
Writeln('f(x)=',f(x):1:5);
readln; end.
Program
metoditeraciy; Uses
Crt; Function
F(x:real):real; Begin
F:=x*x*x-5*x+0.1;
end;
function
f1(x:real):real; begin f1:=3*x*x-5; end; Function
G(s,x:real):real; Begin G:=x-s*F(x); end; Var
s,a,b,x,e,x0:real; Begin clrscr; writeln
('Vvedit meji'); readln
(a,b); writeln
('Vvedit e'); readln(e); if
abs(F1(a))<abs(F1(b))
then
s:=abs(2/F1(b)-0.001) else
s:=abs(2/F1(a)-0.001); repeat x0:=x; x:=G(s,x0); Until
ABS(x-x0)<=e; writeln
('x=',x:7:5);
Writeln('f(x)=',f(x):1:5);
readln; end.
Program
metoditeraciy; Uses
Crt; Function
F(x:real):real; Begin
F:=x*x*x*x+x*x-2*x-2; end; Function
G(s,x:real):real; Begin G:=x-s*F(x); end; Var
s,a,b,x,e,x0:real; Begin clrscr; writeln
('Vvedit meji'); readln
(a,b); writeln
('Vvedit e'); readln(e); if
F(a)<F(b) then
s:=abs(2/F(b)-0.001) else
s:=abs(2/F(a)-0.001); repeat x0:=x; x:=G(s,x0); Until
ABS(x-x0)<=e; writeln
('x=',x:7:5);
Writeln('f(x)=',f(x):1:5);
readln; end.
Домашня робота:
2
Program
metoditeraciy; Uses
Crt; Function
F(x:real):real; Begin
F:=2*x*ln(x)-4; end; Function
G(s,x:real):real; Begin G:=x-s*F(x); end; Var
s,a,b,x,e,x0:real; Begin clrscr; writeln
('Vvedit meji'); readln
(a,b); writeln
('Vvedit e'); readln(e); if
F(a)<F(b) then
s:=abs(2/F(b)-0.001) else
s:=abs(2/F(a)-0.001); repeat x0:=x; x:=G(s,x0); Until
ABS(x-x0)<=e; writeln
('x=',x:7:5);
Writeln('f(x)=',f(x):1:5);
readln; end.