РУҚА
24

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

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

На обработку поступает последовательность из четырёх неотрицательных целых чисел. Некоторые числа могут быть одинаковыми. Нужно написать программу, которая выводит количество чётных чисел в исходной последовательности и сумму таких чисел. Если чётных чисел нет, требуется вывести «NO». Вводимые числа не превышают 1000. Программист написал программу неправильно. Достаточно указать ошибки и способ их исправления для одного языка программирования.

Последовательно определите результат работы программы для последовательности $20\ 93\ 40\ 39$, приведите пример последовательности, содержащей хотя бы одно чётное число, для которой программа выведет правильный ответ, а затем найдите и исправьте не более двух ошибок в программе на Python. Исправление каждой ошибки должно затрагивать только строку, в которой находится ошибка.

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

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

7 қадам
1

В последовательности $20\ 93\ 40\ 39$ чётными являются числа 20 и 40. Они занимают позиции 1 и 3. Программа увеличивает count два раза, поэтому count становится равным 2.

2

Из-за ошибки программа складывает номера позиций, а не сами чётные числа: $sum = 1 + 3 = 4$. Поэтому она выводит сначала 2, затем 4.

3

Пример последовательности, для которой ошибка сложения не приводит к неправильному результату: $1\ 2\ 1\ 1$. Единственное чётное число равно 2 и стоит на позиции 2. Программа выводит 1 и 2, что совпадает с правильным ответом.

4

Первая ошибка находится в строке `sum = sum + i`: вместо номера позиции нужно прибавлять введённое чётное число.

5

Правильная жол: `sum = sum + x`.

6

Вторая ошибка находится в строке `if sum > 0:`. Проверка суммы неверна, поскольку чётные числа могут быть равны нулю. Например, при наличии числа 0 сумма равна 0, но выводить «NO» нельзя.

Правильная жол: `if count > 0:`. Она проверяет, встретилось ли хотя бы одно чётное число.

Жауап

1) Программа выведет 2 и 4. 2) Например, последовательность 1 2 1 1: правильный ответ — 1 и 2, и программа выведет то же самое. 3) Исправления в Python: `sum = sum + i` заменить на `sum = sum + x`; `if sum > 0:` заменить на `if count > 0:`.

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

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

Складывать нөмір позиций чётных чисел вместо самих чисел.

Считать, что сумма равна нулю только при отсутствии чётных чисел.

Не учитывать, что 0 является чётным числом.

Указывать исправления, изменяющие сразу несколько строк программы.

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

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

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

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