Ответ: Исправление программы поиска цифры
1) При вводе 132 программа выводит 2. 2) Например, число 150. 3) В Python исправить maxDigit = N % 10 на maxDigit = -1 и if maxDigit == 0: на if maxDigit == -1:.
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 5. Если в числе нет цифр, кратных 5, требуется вывести «NO». Программист написал программу неправильно. Программа приведена на языках Бейсик, Python, алгоритмическом языке, Паскаль и Си.
Напоминание: 0 делится на любое натуральное число.
Последовательно выполните следующие действия:
1. Определите, что выведет программа при вводе числа 132.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в программе. Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки укажите строку, в которой она сделана, и приведите правильный вариант этой строки. Достаточно указать ошибки и способы их исправления для одного языка программирования. Требуется найти ошибки в имеющейся программе, а не написать другую программу.
Где здесь ошибаются
Считать, что программа при вводе 132 выводит NO, не проследив начальное присваивание maxDigit = N % 10.
Исправить только проверку maxDigit == 0, но оставить неверную инициализацию последней цифрой числа.
Использовать 0 как признак отсутствия цифры, хотя 0 сама является допустимой цифрой, кратной 5.
Привести полностью новую программу вместо исправления только ошибочных строк.