Определить, какая цифра числа больше | Язык Паскаль

Определить, какая цифра числа больше

Дано целое число, состоящее из разных цифр. Определить, какая из цифр заданного числа больше, т. е. найти наибольшую цифру числа.

Переменные: n - задаваемое число, max - максимальная цифра числа.

Пусть может вводится как положительное, так и отрицательное число. Так как знак числа в данной задаче никакого значения не имеет, то сразу избавимся от него.

В случае, когда пользователь вводит число 0, это значение и будет единственной и максимальной цифрой. С другой стороны, переменной max надо что-то присвоить до выполнения цикла поиска самой большой цифры. Присвоим ей 0, а цикл будем выполнять только при условии, что n больше 0.

Цикл выполняется до тех пор, пока n больше 0. На каждой итерации цикла извлекается последняя цифра (операцией нахождения остатка от деления на 10) и сравнивается со значением max. Если она больше, то присваивается max. Затем надо избавиться от этой последней цифры в числе n, что осуществляется с помощью деления нацело на 10.

var
    n: longint;
    max: byte;

begin
    readln(n);

    if n < 0 then 
        n := abs(n);

    max := 0;

    while n > 0 do begin
        if n mod 10 > max then
            max := n mod 10;
        n := n div 10;
    end;
    
    writeln(max);
end.