Построить график функции и заштриховать область интегрирования - Pascal ABC
Формулировка задачи:
построить график y = sin (X) и заштриховать область интегрирования от 0 до п / 3
Пишите впредь по русски, не выеживайтесь.
Решение задачи: «Построить график функции и заштриховать область интегрирования»
textual
Листинг программы
uses graphABC;
function F(x:real):real;
begin
F:=sin(x);
end;
var xn,xk,x,mx,my,dx,max:real;
x0,y0,i:integer;
s:string;
begin
centerwindow;
x0:=windowwidth div 2;//начало координат
y0:=windowheight div 2;
xn:=-pi;xk:=pi;//интервал по Х
x:=xn;
mx:=(x0-30)/xk;//масштаб по Х
my:=(y0-20);//max;//по У
line(0,y0,windowwidth,y0);//оси
line(x0,0,x0,windowheight);
for i:=1 to 10 do//максимальное количество засечек в одну сторону
begin
line(x0+round(i*pi*mx/2),y0-3,x0+round(i*pi*mx/2),y0+3); //засечки на оси Х
line(x0-round(i*pi*mx/2),y0-3,x0-round(i*pi*mx/2),y0+3);
line(x0+3,y0-round(i*my/10),x0-3,y0-round(i*my/10)); //засечки на оси Y
line(x0+3,y0+round(i*my/10),x0-3,y0+round(i*my/10));
//подписи по оси Y
str(i/10:0:1,s);
textout(x0-25,y0-round(i*my/10),s);
textout(x0-30,y0+round(i*my/10),'-'+s);
end;
//подпись оси Х
line(x0+round(pi*mx/3),y0-3,x0+round(pi*mx/3),y0+3);
textout(x0+round(mx*pi/3)-15,y0+10,'pi/3');
textout(x0+round(mx*pi/2)-15,y0+10,'pi/2');
textout(x0+round(pi*mx),y0+10,'pi');
textout(x0-round(mx*pi/2)-15,y0+10,'-pi/2');
textout(x0-round(pi*mx),y0+10,'-pi');
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-15,y0-15,'X');
textout(x0+10,10, 'Y');
//график
x:=xn;
dx:=0.001;
while x<=xk do
begin
x:=x+dx;
setpixel(x0+round(x*mx),y0-round(F(x)*my),clBlue);
end;
setfontsize(12);
setfontcolor(clBlue);
textout(150,10,'y=sin(x)');
setpencolor(clRed);
setbrushstyle(bsFDiagonal);
line(x0+round(pi/3*mx),y0,x0+round(pi/3*mx),y0-round(F(pi/3)*my));
floodfill(x0+20,y0-5,clRed);
end.
Объяснение кода листинга программы
- Создается функция F(x), которая вычисляет значение синуса x.
- Создаются переменные xn, xk, x, mx, my, dx, max.
- Задаются начальные значения для x, y и dx.
- Строятся линии для осей X и Y.
- Строятся засечки на оси X и Y.
- Строится подпись оси X.
- Строятся подписи концов осей.
- Строится график функции y = sin(x).
- Задается стиль кисти и цвет для заполнения области под графиком.
- Заполняется область под графиком.