Построить узор по следующему принципу:
Известна точка центра окружности и радиус. Для следующих четырех окружностей координаты их центров должны находиться на серединах отрезков, соединяющих центр исходной окружности и вершины "мысленного" описанного около окружности квадрата. Радиус этих окружностей равен половине исходного радиуса. Процесс заканчивается, когда конечный радиус будет в 5 раз меньше начального.

Рисунок для наглядности прикладываю (задание номер 2).

Программу нужно написать в Pascal ABC (именно ABC, это важно).

Приложения:

Ответы

Ответ дал: archery
0
uses
    GraphABC;

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.

Вас заинтересует