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

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

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

Построить график функции

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

textual
Листинг программы
uses graph;
function F(x:real):real;
var as:real;
begin
if x<-1 then F:=1-cos(5*x)
else if x>0.4 then F:=2*x+ln(x+1/x)
else
 begin
  if x=-1 then as:=-pi/2
  else as:=arctan(x/(1-x*x));
  F:=2*x+as-2;
 end;
end;
 
var a,b,mx,my,max:real;
    x:real;
    x0,y0,i:integer;
    s:string;
begin
x0:=0;
initgraph(x0,y0,'');{инициализация графического режима}
a:=-2;
b:=2;{интервал по Х}
x0:=getmaxX div 2;{начало координат по Х}
mx:=(x0-30)/b;{масштаб по Х}
x:=a;
max:=abs(F(x));
while x<=b do
 begin
  if abs(F(x))>max then max:=abs(F(x));
  x:=x+0.1;
 end;
y0:=getmaxY div 2;{начало координат по Y}
my:=(y0-40)/max;
line(0,y0,getmaxX,y0);{оси}
line(x0,0,x0,getmaxY);
for i:=1 to trunc(max+1) do{максимальное количество засечек в одну сторону}
 begin
  line(x0-3,y0-round(i*my),x0+3,y0-round(i*my));{засечки на оси У}
  line(x0-3,y0+round(i*my),x0+3,y0+round(i*my));
  {подпись оси У}
  str(i,s);
  outtextXY(x0-15,y0-round(i*my),s);{соответственно засечкам}
  outtextXY(x0-20,y0+round(i*my),'-'+s);
  line(x0+round(i*mx/2),y0-3,x0+round(i*mx/2),y0+3); {засечки на оси Х}
  line(x0-round(i*mx/2),y0-3,x0-round(i*mx/2),y0+3);
  {подпись оси Х}
  str(i/2:0:1,s);
  outtextXY(x0+round(i*mx/2)+5,y0+10,s);
  outtextXY(x0-round(i*mx/2)+5,y0+10,'-'+s);
 end;
{центр}
outtextXY(x0-15,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0+5,10, 'Y');
{график}
x:=a;
while x<=b do
 begin
  putpixel(x0+round(x*mx),y0-round(F(x)*my),14);
  x:=x+0.0001;
 end;
{ассимптоты}
setcolor(10);
setlinestyle(1,0,1);
line(x0+round(-1*mx),0,x0+round(-1*mx),getmaxY);
line(x0+round(0.4*mx),0,x0+round(0.4*mx),getmaxY);
readln
end.

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

  1. В начале кода подключается библиотека graph, которая, вероятно, содержит функции для работы с графиками.
  2. Затем определяется функция F(x), которая представляет собой функцию, график которой нужно построить. Внутри функции проверяются различные условия, определяющие форму функции.
  3. Далее объявляются переменные a, b, mx, my, max, x0, y0, i и s. Переменная x0 инициализируется значением 0, а переменные x0 и y0 инициализируются функцией initgraph.
  4. Затем устанавливаются начальные значения для масштабов по X и Y, а также задаются начальные координаты для осей X и Y.
  5. Далее идет цикл while, который выполняется до тех пор, пока значение x не превысит значение b. Внутри цикла строятся засечки на оси X и Y, а также вычисляются координаты центра и подписываются концы осей.
  6. После этого строятся асимптоты для оси X.
  7. Затем устанавливается цвет шрифта и стиль линии для отображения асимптот.
  8. В конце кода считывается значение из переменной s и выводится на экран.

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


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

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

13   голосов , оценка 4 из 5