Найти max элемент, оканчивающийся на 3, среди элементов последовательности до первого 0 - Pascal

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

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

найти максимальный элемент из числа оканчивающиеся на 3 среди элементов последовательности вводимой с клавиатуры до первого 0

Решение задачи: «Найти max элемент, оканчивающийся на 3, среди элементов последовательности до первого 0»

textual
Листинг программы
var
    curr, max: LongInt;
    flag: Boolean;
begin
    max := -2147483648;
    flag := False;
    repeat
        Write('Введите число. Конец ввода - 0: ');
        ReadLn(curr);
        if (curr <> 0) And (((curr > max) Or (Not flag)) And (curr mod 10 = 3))
        then
        begin
            flag := True;
            max := curr;
        end;
    until (curr = 0);
    if (flag)
    then
        WriteLn('max=', max)
    else
        WriteLn('Не найдено ни одного!');
end.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • 'curr' - для хранения текущего введенного числа
    • 'max' - для хранения максимального числа, оканчивающегося на 3
    • 'flag' - для отслеживания того, было ли введено хотя бы одно число, оканчивающееся на 3
  2. Присваиваются начальные значения переменным:
    • 'max' устанавливается на наименьшее возможное значение для LongInt (-2147483648)
    • 'flag' устанавливается в False, так как пока еще не было введено ни одного числа
  3. Начинается цикл repeat..until, который будет выполняться до тех пор, пока текущее число не станет равным 0
  4. Пользователю предлагается ввести число с помощью сообщения 'Введите число. Конец ввода - 0: '
  5. Введенное число сохраняется в переменной 'curr'
  6. Проверяется условие: если 'curr' не равно 0, и либо 'curr' больше чем 'max', или 'max' принимает начальное значение, и 'curr' оканчивается на 3
  7. Если условие выполняется, то:
    • 'flag' устанавливается в True, т.к. было введено число, оканчивающееся на 3
    • 'max' принимает значение 'curr'
  8. Цикл повторяется для следующего введенного числа
  9. После завершения ввода чисел и выхода из цикла, проверяется условие: если было введено хотя бы одно число, оканчивающееся на 3 (flag = True), то выводится сообщение о максимальном числе, иначе выводится сообщение Не найдено ни одного!

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы