График функции - 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5