uses oglgraph; // Необходимая библиотека, у нас заменяет graph var gd, gm: smallint; mx, my, cx, cy: smallint; x, y, d: smallint; Procedure Crectangle(x,y,d:smallint); begin rectangle(x-d, y-d, x+d, y+d); end; Procedure Crectangle3(x,y,d:smallint); begin if d >= 1 then begin Crectangle3(x, y, d); d:= d div 2; Crectangle3(x, y-2*d, d); Crectangle3(x-2*d, y, d); Crectangle3(x, y+2*d, d); Crectangle3(x+2*d, y, d); end; // if end; // Раздел кода ************************************************************************************** begin gd := Detect; // Автоматическая установка разрешения gm := DetectMode; initgraph(gd, gm, ''); // Открытие "графического окна" {далее все, что Вы хотите нарисовать, например:} mx := getmaxX; my := getmaxY; cx := mx div 2; cy := my div 2; d := cx div 4; x := cx; y := cy; Crectangle3(x,y,d); //Вызов рекурсивной функции {конец отрисовки} repeat until graphkeypressed; // Задержка закрытия графического окна до нажатия // клавиши для завершения работы программы - // иначе рискуете ничего толком не увидеть closegraph(); // закрытие графического окна - не обязательно, но рекомендуемо. end.