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

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

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

Найти область определения функции D(f), ее нули, экстремумы и множества значений W(f). Построить график функции, нарисовав и разметив оси координат. (В паскале). y=1/(1+x^2)

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

textual
Листинг программы
  1. uses graphABC;
  2. function f(x:real):real;
  3. begin
  4. f:=1/(1+x*x);
  5. end;
  6. const
  7. x1=-5;//начало и конец графика в реальных значениях
  8. x2=5;
  9. var mx,my,x,dx:real;
  10.     x0,y0,i:integer;
  11. begin
  12. x0:=Window.Width div 2;//начало координат в центре экрана
  13. y0:=Window.Height-50;
  14. mx:=(x0-20)/x2;//масштаб по Х
  15. my:=y0-20;//масштаб по Y
  16. line(0,y0,2*x0,y0); //оси
  17. line(x0,0,x0,y0);
  18. for i:=1 to 10 do //максимальное количество засечек в одну сторону
  19.  begin
  20.   line(x0-3,y0-round(i*my/10),x0+3,y0-round(i*my/10));//засечки на оси У
  21.   line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); //засечки на оси Х
  22.   line(x0-round(i*mx),y0-3,x0-round(i*mx),y0+3);
  23.   //подпись оси У
  24.   textout(x0-25,y0-round(i*my/10),floattostr(i/10));//оответственно засечкам
  25.   //подпись оси Х}
  26.   textout(x0+round(i*mx),y0+10,inttostr(i));
  27.   textout(x0-round(i*mx),y0+10,inttostr(-i));
  28.  end;
  29. //центр
  30. textout(x0+5,y0+10,'0');
  31. //подписи концов осей
  32. textout(2*x0-20,y0-20,'X');
  33. textout(x0+5,10, 'Y');
  34. dx:=0.1;
  35. //график
  36. Pen.Color:=clBlue;
  37. x:=x1;
  38. while x<=x2 do
  39.  begin
  40.   if x=x1 then moveto(x0+round(x*mx),y0-round(f(x)*my))
  41.   else lineto(x0+round(x*mx),y0-round(f(x)*my));
  42.   x:=x+dx; //наращиваем х
  43.  end;
  44. Font.Color:=clBlue;
  45. Font.Size:=12;
  46. textout(20,20,'ОДЗ вся числовая ось');
  47. textout(20,50,'Нулей функции нет');
  48. textout(20,80,'Максимум в точке х=0 y=1');
  49. textout(20,110,'Множество значений (0..1]');
  50. end.

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

  1. Объявление функции f(x), которая возвращает значение real, и присваивание ей выражения 1/(1+x*x)
  2. Объявление констант x1 и x2, которые устанавливают начальное и конечное значение графика функции
  3. Объявление переменных mx, my, x, dx и x0, y0, i с типами real и integer соответственно
  4. Вычисление начальных значений x0 и y0 для отображения графика
  5. Рисование осей координат с учетом масштаба по X и Y, а также засечек и подписей к осям
  6. Рисование оси X и Y, подписей к засечкам и координат центра
  7. Выбор цвета ручки для рисования графика (синий)
  8. Начало построения графика, устанавливая начальную точку moveto и последующие точки lineto с шагом dx
  9. Добавление текстовой информации на графике, включая область допустимых значений, наличие нулей функции, максимум и множество значений. Этот код строит график функции f(x) и добавляет информацию о ней на графике.

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


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

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

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

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

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

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