Будет работать только в Pascal.ABC. Желательно вводите величины от 30-50, так как всё измеряется в пикселях.
Program Zagacha;
Uses GraphABC;
Var r, a, b: Integer;
Begin
WriteLn('Введите значение r');
ReadLn(r);
WriteLn('Введите значение a');
ReadLn(a);
WriteLn('Введите значение b');
ReadLn(b);
If ((r + a + b) < 30) Or ((r + a + b) > 200) Then
Begin
r := 50;
a := 100;
b := 100;
End;
DrawCircle(Round(Window.Width / 2), Round(Window.Height / 2), r);
DrawRectangle(Round((Window.Width - a) / 2), Round((Window.Height - b) / 2), Round((Window.Width + a) / 2) + 1, Round((Window.Height + b) / 2) + 1);
If (a = b) And (a * b = 4 * r * r) Then
TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность вписана')
Else If (a = b) And (a * b = 2 * r * r) Then
TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность описана')
Else
TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность посторонняя')
End.