Ответ: Исправление программы обработки чисел
1) Программа выведет 2 и 4. 2) Например, последовательность 1 1 1 4: правильный ответ — 1 и 4, и программа выведет то же самое. 3) Исправления: sum = sum + i заменить на sum = sum + x; if n > 0: заменить на if count > 0:.
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество делящихся нацело на 4 чисел в исходной последовательности и сумму таких чисел. Если делящихся нацело на 4 чисел нет, требуется на экран вывести «NO». Известно, что вводимые числа не превышают 1000. Программист написал программу неправильно. Ниже приведена написанная им программа на языке Python.
Последовательно выполните следующие действия:
1. Напишите, что выведет эта программа при вводе последовательности: 20 93 40 39.
2. Приведите пример такой последовательности, содержащей хотя бы одно делящееся нацело на 4 число, что при её вводе приведённая программа, несмотря на ошибки, выведет правильный ответ.
3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки выпишите строку, в которой сделана ошибка, и приведите правильный вариант этой строки. Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно. Достаточно указать ошибки и способ их исправления для языка Python. 0 делится на любое натуральное число.
1n = 4 2count = 0 3sum = 0 4for i in range(1, n+1): 5 x = int(input()) 6 if x % 4 == 0: 7 count += 1 8 sum = sum + i 9if n > 0: 10 print(count) 11 print(sum) 12else: 13 print("NO")
Где здесь ошибаются
Считать, что программа складывает значения чисел, хотя она складывает их индексы.
Исправлять условие на if n == 0:, не учитывая структуру ветвления.
Приводить пример последовательности без чисел, делящихся на 4.
Исправлять больше двух строк или переписывать программу полностью.