program grafic; Uses Crt,Graph; Type Func=Function(x:Real):Real; Corners=array[1..4] of Integer; Gabarits=array[1..4] of Real; Var Corn:Corners; Gab:Gabarits; d,r,ge:Integer; c:Char; a,b:real; n:Word; Procedure Window(Corn:Corners;col:Word); begin SetColor(col); Rectangle(Corn[1],Corn[2],Corn[3],Corn[4]); SetViewPort(Corn[1],Corn[2],Corn[3],Corn[4],ClipOn); end{Window}; Procedure DrawGraph(Corn:Corners;var Gab:Gabarits;F:Func;a,b:Real;n:Word;col:Word); var x,y,h,miny,maxy,kx,ky:Real; i:Integer; function XPixel(x:Real):Word; begin XPixel:={Corn[1]+}Round(kx*(x-Gab[1])); end; function YPixel(y:Real):Word; begin YPixel:=Corn[4]-Corn[2]-Round(ky*(y-Gab[2])); end; procedure Axes(col:Word); var xp,yp,c:Word; begin c:=GetColor; SetColor(col); if (0>Gab[1])and(0Gab[2])and(0maxy then maxy:=y; if y grOK then Writeln(GraphErrorMsg(ge)) else begin { Corn[1]:=GetMaxX div 4; Corn[2]:=GetMaxY div 4; Corn[3]:=3*GetMaxX div 4; Corn[4]:=3*GetMaxY div 4 ;{посередине} Corn[1]:=50; Corn[2]:=150; Corn[3]:=600; Corn[4]:=400; Window(Corn,Green); Gab[1]:=-10; Gab[2]:=-10; Gab[3]:=20; Gab[4]:=-10; a:=-10; b:=18{2*Pi}; DrawGraph(Corn,Gab,F1,a,b,10000,9); c:=readkey; end; end.