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

Maaaaagic Maaaaagic    1   31.07.2019 11:20    0

Ответы
катейка22 катейка22  28.09.2020 15:21
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.

Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика