Построение графика функции - Free Pascal

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

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

Построить график функции в паскале y=1/(x^2+3*x+1).

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

textual
Листинг программы
  1. uses graph;
  2. const
  3. x1=-5;//начало и конец графика в реальных значениях
  4. x2=2;
  5. var mx,my,x,dx,y:real;
  6.     x0,y0,px,py,i,k:integer;
  7.     s:string;
  8. begin
  9. initgraph(x0,y0,'');
  10. x0:=5*getmaxX div 7;//начало координат в центре экрана
  11. y0:=getmaxY div 2;
  12. mx:=(x0-20)/-x1;//масштаб  по Х
  13. my:=(y0-20)/10;
  14. line(0,y0,getmaxX,y0); //оси
  15. line(x0,0,x0,2*y0);
  16. for i:=1 to 10 do //максимальное количество засечек в одну сторону
  17.  begin
  18.   line(x0-3,y0-round(i*my),x0+3,y0-round(i*my));//засечки на оси У
  19.   line(x0-3,y0+round(i*my),x0+3,y0+round(i*my));
  20.   line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); //засечки на оси Х
  21.   line(x0-round(i*mx),y0-3,x0-round(i*mx),y0+3);
  22.   //подпись оси У
  23.   str(i,s);
  24.   outtextXY(x0-25,y0-round(i*my),s);//оответственно засечкам
  25.   outtextXY(x0-25,y0+round(i*my),'-'+s);
  26.   //подпись оси Х}
  27.   outtextXY(x0+round(i*mx),y0+10,s);
  28.   outtextXY(x0-round(i*mx),y0+10,'-'+s);
  29.  end;
  30. //центр
  31. outtextXY(x0+5,y0+10,'0');
  32. //подписи концов осей
  33. outtextXY(getmaxX-20,y0-20,'X');
  34. outtextXY(x0+10,10, 'Y');
  35. dx:=0.0001;
  36. //график
  37. x:=x1;
  38. while x<=x2 do
  39.  begin
  40.   if abs(x*x+3*x+1)>dx then//если знаменатель не очень близко к 0
  41.   putpixel(x0+round(x*mx),y0-round(1/(x*x+3*x+1)),14);
  42.   x:=x+dx; //наращиваем х
  43.  end;
  44. readln
  45. end.

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


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

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

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

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

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

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