Определить максимальную и минимальную цифры числа - 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
запрашивается у пользователя. - Выводится сообщение с минимальной и максимальной цифрами числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д