Составить алгоритм вычисления корня непрерывной функции F(X) на отрезке [А, В]методом «деления пополам» с точностью е =0.01
26.07.2012 18:55

При запуске этот алгоритм запрашивает у человека два числа А и В — границы отрезка, на котором ищется корень. В качестве непрерывной функции задана функция х2 - 2. Если задать А = 0 и В = 2, то ал­горитм найдет приближенное значение корня квадратного из 2, т .е. 1,41 .

 

алг Вычисление корня нач вещ А,Ь,е,С

е:=0.01   
| вывод нс,"Введите    А=
| ввод А   
1 вывод нс,"Введите    В =
ввод В   
нц пока В-А>2*е   
, С:=(А+В)/2   
если F(A)*F(С)<    = 0
| то В:=С   
|  | иначе А:=С   
|  все   
| КЦ   
С:=(А+В)/2   
вывод нс,"Корень=    1 ,с
точностью",    е
кон   
алг вещ F(вещ X)   
нач     знач:=Х**2-2   
кон   

var А,В,е,С:real function F(X:real):real; begin

F:=X*X-2; end ; begin

e:=0.01;

write('Введите A='); readln(A);

write('Введите B='); readln(B);

while B-A>2*e

do

begin C:=(A+B)/2;

if F(A) *F (C)< = 0 then

B:=C else Asc­end ;

C:=(A + B)/2;

writeln('Корень=',С,' точность=',e);

end.

10 DECLARE FUNCTION F(X)

20 e = .01

3 0 PRINT "Введите А=" :INPUT A

40 PRINT "Введите В=":INPUT В

50 IF B-A <= 2*e THEN 120

60 С = (A+B)/2

70 IF F(A) * F(C) > 0 THEN 100

80 В = С

9 0 GOTO 110

100 A = С

110 GOTO 5 0

120 С = (A+B)/2

,C,

13 0 PRINT "Корень=

точность=",e

14 0 END

2 00 FUNCTION F(X)

210 F = 2 -2

22 0 END FUNCTION

 

 

 


 

 

FORM_HEADER

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:
FORM_CHARSLEFT_PREFIX 1000 FORM_CHARSLEFT_SUFFIX


FORM_CAPTCHA
FORM_CAPTCHA_REFRESH