x1: = a; x2: = x1 + h;
y1: = f (x1);
10: y2: = f (x2);
Так
В В if y1 * y2 <0 then writeln (x1: 8:5, '', x2: 8:5);
x1: = x2; x2: = x1 + h;
Ні
В В y1: = y2;
if x2 <= b then goto 10;
readln;
end.
введення:
0.1,10,1 e-4
відповідь:
х1 = 0.10000
х2 = 1.10000
Уточнення коренів
Метод половинного поділу
В
x = (a + b)/2
program del;
label 2, 10;
z = f (x)
var a, b, e, x, y, z: real;
Так
function f (x: real): real;
В В В В
Ні
В br clear=ALL>
Ні
Так
begin
f: = 2.2 * x-exp (x * ln (2));
В В В
a = x
y = z
В
b = x
В br clear=ALL>
end;
begin
Так
writeln ('введіть a, b, e');
В
readln (a, b, e);
Ні
y: = f (a);
10: x: = (a + b)/2;
z: = f (x);
if z = 0 then goto 2;
if y * z <0 then b: = x;
begin a: = x; y: = f (b); end;
if b-a> e then goto 10;
2: writeln ('x =', x: 8:5);
readln;
end.
введення:
0.1, 1.1, 1е-5
відповідь:
х = 0.78111
В
М етод хорд
y = f (x)/(f (b)-f (x)) * (b-x)
В
program horda;
label 10;
d = | y-x |
var e, x, b, y, d: real;
x = y
function f (x: real): real;
begin
Так
В В f: = 2.2 * x-exp (x * ln (2));
Ні
В
end;
< p align = center> y = f (x)
begin
writeln ('введіть x, b, e ');
readln (x, b, e);
10: y: = x-f (x)/(f (b)-f (x)) * (b-x);
d: = abs (y-x);
x: = y;
if d> e then goto 10;
y: = f (x);
...