Построить узор по следующему принципу:
Известна точка центра окружности и радиус. Для следующих четырех окружностей координаты их центров должны находиться на серединах отрезков, соединяющих центр исходной окружности и вершины "мысленного" описанного около окружности квадрата. Радиус этих окружностей равен половине исходного радиуса. Процесс заканчивается, когда конечный радиус будет в 5 раз меньше начального.
Рисунок для наглядности прикладываю (задание номер 2).
Программу нужно написать в Pascal ABC (именно ABC, это важно).
Answers & Comments
Verified answer
UsesGraphABC;
var
radius, x, y: integer;
procedure DrawRing(x, y, radius, main_radius: integer);
var
r: integer;
begin
DrawCircle(x, y, radius);
r := radius div 2;
if r >= main_radius / 5 then begin
DrawRing(x + r, y + r, r, main_radius);
DrawRing(x - r, y + r, r, main_radius);
DrawRing(x + r, y - r, r, main_radius);
DrawRing(x - r, y - r, r, main_radius);
end;
end;
begin
Window.Maximize();
FloodFill(0, 0, clBlack);
Pen.Color := clAquamarine;
Pen.Width:=2;
x := Window.Center.X;
y := Window.Center.Y;
radius := random(Min(Window.Width, Window.Height) div 2);
DrawRing(x, y, radius, radius);
end.