Сформулировать условие , которую решает данная программа. var n: integer; mi, ma: 0..9; begin write ('введите натуральное число: '); readln (n); mi: =9; ma: =0; while n< > 0 do begin if n mod 10 < mi then mi: = n mod 10; if n mod 10 > ma then ma: = n mod 10; n : = n div 10 end; writeln('среднее : ', sqrt(ma*mi)); end.
n: integer;
min, max: 0..9;
begin
Write('введите натуральное число: ');
Readln(n);
{инициализация начальных значений минимума и максимума}
min := 9;
max := 0;
{разбиение числа на отдельные цифры и поиск их минимума и максимума}
while n <> 0 do
begin
if n mod 10 < min then min := n mod 10;
if n mod 10 > max then max := n mod 10;
n := n div 10
end;
{Вычисление и вывод среднего геометрического минимума и максимума}
writeln('Среднее геометрическое: ', sqrt(max * min));
end.
Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.