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

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

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

Построить график функции y=(cos(x))/x на интервале [a,b].

Решение задачи: «Построить график функции»

textual
Листинг программы
  1. uses graph,crt;
  2. function F(x:real):real;
  3. begin
  4. F:=cos(x)/x;
  5. end;
  6.  
  7. var a,b,mx,my,x:real;
  8.     x0,y0,n,i:integer;
  9.     s:string;
  10. begin
  11. clrscr;
  12. {введем a,b так чтобы получить более-менее приличный график}
  13. repeat
  14. write('-7<=a<=-3 a=');
  15. readln(a);
  16. until(a>=-7)and(a<=-3);
  17. repeat
  18. write('3<=b<=7 b=');
  19. readln(b);
  20. until(b>=3)and(b<=7);
  21. initgraph(x0,y0,'');
  22. x0:=round(-a*(getmaxX-30)/(b-a));
  23. mx:=(x0-30)/-a;{масштаб по Х}
  24. y0:=getmaxY div 2;
  25. my:=(y0-30)/50;{примем макс по оси Y=50, он бесконечен}
  26. line(0,y0,getmaxX,y0);{оси}
  27. line(x0,0,x0,getmaxY);
  28. n:=5;
  29. if trunc(-a)+1>n then n:=trunc(-a)+1;
  30. if trunc(b)+1>n then n:=trunc(b)+1;
  31. for i:=1 to n do{максимальное количество засечек в одну сторону}
  32.  begin
  33.   line(x0-3,y0-round(i*my*10),x0+3,y0-round(i*my*10));{засечки на оси У}
  34.   line(x0-3,y0+round(i*my*10),x0+3,y0+round(i*my*10));
  35.   {подпись оси У}
  36.   str(i*10,s);
  37.   outtextXY(x0-30,y0-round(i*my*10),s);{соответственно засечкам}
  38.   outtextXY(x0-35,y0+round(i*my*10),'-'+s);
  39.   line(x0-round(i*mx),y0-3,x0-round(i*mx),y0+3); {засечки на оси Х}
  40.   line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3);
  41.   {подпись оси X}
  42.   str(i,s);
  43.   outtextXY(x0-round(i*mx),y0+10,s);{соответственно засечкам}
  44.   outtextXY(x0+round(i*mx),y0+10,+s);
  45.  end;
  46. {центр}
  47. outtextXY(x0+5,y0+10,'0');
  48. {подписи концов осей}
  49. outtextXY(getmaxX-10,y0-10,'X');
  50. outtextXY(x0+5,10, 'Y');
  51. {график}
  52. x:=a;
  53. while x<=b do
  54.  begin
  55.   if abs(x)>0.01 then putpixel(x0+round(x*mx),y0-round(F(x)*my),12);
  56.   x:=x+0.0001;
  57.  end;
  58. {название}
  59. setcolor(12);
  60. outtextXY(60,10,'y=cos(x)/x');
  61. readln
  62. end.

Объяснение кода листинга программы

  1. Используется библиотека graph и функция initgraph для настройки графика.
  2. Функция F(x) вычисляет значение функции y=cos(x)/x.
  3. Переменные a, b, mx, my, x и y инициализируются значениями, введенными пользователем.
  4. Оси графика подписываются с помощью функций outtextXY и str.
  5. Засечки на оси X и Y рисуются с помощью функции line.
  6. Центр графика рисуется с помощью функции outtextXY.
  7. Конец графика оформляется с помощью функций outtextXY и setcolor.
  8. Название графика рисуется с помощью функции outtextXY.

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


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

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

14   голосов , оценка 3.786 из 5

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

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

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