Определить максимальную и минимальную цифры числа - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Задание: Дано максимальное число, определить его максимальную и минимальную цифры,используя подпрограммы для нахождения максимальной и минимальной цефры некоторого натурального числа. Есть обычное решение:
program min_max
var a,b,max,min:integer;
Begin
    write('Vvedite chislo a: ');
    readln(a);
    max:=-10;
    min:=10;
    While a<>0 do
     Begin
      b:=a mod 10;
      if  b>max then max:=b;
      if  b<min then min:=b;
      a:=a div 10;
     End;
    writeln('Max= ',max);
    writeln('Min= ',min);
End.
Надо переделать это решение через function либо через procedure)

Решение задачи: «Определить максимальную и минимальную цифры числа»

textual
Листинг программы
function MinDigit(a: Longint): Integer;
var d, r: Integer;
begin
  a:=Abs(a); r:=9;
  repeat
    d:=a mod 10; a:=a div 10;
    if r>d then r:=d;
  until a=0;
  MinDigit:=r;
end;
function MaxDigit(a: Longint): Integer;
var d, r: Integer;
begin
  a:=Abs(a); r:=0;
  repeat
    d:=a mod 10; a:=a div 10;
    if r<d then r:=d;
  until a=0;
  MaxDigit:=r;
end;
var n: Integer;
begin
  Write('Число: '); ReadLn(n);
  WriteLn('Цифры: min: ',MinDigit(n),' max: ',MaxDigit(n));
end.

Объяснение кода листинга программы

  1. Функция MinDigit принимает число типа Longint и возвращает тип Integer.
  2. Переменная d инициализируется значением остатка от деления числа на 10.
  3. Переменная r инициализируется значением 9.
  4. В цикле повторяется:
    • Вычисляется остаток от деления числа на 10 (переменная d).
    • Число делится на 10 (без остатка).
    • Если значение переменной r больше значения переменной d, то значение переменной r обновляется значением переменной d.
  5. Цикл повторяется пока число не станет равным 0.
  6. Значение переменной r возвращается как минимальная цифра числа.
  7. Функция MaxDigit принимает число типа Longint и возвращает тип Integer.
  8. Переменная d инициализируется значением остатка от деления числа на 10.
  9. Переменная r инициализируется значением 0.
  10. В цикле повторяется:
    • Вычисляется остаток от деления числа на 10 (переменная d).
    • Число делится на 10 (без остатка).
    • Если значение переменной r меньше значения переменной d, то значение переменной r обновляется значением переменной d.
  11. Цикл повторяется пока число не станет равным 0.
  12. Значение переменной r возвращается как максимальная цифра числа.
  13. Переменная n запрашивается у пользователя.
  14. Выводится сообщение с минимальной и максимальной цифрами числа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы