var 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.Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.