РУҚА
24

Шешімі: Іздеу минимальной цифры

ЕГЭ · Информатика · Тапсырма 24 · Алгоритмдер және орындаушылар
КүрделіФИПИE0EDF1Толық шешім≈ 10 минутТалдау 6 қадам
Условие

На обработку поступает натуральное число, не превышающее $10^9$. Требуется вывести минимальную цифру числа, большую 3. Если цифр, больших 3, нет, необходимо вывести «NO». Программист написал программу неправильно. Для анализа используйте приведённую программу на любом одном из представленных языков программирования.

Последовательно определите результат работы программы при вводе числа 128, приведите пример трёхзначного числа, при котором программа выдаёт верный ответ, а затем найдите все ошибки. Для каждой ошибки укажите строку с ошибкой и её исправленный вариант. Каждая ошибка затрагивает только одну строку.

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешімін қадамдап көрсету

6 қадам
1

Рассмотрим работу программы при вводе числа 128. Сначала minDigit получает значение 9.

2

Из числа 128 последовательно извлекаются цифры 8, 2 и 1. Цифра 8 больше 3 и меньше minDigit, но программа ошибочно присваивает значение minDigit переменной digit. Значение minDigit остаётся равным 9.

3

Для цифр 2 и 1 условие digit > 3 не выполняется. В конце проверка minDigit <= 9 истинна, поэтому программа выводит 9.

4

Пример трёхзначного числа, для которого программа выдаёт верный ответ, — 999. Минимальная цифра, большая 3, равна 9, и программа также выводит 9.

5

Первая ошибка состоит в неверном начальном значении minDigit. Оно должно быть больше любой цифры, чтобы первая подходящая цифра могла заменить его. В программе на Python строку minDigit = 9 нужно заменить на minDigit = 10.

Вторая ошибка состоит в присваивании значения не той переменной. При обнаружении меньшей подходящей цифры нужно обновлять minDigit. Строку digit = minDigit нужно заменить на minDigit = digit.

Жауап

1) При вводе 128 программа выводит 9. 2) Например, число 999: правильный ответ и вывод программы — 9. 3) Для Python исправления: minDigit = 9 заменить на minDigit = 10; digit = minDigit заменить на minDigit = digit.

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Указывать 2 как результат для числа 128, не учитывая условие digit > 3.

Исправлять только присваивание digit = minDigit и не исправлять начальное значение minDigit.

Предлагать полностью переписать программу вместо исправления отдельных строк.

Считать строку if minDigit <= 9 ошибочной, хотя после правильной инициализации minDigit = 10 она работает корректно.

Закрепить приёмВ теме «Алгоритмдер және орындаушылар» ещё 431 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 24 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 6 шагов: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Алгоритмдер және орындаушылар»: в ней 432 задачи, и у каждой есть такой же разбор. Тіркеу қажет емес.