pascalabcnet/InstallerSamples/Algorithms/Recursion/ESquares.pas
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

28 lines
537 B
ObjectPascal

// E-êâàäðàòû. Äåìîíñòðàöèÿ ðåêóðñèè
uses GraphABC;
const mw = 2.9;
procedure ESquares(n,x,y,w: integer);
begin
var w1 := round(w/mw);
var h := (w-2*w1) div 3;
Brush.Color := clRandom;
Rectangle(x,y,x+w,y+w);
if n>0 then
begin
Sleep(1);
ESquares(n-1,x+h,y+h,w1);
ESquares(n-1,x+w-h-w1,y+h,w1);
ESquares(n-1,x+h,y+w-h-w1,w1);
ESquares(n-1,x+w-h-w1,y+w-h-w1,w1);
end;
end;
begin
Window.Title := 'Ðåêóðñèÿ: E-êâàäðàòû';
SetWindowSize(750,530);
Pen.Color := clWhite;
ESquares(4,125,18,490);
end.