График функции - Pascal ABC (12786)

Узнай цену своей работы

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

Здравствуйте!

Условие задачи:

Напишите программу, постройте и распечатайте график: с шагом 0,05 на интервале [-7, 7].

Решение задачи: «График функции»

textual
Листинг программы
  1. uses graphABC;
  2. function F(x:real):real;
  3. begin
  4. F:=8*x*sin(x*x)/(x-5);
  5. end;
  6. var xn,xk,x,mx,my,dx:real;
  7.     x0,y0,i,nx,nmn,nmx:integer;
  8. begin
  9. //интервал
  10. xn:=-7;
  11. xk:=7;
  12. //графическое окно
  13. setwindowsize(600,600);
  14. centerwindow;
  15. //начало координат
  16. x0:=windowwidth div 2;
  17. y0:=windowheight div 2;
  18. //масштабы
  19. mx:=(x0-30)/xk;{масштаб по Х}
  20. my:=(y0-20)/50;{по У}
  21. //координатная сетка
  22. for i:=1 to 7 do
  23.  begin
  24.   line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3);
  25.   line(x0-round(i*mx),y0-3,x0-round(i*mx),y0+3);
  26.   line(x0-3,y0-round(i*my*10),x0+3,y0-round(i*my*10));
  27.   line(x0-3,y0+round(i*my*10),x0+3,y0+round(i*my*10));
  28.   textout(x0+round(i*mx),y0+10,inttostr(i));
  29.   textout(x0-round(i*mx),y0+10,inttostr(-i));
  30.   textout(x0-20,y0-round(i*my*10),inttostr(i*10));
  31.   textout(x0-25,y0+round(i*my*10),inttostr(-i*10));
  32.  end;
  33. line(0,y0,windowwidth,y0);{оси}
  34. line(windowwidth,y0,windowwidth-10,y0+5);
  35. line(windowwidth,y0,windowwidth-10,y0-5);
  36. line(x0,0,X0,windowheight);
  37. line(x0,0,x0-5,10);
  38. line(x0,0,x0+5,10);
  39. textout(x0+5,y0+10,'0');
  40. textout(windowwidth-10,y0-20,'X');
  41. textout(x0+10,0, 'Y');
  42. //график
  43. setpencolor(clBlue);
  44. setpenwidth(2);
  45. dx:=0.1;
  46. //левая ветвь при x<5
  47. x:=xn;
  48. while x<5 do
  49.  begin
  50.   if x=xn then moveto(x0+round(x*mx),y0-round(F(x)*my))
  51.   else lineto(x0+round(x*mx),y0-round(F(x)*my));
  52.   x:=x+dx;
  53.  end;
  54. //правая ветвь при x>5
  55. x:=xk;
  56. while x>5 do
  57.  begin
  58.   if x=xk then moveto(x0+round(x*mx),y0-round(F(x)*my))
  59.   else lineto(x0+round(x*mx),y0-round(F(x)*my));
  60.   x:=x-dx;
  61.  end;
  62. setfontsize(10);
  63. setfontcolor(clBlue);
  64. setfontsize(12);
  65. textout(20,20,'y=8xsin(x^2)/(x-5)');
  66. textout(20,40,'интервал [-7;7]');
  67. end.

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут