Разработайте программу для построения графика функции y = x^3 - PascalABC.NET
Формулировка задачи:
1) Разработайте программу для построения функций y = x3
Решение задачи: «Разработайте программу для построения графика функции y = x^3»
textual
Листинг программы
uses graphABC;
function F(x:real):real;
begin
F:=x*x*x;
end;
var a,b,mx,my:real;
x:real;
x0,y0,i:integer;
begin
a:=-3;
b:=3;
x0:=windowwidth div 2;
mx:=(x0-30)/b;//масштаб по Х
y0:=windowheight div 2;
my:=(y0-20)/F(b);
line(0,y0,windowwidth,y0);{оси}
line(x0,0,x0,windowheight);
for i:=1 to 6 do
begin
line(x0-3,y0-round(i*my*5),x0+3,y0-round(i*my*5));//засечки на оси У
line(x0-3,y0+round(i*my*5),x0+3,y0+round(i*my*5));
//подпись оси У
textout(x0-25,y0-round(i*my*5),inttostr(5*i));//соответственно засечкам
textout(x0-30,y0+round(i*my*5),inttostr(-5*i));
line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); //засечки на оси Х
line(x0-round(i*mx),y0-3,x0-round(i*mx),y0+3);
//подпись оси Х
textout(x0+round(i*mx),y0+10,inttostr(i));
textout(x0-round(i*mx),y0+10,inttostr(-i));
end;
//центр}
textout(x0-15,y0+10,'0');
//подписи концов осей
textout(windowwidth-20,y0-20,'X');
textout(x0+5,10, 'Y');
//график
setpencolor(clRed);
x:=a;
moveto(x0+round(x*mx),y0-round(F(x)*my));
while x<=b do
begin
lineto(x0+round(x*mx),y0-round(F(x)*my));
x:=x+0.1;
end;
//название
textout(50,30,'y=x^3');
textout(50,50,'int.[-3;3]');
end.
Объяснение кода листинга программы
- Объявлены переменные a, b, mx, my, x, x0, y0, i, которые будут использоваться в программе.
- Задаются значения переменных a и b, которые определяют диапазон функции на графике.
- Определяются значения переменных x0, y0, которые определяют положение осей на графике.
- Переменная mx используется для масштабирования оси X, а переменная my используется для масштабирования оси Y.
- Строятся линии и засечки на оси Y с помощью функции line.
- Строятся линии и засечки на оси X с помощью функции line.
- С помощью функции textout подписываются значения на осях.
- С помощью функции setpencolor задается цвет линии графика.
- Переменная x инициализируется значением a.
- С помощью функции moveto задается начальная точка графика.
- С помощью цикла while строятся точки графика и линии между ними.
- Переменная x увеличивается на 0.1 на каждой итерации цикла.
- С помощью функции textout выводится название графика и диапазона.