График функции - Pascal ABC (12786)
Формулировка задачи:
Здравствуйте!
Условие задачи:
Напишите программу, постройте и распечатайте график: с шагом 0,05 на интервале [-7, 7].Решение задачи: «График функции»
textual
Листинг программы
uses graphABC; function F(x:real):real; begin F:=8*x*sin(x*x)/(x-5); end; var xn,xk,x,mx,my,dx:real; x0,y0,i,nx,nmn,nmx:integer; begin //интервал xn:=-7; xk:=7; //графическое окно setwindowsize(600,600); centerwindow; //начало координат x0:=windowwidth div 2; y0:=windowheight div 2; //масштабы mx:=(x0-30)/xk;{масштаб по Х} my:=(y0-20)/50;{по У} //координатная сетка for i:=1 to 7 do begin 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); line(x0-3,y0-round(i*my*10),x0+3,y0-round(i*my*10)); line(x0-3,y0+round(i*my*10),x0+3,y0+round(i*my*10)); textout(x0+round(i*mx),y0+10,inttostr(i)); textout(x0-round(i*mx),y0+10,inttostr(-i)); textout(x0-20,y0-round(i*my*10),inttostr(i*10)); textout(x0-25,y0+round(i*my*10),inttostr(-i*10)); end; line(0,y0,windowwidth,y0);{оси} line(windowwidth,y0,windowwidth-10,y0+5); line(windowwidth,y0,windowwidth-10,y0-5); line(x0,0,X0,windowheight); line(x0,0,x0-5,10); line(x0,0,x0+5,10); textout(x0+5,y0+10,'0'); textout(windowwidth-10,y0-20,'X'); textout(x0+10,0, 'Y'); //график setpencolor(clBlue); setpenwidth(2); dx:=0.1; //левая ветвь при x<5 x:=xn; while x<5 do begin if x=xn then moveto(x0+round(x*mx),y0-round(F(x)*my)) else lineto(x0+round(x*mx),y0-round(F(x)*my)); x:=x+dx; end; //правая ветвь при x>5 x:=xk; while x>5 do begin if x=xk then moveto(x0+round(x*mx),y0-round(F(x)*my)) else lineto(x0+round(x*mx),y0-round(F(x)*my)); x:=x-dx; end; setfontsize(10); setfontcolor(clBlue); setfontsize(12); textout(20,20,'y=8xsin(x^2)/(x-5)'); textout(20,40,'интервал [-7;7]'); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д