program drawFigure; uses graph; var gD,gR:integer; procedure drawHouse(x,y:word); const wallSide=70; windowSide=20; var houseRoof:array[1..4] of pointtype; begin setFillStyle(1,10); bar(x,y-wallSide,x+wallSide,y); rectangle(x,y-wallSide,x+wallSide,y); setFillStyle(1,1); bar(x+wallSide div 2-windowSide div 2,y-wallSide+wallSide div 2-windowSide div 2, x+wallSide div 2-windowSide div 2+windowSide,y-wallSide+wallSide div 2-windowSide div 2+windowSide); rectangle(x+wallSide div 2-windowSide div 2,y-wallSide+wallSide div 2-windowSide div 2, x+wallSide div 2-windowSide div 2+windowSide,y-wallSide+wallSide div 2-windowSide div 2+windowSide); setFillStyle(1,2); houseRoof[1].x:=x; houseRoof[1].y:=y-wallSide; houseRoof[2].x:=x+wallSide; houseRoof[2].y:=y-wallSide; houseRoof[3].x:=x+wallSide div 2; houseRoof[3].y:=y-wallSide-wallSide div 2; houseRoof[4].x:=x; houseRoof[4].y:=y-wallSide; fillPoly(4,houseRoof); end; procedure drawTree(x,y:word); const treeFH=90; treeFW=8; var ci:byte; branchFH,branchFW:byte; begin setFillStyle(1,6); bar(x,y-treeFH,x+treeFW,y); for ci:=1 to 6 do begin branchFH:=random(5)+1; branchFW:=random(8)+10; bar(x-branchFW,y-treeFH+ci*10,x,y-treeFH+ci*10+branchFH); bar(x+treeFW,y-treeFH+ci*10,x+treeFW+branchFW,y-treeFH+ci*10+branchFH); end; end;begin randomize; initgraph(gD,gR,''); drawHouse(100,280); drawHouse(230,270); drawHouse(430,290); drawHouse(330,180); drawTree(195,278); drawTree(325,275); drawTree(265,350); drawTree(360,290); drawTree(400,240); drawTree(580,285); drawTree(110,370); readln; closeGraph;end.