Нарисовать сетку, оси и построить график функции - PascalABC.NET

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

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

Левый интервал -

0

Правый интервал -

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

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

textual
Листинг программы
uses graphABC;
function f(x:real):real;
begin
f:=10*sin(x)*sin(5*x)
end;
 
var xc,yc,i:integer;
    a,b,x,mx,my,max:real;
    s:string;
begin
//определим размер экрана
setwindowsize(800,500);
//расположим его в центре экрана
centerwindow;
a:=0;
b:=2*pi;
//определим центр графика
xc:=50;
yc:=windowheight div 2;
mx:=(windowwidth-xc-20)/b;// масштаб  X
my:=(yc-20)/10;
line(0,yc,windowwidth-10,yc);//и оси
line(xc,10,xc,2*yc);
//делаем разбивку на осях
for i:=1 to 10 do
 begin
  line(xc+round(i*mx),yc-3,xc+round(i*mx),yc+3);
  textout(xc+round(i*mx),yc+10,inttostr(i));
  line(xc-3,yc-round(i*my),xc+3,yc-round(i*my));
  line(xc-3,yc+round(i*my),xc+3,yc+round(i*my));
  str(i/10:0:1,s);
  textout(xc-20,yc-round(i*my),s);
  textout(xc-25,yc+round(i*my),'-'+s);
 end;
textout(xc-10,yc+10,'0');
line(xc,0,xc-5,10);
line(xc,0,xc+5,10);
line(xc-5,10,xc+5,10);
floodfill(xc,5,clBlack);
textout(xc+8,0,'Y');
line(windowwidth,yc,windowwidth-10,yc-5);
line(windowwidth,yc,windowwidth-10,yc+5);
line(windowwidth-10,yc-5,windowwidth-10,yc+5);
floodfill(windowwidth-5,yc,clBlack);
textout(windowwidth-8,yc-20,'X');
setpencolor(clRed);
setpenwidth(2);
x:=a;
moveto(xc+round(x*mx),yc-round(f(x)*my));
while x<=b do
 begin
  lineto(xc+round(x*mx),yc-round(f(x)*my));
  x:=x+0.01;
 end;
end.

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

  1. Объявлены переменные:
    • xc, yc, i, a, b, x, mx, my, max (переменные для координат, масштабов и значения функции)
    • s (строка для отображения чисел на оси)
    • line (заголовок графического окна)
  2. Задан размер окна и его центровка
  3. Определены координаты центра графика и осей (линии и текст)
  4. Происходит разбивка на оси (линии и текст)
  5. Начиная с левого нижнего угла строки, записываются числа на оси X (от -10 до 10)
  6. Строятся вертикальные линии и текст на оси Y (от 0 до 10)
  7. Строятся горизонтальные линии и текст на оси X (от -10 до 10)
  8. Задаются координаты начала графика (x=0, y=0)
  9. Рисуется график функции (x=0 до b, с шагом 0.01)
  10. Задается красный цвет для рисования графика
  11. Задается толщина линии в 2 единицы
  12. Задается масштаб X и Y (mx и my)
  13. Задается максимальное значение функции (max)
  14. Отображается значение функции (f(x)) на графике
  15. Код заканчивается.

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

9   голосов , оценка 3.778 из 5