не уверен на счет вывода графики - давно на паскале ничего не писал, но должно быть примерно вот так
program graphics;
uses crt,graph;
Type TPoint = record
x,y : Integer;
end;
procedure drawRect(a,b: TPoint; counter : integer)
begin
a1,b1 : TPoint;
Rectangle(a.x, a.y, b,x, b.y);
if (counter > 0) then
begin
a1.x = a.x + 0.05*(b.x - a.x);
a1.y = a.y + 0.05*(b.y - a.y);
b1.x = b.x - 0.05*(b.x - a.x);
b1.y = b.y - 0.05*(b.y - a.y);
drawRect(a1,b1,counter-1);
end;
end;
var
A,B : TPoint; { для рисования прямоугольника в паскале не надо знать все 4 точки. т.к. прямоугольники уменьшаются пропорционально, использовать будем только 2 точки}
c:char;
begin
A.x = 10;
A.y = 10;
B.x = 100;
B.y = 100;
InitGraph(9,2,'BGI');
SetColor(2);
drawRect(A,B,C,D,50;
end.