На основе рекурсивного алгоритма построить изображение(в паскале). Программа, выполняющая построение, должна быть инвариантна относительно начальных координат и числа итераций., изобр ниже
Умоляю, помогите с этим заданием срочненько нужно(
Приложения:
![](https://st.uroker.com/files/6a7/6a7e954784d644034e6ba06ccde7202d.png)
Ответы
Ответ дал:
0
PascalABC.NET 3.4.0, сборка 1670 от 23.05.2018
Внимание! Если программа не работает, обновите версию!
uses GraphABC;
procedure Figure(n,a:integer; lu:Point);
begin
var rl:=new Point(lu.X+a, lu.Y+a);
DrawRectangle(lu.X,lu.Y,rl.X,rl.Y);
var ll:=new Point(lu.X,rl.Y);
var um:=new Point(lu.X+a div 2,lu.Y);
Polyline(ll,um,rl);
lu.X+=a div 4; lu.Y+=a div 2;
if n>1 then Figure(n-1,a div 2,lu)
end;
begin
var (w,h):=(800,600); // размер окна
SetWindowSize(w,h);
var a:=new Point(150,50); // левый верхний угол
Figure(3,500,a); // число точек, длина стороны, левый верхний угол
end.
Внимание! Если программа не работает, обновите версию!
uses GraphABC;
procedure Figure(n,a:integer; lu:Point);
begin
var rl:=new Point(lu.X+a, lu.Y+a);
DrawRectangle(lu.X,lu.Y,rl.X,rl.Y);
var ll:=new Point(lu.X,rl.Y);
var um:=new Point(lu.X+a div 2,lu.Y);
Polyline(ll,um,rl);
lu.X+=a div 4; lu.Y+=a div 2;
if n>1 then Figure(n-1,a div 2,lu)
end;
begin
var (w,h):=(800,600); // размер окна
SetWindowSize(w,h);
var a:=new Point(150,50); // левый верхний угол
Figure(3,500,a); // число точек, длина стороны, левый верхний угол
end.
Приложения:
![](https://st.uroker.com/files/161/1611b441f0b34dd53410b7fdbdf2011c.jpg)
Вас заинтересует
1 год назад
1 год назад
8 лет назад