Определить максимальную и минимальную цифры числа - Free Pascal
Формулировка задачи:
Задание: Дано максимальное число, определить его максимальную и минимальную цифры,используя подпрограммы для нахождения максимальной и минимальной цефры некоторого натурального числа.
Есть обычное решение:
Надо переделать это решение через function либо через procedure)
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.
Решение задачи: «Определить максимальную и минимальную цифры числа»
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.
Объяснение кода листинга программы
- Функция MinDigit принимает число типа Longint и возвращает тип Integer.
- Переменная
d
инициализируется значением остатка от деления числа на 10. - Переменная
r
инициализируется значением 9. - В цикле повторяется:
- Вычисляется остаток от деления числа на 10 (переменная
d
). - Число делится на 10 (без остатка).
- Если значение переменной
r
больше значения переменнойd
, то значение переменнойr
обновляется значением переменнойd
.
- Вычисляется остаток от деления числа на 10 (переменная
- Цикл повторяется пока число не станет равным 0.
- Значение переменной
r
возвращается как минимальная цифра числа. - Функция MaxDigit принимает число типа Longint и возвращает тип Integer.
- Переменная
d
инициализируется значением остатка от деления числа на 10. - Переменная
r
инициализируется значением 0. - В цикле повторяется:
- Вычисляется остаток от деления числа на 10 (переменная
d
). - Число делится на 10 (без остатка).
- Если значение переменной
r
меньше значения переменнойd
, то значение переменнойr
обновляется значением переменнойd
.
- Вычисляется остаток от деления числа на 10 (переменная
- Цикл повторяется пока число не станет равным 0.
- Значение переменной
r
возвращается как максимальная цифра числа. - Переменная
n
запрашивается у пользователя. - Выводится сообщение с минимальной и максимальной цифрами числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д