Составить программу для построения графика функции в декартовой системе координат - 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.
- Строятся оси координат, подписи и засечки.
- Строится график функции с помощью цикла, в котором функция проверяется на максимальное значение.
- Строятся подписи и название функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д