Const
p = 3.14; //число "пи"
var
N: byte;
R, D, L, S: real;
begin
{Сообщаем кратко данные задачи: }
writeln(' Пусть в окружности:');
writeln(' 1)R - радиус;');
writeln(' 2)D - диаметр;');
writeln(' 3)L - длина;');
writeln(' 4)S - площадь круга.');
writeln;
writeln(' Введите номер одной из величин (от 1 до 4):');
write(' N = ');
readln(N); //Вводим номер величины.
{Здесь используем цикл. Запрашивается ввод до тех пор, пока
номер N не будет лежать в диапазоне [1, 4]:}
while (N < 1)or(N > 4) do//Условие вхождения в цикл.
begin
writeln(' Такого номера здесь нет!');
writeln(' Введите другой номер (от 1 до 4):');
write(' N = ');
readln(N) //Снова вводим номер.
end;
writeln;
{Сообщаем о том, какую величину мы ввели,
а потом запрашиваем ввести её значение:}
write(' Это ');
case N of
1: begin
writeln('радиус окружности. Введите его значение:');
write(' R = ');
readln(R)
end;
2: begin
writeln('диаметр. Введите его значение:');
write(' D = ');
readln(D)
end;
3: begin
writeln('длина окружности. Введите её значение:');
write(' L = ');
readln(L)
end;
4: begin
writeln('площадь круга. Введите её значение:');
write(' S = ');
readln(S)
end
end;
writeln(' Тогда для остальных величин будем иметь:');
writeln;
{Используя соотношения D = 2*R, L = 2*p*R, S = p*sqr(R),
выразим последовательно три величины через четвертую: }
case N of
1: begin{Здесь дано R. Находим D, L и S: }
writeln(' диметр: D = ', 2 * R);
writeln(' длина: L = ', 2 * p * R);
writeln(' площадь: S = ', p * sqr(R))
end;
2: begin{Здесь дано D. Находим R, L и S: }
writeln(' радиус: R = ', D / 2);
writeln(' длина: L = ', p * D);
writeln(' площадь: S = ', p * sqr(D / 2))
end;
3: begin{Здесь дано L. Находим R, D и S: }
writeln(' радиус: R = ', L / p / 2);
writeln(' диаметр: D = ', L / p);
writeln(' площадь: S = ', sqr(L) / p / 4 )
end;
4: begin{Здесь дано S. Находим R, D и L: }
writeln(' радиус: R = ', sqrt(S / p):7:4);
writeln(' диаметр: D = ', 2 * sqrt(S / p):7:4);
writeln(' длина: L = ', 2 * sqrt(p * S):7:4)
end
end
end.