program sin_x;
uses graphABC;
const n = 10;  // кол-во делений по оси абсцисс

var x0,y0,vsp,i:integer; //х0, y0 - координаты центра
x,y:real;
s: string;
begin

setwindowsize(600,600);
x0 := 300;
y0 := 300;
 
//Рисую ось координат

line(x0, 0, x0, 600);
line(0, y0, 600, y0);

//Разметка координатной плоскости   
  
 line(x0, 0, x0 - 10, 15);
 line(x0, 0, x0 + 10, 15);
 line(600, y0, 600 - 15, y0 + 10);
 line(600, y0, 600 - 15, y0 - 10);
  
vsp := WindowWidth div (2 * (n + 1)); i := 1;
  while vsp <= WindowWidth div 2 - 15 do 
  begin
    line(x0 + vsp, y0 - 5, x0 + vsp, y0 + 5);
    str(i, s);
    TextOut(x0 + vsp - 3, y0 + 7, s); 
    i := i + 1;
    vsp := i * (WindowWidth div (2 * (n + 1)));
  end;
  vsp := WindowWidth div (2 * (n + 1)); i := 1;
  while vsp <= WindowWidth div 2 - 15 do 
  begin
    line(x0 - vsp, y0 - 5, x0 - vsp, y0 + 5);
    str(-i, s);
    TextOut(x0 - vsp - 7, y0 + 7, s); 
    i := i + 1;
    vsp := i * (WindowWidth div (2 * (n + 1)));
  end;
  vsp := WindowWidth div (2 * (n + 1)); i := 1;
  while vsp <= WindowHeight  div 2 do 
  begin
    line(x0 - 5, y0 + vsp, x0 + 5, y0 + vsp);
    str(-i, s);
    TextOut(x0 + 7, y0 + vsp - 6, s); 
    i := i + 1;
    vsp := i * (WindowWidth div (2 * (n + 1)));
  end;
  vsp := WindowWidth div (2 * (n + 1)); i := 1;
  while vsp <= WindowHeight div 2 - 15 do 
  begin
    line(x0 - 5, y0 - vsp, x0 + 5, y0 - vsp);
    str(i, s);
    TextOut(x0 + 10, y0 - vsp - 6, s);
    i := i + 1;
    vsp := i * (WindowWidth div (2 * (n + 1)));  
    end;

  
  s := 'X';
  TextOut(600 - 15, y0 - 27, s);
  s := 'Y';
  TextOut(x0 - 23, 2, s);
  s := '0';
  TextOut(x0 + 4, y0 - 16, s);

//Рисую график функции y=sin(x) 

x:=-15;
while x < 15 do 
begin
y:=-sin(x);
setpixel(trunc(x*20+300),trunc(y*20+300),clblack);
x:=x+0.001;
end;

//Рисую график функции x=1 

line(328, 50, 328, 550);

//Рисую график функции x=1 

line(272, 50, 272, 550);

//Закрашиваю область обозначенную в условии

floodfill(312,298,clgreen);
floodfill(293,303,clgreen);


//(0∫П sinxdx = -cosx 0|П = -cosП + cos0 = -(-1)+1 = 2);
writeln('Площадь закрашенной области равна 2');

end.
