Сформулировать условие задачи, которую решает данная программа.           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.  

Ответы

Ответ дал: archery
0
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.

Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.

Вас заинтересует