Составить программу для построения графика функции в декартовой системе координат - 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.

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

  1. Объявлены переменные функции и переменные для графического вывода.
  2. Задаются значения интервала, шага и начальных координат.
  3. Вычисляется максимальное значение функции на интервале.
  4. Вычисляются масштабы по осям X и Y.
  5. Строятся оси координат, подписи и засечки.
  6. Строится график функции с помощью цикла, в котором функция проверяется на максимальное значение.
  7. Строятся подписи и название функции.

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


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

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

9   голосов , оценка 4 из 5
Похожие ответы