РУҚА
24

Ответ: Исправление программы поиска максимума

ЕГЭ · Информатика · Задание 24 · Основы программирования
ПовышеннаяФИПИDDFB91Развёрнутое решение≈ 10 минут
Что должно получиться

1) При вводе 2 9 4 3 программа выведет 2 и 3. 2) Например, последовательность 2 9 4 1: программа выведет 1 и 9, что является правильным ответом. 3) Ошибочная строка `if x < maximum:`; исправленная строка `if x > maximum:`.

У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.

Условие

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

Python
1n = 4
2count = 0
3maximum = 999
4for i in range(1, n+1):
5    x = int(input())
6    if x % 3 == 0:
7        count += 1
8        if x < maximum:
9            maximum = x
10if count > 0:
11    print(count)
12    print(maximum)
13else:
14    print("NO")
Открыть задачу и решить самому

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

Считать, что программа выводит максимальное число, не проследив изменение переменной maximum.

Назвать ошибкой начальное значение maximum = 999: оно корректно, поскольку максимальное число, делящееся на 3, среди чисел от 0 до 1000 равно 999.

Привести последовательность без чисел, делящихся на 3, хотя по условию такой пример должен содержать хотя бы одно такое число.

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

Откуда взялся этот ответРазбор разложен на 6 шагов: видно каждое преобразование и где теряется балл.
Открыть решение

Ответ к заданию 24 ЕГЭ, информатика

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

Задача из темы «Основы программирования»: в ней 160 задач — у каждой есть ответ и разбор по шагам. Регистрация не нужна.