Сделать график функции x^3+x^2+x - Pascal ABC

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

Сделать график функции x^3+x^2+x , координатные оси сделать пунктиром, заранее спасибо)


textual

Код к задаче: «Сделать график функции x^3+x^2+x - Pascal ABC»

uses graphABC;
function F(x:real):real; //функция
begin
F:=x*x*x+x*x+x;
end;
var x,mx,my,dx:real;
    x0,y0,xn,xk,i:integer;
begin
xn:=-5;xk:=5;//интервал по Х
x0:=windowwidth div 2;
mx:=(x0-30)/xk;//масштаб по Х
y0:=windowheight div 2;
my:=(y0-30)/F(xk);
setpenstyle(psDot);
line(0,y0,windowwidth,y0);///оси
line(x0,0,x0,windowheight);
setpenstyle(psSolid);
for i:=1 to 5 do//максимальное количество засечек в одну сторону
 begin
  line(x0-3,y0-round(i*my*50),x0+3,y0-round(i*my*50));//засечки на оси У
  line(x0-3,y0+round(i*my*50),x0+3,y0+round(i*my*50));
  //подписи оси У}
  textout(x0-20,y0-round(i*my*50),inttostr(i*50));//соответственно засечкам
  textout(x0-25,y0+round(i*my*50),inttostr(-i*50));
  line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); //засечки на оси Х
  line(x0-round(i*mx),y0-3,x0-round(i*mx),y0+3);
  //подпись оси Х
  textout(x0+round(i*mx),y0+10,inttostr(i));
  textout(x0-round(i*mx),y0+10,inttostr(-i*50));
 end;
//центр
textout(x0+5,y0+10,'0');
//подписи концов осей
textout(windowwidth-20,y0-20,'X');
textout(x0+5,10,'Y');
//график
x:=xn;
dx:=0.1;
setpencolor(clRed);
moveto(x0+round(x*mx),y0-round(f(x)*my));
while x<=xk do
 begin
  lineto(x0+round(x*mx),y0-round(f(x)*my));
  x:=x+dx;
 end;
//название
setfontcolor(clRed);
setfontsize(12);
textout(x0+20,20,'y=x^3+x^2+x');
textout(x0+20,40,'int.=[-5;5]');
end.
Эта работа вам не подошла?

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


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

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

Источник
Похожие ответы