uses crt,Graph;

var
 grDriver: Integer;
 grMode: Integer;
 ErrCode: Integer;
 pocetdilu, k: integer; {dx-dilek x, dxr-dilek x real}
 x,xr,y,yr,dx,dxr:real;
begin
 grDriver := Detect;
 InitGraph(grDriver, grMode,' ');
 ErrCode := GraphResult;
 if ErrCode = grOk then
 begin
   pocetdilu:=100; x:=0; y:=0; xr:=0; yr:=0;
   dx:=GetMaxX/pocetdilu;
   dxr:=2*PI/pocetdilu;
   MoveTo(0, round(GetMaxY/2));
   for k:=0 to pocetdilu do begin
       yr:=sin(xr);
       y:=GetMaxY/2-(yr*GetMaxY/2);
       LineTo(round(x),round(y));
       xr:=xr+dxr;
       x:=x+dx;
   end;
   Readln;
   CloseGraph;
 end
 else
   Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.




