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

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

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

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

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

textual
Листинг программы
  1. function MinDigit(a: Longint): Integer;
  2. var d, r: Integer;
  3. begin
  4.   a:=Abs(a); r:=9;
  5.   repeat
  6.     d:=a mod 10; a:=a div 10;
  7.     if r>d then r:=d;
  8.   until a=0;
  9.   MinDigit:=r;
  10. end;
  11. function MaxDigit(a: Longint): Integer;
  12. var d, r: Integer;
  13. begin
  14.   a:=Abs(a); r:=0;
  15.   repeat
  16.     d:=a mod 10; a:=a div 10;
  17.     if r<d then r:=d;
  18.   until a=0;
  19.   MaxDigit:=r;
  20. end;
  21. var n: Integer;
  22. begin
  23.   Write('Число: '); ReadLn(n);
  24.   WriteLn('Цифры: min: ',MinDigit(n),' max: ',MaxDigit(n));
  25. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы