program lab5{ вариант № 3};
uses crt;
var x,a,b,e:real;
iteraz:integer;
function fun(x:real):real;
begin
fun:=x+sqrt(x)+exp((1/3)*(ln(x)))-2.5;
end;
begin
repeat
clrscr;
writeln('Корень уравнения находиться на интервале [a,b]');
write('Введите [a=');
readln(a);
write('Введите [b=');
readln(b);
write('Введите приближённое значение корня X=');
readln(x);
write('Введите точность e=');
readln(e);
until (b-a>e) or (x>a) or (x<b) or (a<>0);
iteraz:=0;
while (fun(x)<>0) and (abs(a-b)>e) do
begin
iteraz:=iteraz+1;
if (fun(a)*fun(x))<0
then b:=x
else a:=x;
x:=((a+b)/2);
end;
writeln('Решение уравнения:');
writeln('Точное значение корня....……..0.7376’);
writeln('Вычисленное значение корня.. ',x:6:5);
writeln('Число итераций..........…………. ',iteraz);
writeln('Программа закончена, нажмите Enter.');
readln;
end.
Распечатка результатов работы программы в следующем виде:
|
Решение уравнения:
Точное значение корня...... ……..0.73760
Вычисленное значение корня.. …0.73764
Число итераций...........………… ..14
|
Варианты заданий.
| N0 вар.
| Уравнение
| Отрезок, содержащий корень
| Метод
| Точное значение корня
| |
|
| [2;3]
| Итераций
| 2,2985
| |
|
| [0;2]
| Ньютона
| 1,0001
| |
|
| [0;0,85]
| Итераций
| 0,2624
| |
|
| [1;2]
| Ньютона
| 1,1183
| |
|
| [0;8]
| Половинного деления
| 0,3333
| |
|
| [0;1]
| Итераций
| 0,5629
| |
|
| [2;4]
| Ньютона
| 3,2300
| |
|
| [1;2]
| Половинного деления
| 1,8756
| |
|
| [0;1]
| Итераций
| 0,7672
| |
| ex - e-x -2 = 0
| [0;1]
| Ньютона
| 0,8814
| |
|
| [1;3]
| Половинного деления
| 1,3749
| |
|
| [1,2;2]
| Итераций
| 1,3077
| |
|
| [3;4]
| Ньютона
| 3,5265
| |
|
| [1;2]
| Половинного деления
| 1,0804
| |
|
| [0;1,5]
| Итераций
| 1,1474
| |
|
| [1;3]
| Ньютона
| 2,0692
| |
|
| [0;1]
| Половинного деления
| 0,5768
| |
|
| [0,5;1]
| Итераций
| 0,9892
| |
|
| [1;3]
| Ньютона
| 1,8832
| |
|
| [0;1]
| Половинного деления
| 0,1010
| |
|
| [2;3]
| Итераций
| 2,0267
| |
|
| [0,4;1]
| Ньютона
| 0,6533
| |
|
| [-1;0]
| Половинного деления
| -0,2877
| |
| ln x -x + 1,8 = 0
| [2;3]
| Итераций
| 2,8459
|
|