Определить максимальную и минимальную цифры числа - 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)

Код к задаче: «Определить максимальную и минимальную цифры числа - Free Pascal»

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.

11   голосов, оценка 4.273 из 5


СОХРАНИТЬ ССЫЛКУ