2,3,4 Нужно с помощью программы PascalABC построить данные фигуры. При том известны координаты одной точки: (х, у) и длина определённого отрезка а (и в каждой фигуре они разные).
Var a,b,x,y,c:integer; begin read(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.
//3 uses GraphABC;
Var a,x,y,b:integer; begin read(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.
//4 uses GraphABC;
Var a,x,y,b:integer; begin read(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.
Answers & Comments
Verified answer
//PascalABC.NET 3.2 сборка 1318//2
uses
GraphABC;
Var
a,b,x,y,c:integer;
begin
read(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.
//3
uses
GraphABC;
Var
a,x,y,b:integer;
begin
read(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.
//4
uses
GraphABC;
Var
a,x,y,b:integer;
begin
read(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.