Нарисовать сетку, оси и построить график функции - 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.
Объяснение кода листинга программы
- Объявлены переменные:
- xc, yc, i, a, b, x, mx, my, max (переменные для координат, масштабов и значения функции)
- s (строка для отображения чисел на оси)
- line (заголовок графического окна)
- Задан размер окна и его центровка
- Определены координаты центра графика и осей (линии и текст)
- Происходит разбивка на оси (линии и текст)
- Начиная с левого нижнего угла строки, записываются числа на оси X (от -10 до 10)
- Строятся вертикальные линии и текст на оси Y (от 0 до 10)
- Строятся горизонтальные линии и текст на оси X (от -10 до 10)
- Задаются координаты начала графика (x=0, y=0)
- Рисуется график функции (x=0 до b, с шагом 0.01)
- Задается красный цвет для рисования графика
- Задается толщина линии в 2 единицы
- Задается масштаб X и Y (mx и my)
- Задается максимальное значение функции (max)
- Отображается значение функции (f(x)) на графике
- Код заканчивается.