Составить программу для построения графика функции в декартовой системе координат - PascalABC.NET
Формулировка задачи:
Составить программу для построения графика функции F(x) =x в декартовой системе координат на отрезке [a;b] с шагом h.
Решение задачи: «Составить программу для построения графика функции в декартовой системе координат»
textual
Листинг программы
- uses graphABC;
- function F(x:real):real;
- begin
- F:=sqrt(x)*sqr(cos(x));
- end;
- var h,x,max,mx,my:real;
- a,b,x0,y0,i:integer;
- begin
- a:=0;//интервал по Х
- b:=10;
- h:=0.01;
- x0:=50;//начало координат
- y0:=Window.Height-50;
- max:=0;
- x:=a;
- while x<=b do
- begin
- if F(x)>max then max:=F(x);
- x:=x+h;
- end;
- mx:=(Window.Width-80)/b;//масштаб по Х
- my:=(y0-30)/max;//по Y
- line(0,y0,Window.Width,y0);//оси
- line(x0,0,x0,Window.Height);
- for i:=1 to b do//создаем оси координат
- begin
- line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); //засечки и подписи на оси Х
- textout(x0+round(i*mx),y0+10,inttostr(i));
- line(x0-3,y0-round(i*my/2),x0+3,y0-round(i*my/2)); //засечки и подписи на оси Y
- textout(x0-25,y0-round(i*my/2),floattostr(i/2));
- end;
- //центр
- textout(x0+5,y0+10,'0');
- //подписи концов осей
- textout(Window.Width-10,y0-15,'X');
- textout(x0+5,10, 'Y');
- //график
- x:=a;
- Pen.Color:=clBlue;
- while x<=b do
- begin
- if x=a then MoveTo(x0+round(x*mx),y0-round(F(x)*my))
- else LineTo(x0+round(x*mx),y0-round(F(x)*my));
- x:=x+h;
- end;
- //название
- setfontsize(12);
- textout(x0+50,10,'F(x)=sqrt(x)*cos^2(x))');
- textout(x0+50,30,'интервал [0;10]');
- end.
Объяснение кода листинга программы
- Объявлены переменные функции и переменные для графического вывода.
- Задаются значения интервала, шага и начальных координат.
- Вычисляется максимальное значение функции на интервале.
- Вычисляются масштабы по осям X и Y.
- Строятся оси координат, подписи и засечки.
- Строится график функции с помощью цикла, в котором функция проверяется на максимальное значение.
- Строятся подписи и название функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д