Лабораторна робота №1
-
Відокремити корені рівняння f(x) = 0 графічно. Для побудови графіків функції використати пакети програм Gran або Visual Calculus.
-
Уточнити корені на кожному з відрізків локалізації, скориставшись одним з наближених методу: половинного ділення.
Метод половинного ділення
+ -
+ -
+ -
Локалізовані корені: X1Є[0;1]; x2Є[3,5;4,5]
Код
програми: program
polovin; uses
crt; var
a,b,x,E:Real; label
10; function
f(x:Real):real; begin F:=exp(ln(2)*x)-4*x;
end; begin clrscr; writeln('vvedite
kinci promizhku a,b'); readln(a,b); Writeln('vedite
tochnistj obchuslennya E'); Readln(E); While
(b-a)>=2*E do
begin
x:=(a+b)/2;
if
f(x)=0 then
goto
10
else
begin
if
f(a)*f(x)<0 then b:=x
else
a:=x;
end;
end;
x:=(a+b)/2; 10:
writeln(x:0:5,'- Koronj rivnjannja'); writeln('yaksho
nastupne chislo prubluzno dorivnjue 0, todi rovyazok virnuy'); writeln(f(X):2:4); readln; end.
|
Локалізовані корені:
X1Є[-2,5;-2] X2Є[-1;1] X3Є[2;2,5]
Код
програми: program
polovin; uses
crt; label
10; function
f(x:Real):real; begin F:=x*x*x-5*x+0.1; end; begin clrscr; writeln('vvedite
kinci promizhku a,b'); readln(a,b); Writeln('vedite
tochnistj obchuslennya E'); Readln(E); While
(b-a)>=2*E do
begin
x:=(a+b)/2;
if
f(x)=0 then
goto
10
else
begin
if
f(a)*f(x)<0 then b:=x
else
a:=x;
end;
end;
x:=(a+b)/2; 10:
writeln(x:0:5,'- Koronj rivnjannja'); writeln('yaksho
nastupne chislo prubluzno dorivnjue 0, todi rovyazok virnuy'); writeln(f(X):2:4); readln; end.
Var a,b,X,e:Real;
Локалізовані корені:
x1Є[-1;0]; x2Є[1;1,5];
Домашня робота:
2xlnx-4=0
Локальний корінь: x1Є[2,2,5];