Ответ: Исправление программы поиска цифры
1) При вводе 125 программа выводит 5. 2) Например, при вводе 126 программа выдаёт правильный ответ 6. 3) Для Паскаля: minDigit := 9; вместо if minDigit = 0 then записать if minDigit = 9 then. Это исправляет начальную инициализацию и проверку отсутствия подходящей цифры.
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную цифру числа, кратную 6. Если в числе нет цифр, кратных 6, требуется вывести «NO». Известно, что $0$ делится на любое натуральное число. Программист написал программу неправильно. Приведены варианты одной и той же программы на пяти языках программирования.
Последовательно определите результат работы программы при вводе числа 125, приведите пример трёхзначного числа, при вводе которого программа выдаёт верный ответ, а затем найдите все ошибки в программе. Для каждой ошибки укажите строку с ошибкой и её исправленный вариант. Достаточно выполнить исправления для одного языка программирования. Каждая ошибка затрагивает только одну строку и исправляется без изменения других строк.
Где здесь ошибаются
Считать, что для числа 125 программа выводит NO, хотя minDigit изначально получает значение 5.
Предложить число 120 как пример корректной работы исходной программы: правильный ответ для него равен 0, а программа выводит NO.
Исправить только начальное значение minDigit и не изменить условие проверки minDigit = 0.
Использовать значение 0 как признак отсутствия найденной цифры, хотя 0 сама является цифрой, кратной 6.