Построить график функции - Pascal ABC (14094)

Формулировка задачи:

помогите построить график функции x^4 - 16x^3 + 500x^2 - 8000x +32000. у меня не получается. очень срочно.

Код к задаче: «Построить график функции - Pascal ABC (14094)»

textual
uses graphABC;
function F(x:real):real;
begin
F:=x*x*x*x-16*x*x*x+500*x*x-8000*x+32000
end;
var xn,xk,x,mx,dx,my:real;
    x0,y0,i:integer;
begin
x0:=50;{центр экрана}
y0:=7*windowheight div 8-40;
xn:=0;{интервал по Х}
xk:=16;
mx:=(windowwidth-80)/xk;{масштаб по Х}
my:=(y0-20)/F(0);{по У}
line(0,y0,windowwidth,y0);{оси}
line(x0,0,X0,windowheight);
for i:=1 to 16 do{максимальное количество засечек в одну сторону}
  begin
    line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); {засечки на оси Х}
    {подпись оси Х}
    textout(x0+round(i*mx),y0+10,inttostr(i));
    line(x0-3,y0-round(i*my*5000),x0+3,y0-round(i*my*5000)); {засечки на оси Y}
    line(x0-3,y0+round(i*my*5000),x0+3,y0+round(i*my*5000));
    {подпись оси Y}
    textout(x0-45,y0-round(i*my*5000)-10,inttostr(i*5000));
    textout(x0-50,y0+round(i*my*5000)-10,inttostr(-i*5000));
  end;
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-10,y0-10,'X');
textout(x0-10,10, 'Y');
{графики}
x:=xn;
dx:=0.1;
setpencolor(clBlue);
moveto(x0+round(x*mx),y0-round(F(x)*my));
while x<=xk do
 begin
  x:=x+dx; {наращиваем х}
  lineto(x0+round(x*mx),y0-round(F(x)*my));
 end;
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

10   голосов, оценка 3.700 из 5


СДЕЛАЙТЕ РЕПОСТ