Из условий я не понял про нанизывание на нитку окружностей. Остальное сделал на языке Паскаль. На своём компьютере не проверял, т.к. данный язык у меня не установлен. На фото я укзал рисунок моего понимания условий задачи.
- - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
var
a,b : integer; {описываем длины сторон}
r,p : real; {описываем радиус и периметр}
begin
write ('Введите длину первой стороны прямоугольника: ');
readln(a);
write ('Введите длину второй стороны прямоугольника: ');
readln(b);
r:=(sqrt(a*a+b*b))/2; {находим радиус}
r:=trunc(r*10000)/10000; {округляем до четырёх знаков после запятой}
p:=(a+b)*2; {находим периметр прямоугольника};
writeln('Радиус окружности равен: ',r);
writeln('Периметр прямоугольника равен: ',p);
end.