Построить график функции - 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.
Объяснение кода листинга программы
- В начале кода подключается библиотека graph, которая, вероятно, содержит функции для работы с графиками.
- Затем определяется функция F(x), которая представляет собой функцию, график которой нужно построить. Внутри функции проверяются различные условия, определяющие форму функции.
- Далее объявляются переменные a, b, mx, my, max, x0, y0, i и s. Переменная x0 инициализируется значением 0, а переменные x0 и y0 инициализируются функцией initgraph.
- Затем устанавливаются начальные значения для масштабов по X и Y, а также задаются начальные координаты для осей X и Y.
- Далее идет цикл while, который выполняется до тех пор, пока значение x не превысит значение b. Внутри цикла строятся засечки на оси X и Y, а также вычисляются координаты центра и подписываются концы осей.
- После этого строятся асимптоты для оси X.
- Затем устанавливается цвет шрифта и стиль линии для отображения асимптот.
- В конце кода считывается значение из переменной s и выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д