uses crt,graph; var a,b,k,i,c,dx,dy,e,s,l:integer; d:string; t,r,y:real; function f(var x:real):real; begin f:=sin(x)/cos(x); end; begin clrscr; a:=detect; write('Zadaite mashtab '); readln(k); initgraph(a,b,''); line(320,0,320,479); line(0,240,639,240); line(320,0,315,7); LINE(320,0,325,7); line(633,246,638,240); line(633,234,638,240); C:=320 DiV K; e:=24 div k; if e=0 then for i:=0 to c do begin str(i,d); settextjustify(1,1); dx:=320+k*i; outtextxy(dx,253,d); line(dx,245,dx,235); end else begin while i<=c do begin str(i,d); settextjustify(1,1); dx:=320+k*i; outtextxy(dx,253,d); for s:=1 to c do begin dx:=320+k*i; line(dx,245,dx,235); i:=i+1; end end; c:=240 div k; if e=0 then for i:=0 to c do begin str(i,d); settextjustify(0,1); dy:=240-k*i; outtextxy(325,dy,d); for s:=1 to e do begin dy:=240-k*i; line(323,dy,317,dy); i:=i+1; end; dy:=240-k*i; line(323,dy,317,dy); i:=i+1; end; end; c:=320 div k; e:=24 div k; if e=0 then for i:=0 downto -c do begin str(i,d); settextjustify(1,1); dx:=320+k*i; outtextxy(dx,253,d); line(dx,245,dx,235); end else begin while i>=-c do begin str(i,d); settextjustify(1,1); dx:=320+k*i; outtextxy(dx,253,d); for s:=1 to e do begin dx:=320+k*i; line(DX,245,DX,235); I:=I+1; END; dx:=320+k*i; line(dx,245,dx,235); i:=i-1; end; end; c:=240 div k; if e=0 then for i:=0 downto -c do begin str(i,d); settextjustify(0,1); dy:=24-k*i; outtextxy(325,dy,d); line(323,dy,317,dy); end else begin i:=0; while i>=-c do begin str(i,d); settextjustify(0,1); dy:=240-k*i; outtextxy(325,dy,d); for s:=1 to e do begin dy:=240-k*i; line(323,dy,317,dy); i:=i-1; end; dy:=240-k*i; line(323,dy,317,dy); i:=i-1; end; end; c:=320 div k; r:=-c; while r<=c do begin dy:=240-round(k*f(r)); dx:=320+round(k*r); putpixel(dx,dy,red); r:=r+0.0001; delay(5); end; readkey end.