![]() |
|
#1
|
|||
|
|||
![]() Прошу проверить, вроде что-то не так.....
Найти корень уравнения 1.4(x) - x=0 ( (x) - это степень ) методом деления отрезка пополам для x Е [1;3] с точностью е=0.001 и построить график функции y=1.4(x) - x на заданном интервале. Заранее огромное спасибо. Вот мой код!!!!! Код:
Function F(x:real):real; Begin F:=POWER(1.4,x)-x; End; Procedure Graf; Var x1,x2:real; y1,y2:real; x,y:real; dx:real; l,b:integer; w,h:integer; mx,my:real; x0,y0:integer; Begin l:=10; b:=form1.Image1.ClientHeight -20; h:=form1.Image1.ClientHeight -40; w:=form1.Image1.Width -40; x1:=1; x2:=3; dx:=0.001; y1:=f(x1); y2:=f(x1); x:=x1; repeat y:=f(x); if y<y1 then y1:=y; if y>y2 then y2:=y; x:=x+dx; until (x>=x2); my:=h/abs(y2-y1); mx:=w/abs(x2-x1); x0:=1; y0:=b-abs(round(y1*my)); with form1.Image1.Canvas do Begin Moveto(l,b);lineto(l,b-h); Moveto(x0,y0);lineto(x0+w,y0); textout(l+5,b-h, floattostrf(y2,ffFixed,6,3)); textout(l+5,b,floattostrf(y1,ffFixed,6,3)); x:=x1; repeat y:=f(x); pixels[x0+round(x*mx),y0-round(y*my)]:=clred; x:=x+dx; until (x>=x2); end; end; Последний раз редактировалось Admin, 08.04.2011 в 09:56. |