РУҚА
24

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

ЕГЭ · Информатика · Тапсырма 24 · Бағдарламалау негіздері
ЖоғарыФИПИF5E8C8Толық шешім≈ 15 минутТалдау 5 қадам
Условие

На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную цифру числа, кратную 4. Если в числе нет цифр, кратных 4, требуется вывести «NO».

Напоминание: 0 делится на любое натуральное число.

Ниже приведён вариант программы на языке Python:

```python
N = int(input())
minDigit = N % 10
while N > 0:
digit = N % 10
if digit % 4 == 0:
if digit < minDigit:
minDigit = digit
N = N // 10
if minDigit == 0:
print("NO")
else:
print(minDigit)
```

Последовательно выполните следующие действия:
1. Определите, что выведет программа при вводе числа 123.
2. Приведите пример трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в программе. Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки укажите ошибочную строку и её правильный вариант. Достаточно указать ошибки и способы их исправления для языка Python. Исправление каждой ошибки должно затрагивать только строку, в которой она находится.

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

Шешім по шагам

5 қадам
1

При вводе 123 переменная minDigit изначально получает значение последней цифры: 3. Далее программа последовательно рассматривает цифры 3, 2 и 1. Ни одна из них не делится на 4, поэтому minDigit не изменяется.

$$minDigit = 3$$
2

После завершения цикла программа проверяет условие minDigit == 0. Оно ложно, поэтому на экран выводится число 3.

$$3 \ne 0 \Rightarrow \text{вывод } 3$$
3

Пример трёхзначного числа, для которого программа выдаёт верный ответ, — 124. Его цифры, кратные 4, — только 4, поэтому правильный ответ равен 4. Программа также выводит 4.

4

Ошибка 1: начальное значение minDigit берётся как последняя цифра числа. Если последняя цифра не кратна 4, она может ошибочно остаться ответом. Начальное значение следует заменить на 10 — число, большее любой цифры.

$$minDigit = 10$$

Ошибка 2: значение 0 ошибочно трактуется как отсутствие подходящей цифры, хотя 0 делится на 4. После инициализации minDigit значением 10 признаком отсутствия подходящей цифры должно быть значение 10.

$$minDigit == 10 \Rightarrow \text{вывод } \text{NO}$$
Жауап

1) 3. 2) Например, 124. 3) Исправления в Python: minDigit = 10; if minDigit == 10:

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

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

Считать, что 0 не является цифрой, кратной 4.

Предложить заменить несколько строк одной новой программой.

Не исправить условие вывода NO после изменения начального значения minDigit.

Указать число 123 как пример корректной работы программы.

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

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

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

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