//PascalABC.NET 3.2 сборка 1318//2uses GraphABC;Var a,b,x,y,c:integer;beginread(x,y,a,b);c:=trunc(b/2);rectangle(x+c,y-c,x+c+a,y+c);line(x,y,x+c,y-c);line(x,y,x+c,y+c);line(x+c+a,y+c,x+2*c+a,y);line(x+c+a,y-c,x+2*c+a,y);end.//3uses GraphABC;Var a,x,y,b:integer;beginread(x,y,a);b:=a div 2;line(x,y,x,y+a);line(x,y,x-b,y-b);line(x,y,x+b,y-b);line(x,y+a,x-b,y+b*3);line(x,y+a,x+b,y+b*3);end.//4uses GraphABC;Var a,x,y,b:integer;beginread(x,y,a);b:=trunc((a*sqrt(2))/2);line(x,y,b+x,y);line(b+x,y,b+x,b+y);line(b+x,b+y,x,b+y);line(x,b+y,x,y);line(x,y+b div 2,x+b div 2,y);line(x+b div 2,y,x+b,y+b div 2);line(x,y+b div 2,x+b div 2,y+b);line(x+b div 2,y+b,x+b,y+b div 2);end.