Uses Graph; Procedure WrCr1(LX,LY,Rad,den:word;c1,c2,c3,c4:byte); var i:word; begin for i := 0 to Rad div Den do begin SetColor(c1); Line(LX,LY,LX+I*Den,LY-Rad); SetColor(c2); Line(LX,LY-Rad,LX+Rad,LY-Rad+I*Den); SetColor(c3); Line(LX+Rad,LY-Rad,LX+Rad-I*Den,LY); SetColor(c4); Line(LX+Rad,LY,LX,LY-I*Den); end; for i := 1 to Rad div Den do begin SetColor(c1); Line(LX,LY,LX+Rad,LY-Rad+I*Den); SetColor(c2); Line(LX,LY-Rad,LX+Rad-I*Den,LY); SetColor(c3); Line(LX+Rad,LY-Rad,LX,LY-I*Den); SetColor(c4); Line(LX+Rad,LY,LX+I*Den,LY-Rad); end; end; Procedure WrCr2(LX,LY,Rad,den:word;c1,c2,c3,c4:byte); var i:word; begin for i := 0 to Rad div Den do begin SetColor(c1); Line(LX,LY,LX+I*Den,LY-Rad); Line(LX,LY,LX+Rad,LY-Rad+I*Den); SetColor(c2); Line(LX,LY-Rad,LX+Rad,LY-Rad+I*Den); Line(LX,LY-Rad,LX+Rad-I*Den,LY); SetColor(c3); Line(LX+Rad,LY-Rad,LX+Rad-I*Den,LY); Line(LX+Rad,LY-Rad,LX,LY-I*Den); SetColor(c4); Line(LX+Rad,LY,LX,LY-I*Den); Line(LX+Rad,LY,LX+I*Den,LY-Rad); end; end; var g,s,i : integer; Begin InitGraph(g,s,''); SetWriteMode(0); WrCr1(150,400,320,4,1,2,4,8); { WrCr1(320,200,160,2,1,2,4,8); WrCr1(160,200,160,2,8,4,2,1); WrCr1(160,360,160,2,4,8,1,2); WrCr1(320,360,160,2,2,1,8,4); WrCr1(0,200,160,2,1,2,4,8); WrCr1(0,360,160,2,2,1,8,4); WrCr1(480,200,160,2,8,4,2,1); WrCr1(480,360,160,2,4,8,1,2);} ReadLn; CloseGraph; end.