РУҚА
24

Шешімі: Исправление программы обработки цифр

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

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

Последовательно выполните следующие действия: напишите, что выведет программа при вводе числа 748; приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ; найдите все ошибки в программе. Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки выпишите строку, в которой сделана ошибка, и приведите правильный вариант этой строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Требуется найти ошибки в имеющейся программе, а не написать другую программу.

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

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

6 қадам
1

При вводе числа 748 сначала выполняется присваивание sum = N % 10, поэтому sum получает значение 8.

$$sum = 748 \bmod 10 = 8$$
2

В цикле цифры обрабатываются справа налево: 8, 4, 7. При цифре 8 переменная sum получает значение 8, при цифре 4 не изменяется, а при цифре 7 получает значение 7.

$$sum = 7$$
3

Следовательно, программа выводит число 7. Правильная сумма цифр числа 748, больших 5, равна 8 + 7 = 15, поэтому результат работы программы неверен.

$$8 + 7 = 15$$
4

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

5

Первая ошибка: начальное значение суммы задаётся последней цифрой числа. Нужно начинать накопление суммы с нуля.

$$sum = 0$$

Вторая ошибка: при обнаружении цифры, большей 5, прежняя сумма заменяется этой цифрой. Нужно прибавлять цифру к накопленной сумме.

$$sum = sum + digit$$
Жауап

Для 748 программа выведет 7. Пример подходящего трёхзначного числа: 127. Ошибки в Python: строку «sum = N % 10» заменить на «sum = 0», а строку «sum = digit» — на «sum = sum + digit».

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

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

Указать правильную сумму для 748 вместо результата работы ошибочной программы.

Исправить только строку с присваиванием sum = digit и не исправить начальную инициализацию суммы.

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

Привести пример числа, для которого программа случайно выдаёт неверный ответ.

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

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

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

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