Задание №4363. Файл, необходимый для выполнения задания: ссылка для скачивания. Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия: – в строке есть два числа, каждое из которых повторяется дважды, остальные три числа различны; – среднее арифметическое всех повторяющихся чисел строки меньше среднего арифметического всех её чисел. В ответе запишите только число.


Задание №4363.
Обработка числовой информации в электронных таблицах. ЕГЭ по информатике

Файл, необходимый для выполнения задания: ссылка для скачивания.

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

– в строке есть два числа, каждое из которых повторяется дважды, остальные три числа различны;

– среднее арифметическое всех повторяющихся чисел строки меньше среднего арифметического всех её чисел.

В ответе запишите только число.

Пояснение:
Приведем решение данного задания на языке программирования Python. Для этого необходимо скопировать содержимое Excel файла в текстовый документ с расширением .txt.

count = 0

with open('input.txt') as numbers:
    numbers = numbers.read().splitlines()
    for line in numbers:
        line = [int(i) for i in line.split('\t')] # список, в котором хранятся числа строки
        repetitions = [line.count(line[i]) for i in range(len(line))] # количество повторений каждого числа в строке
        
        mean_line = sum(line) / len(line) # среднее всех чисел в строке

        try:
            mean_repitions = sum(line[i] for i in range(len(line)) if repetitions[i] > 1) / len([i for i in repetitions if i > 1]) # среднее повторяющихся чисел в строке
        except ZeroDivisionError:
            continue

        if sum(repetitions) == 11 and mean_repitions < mean_line:
            count += 1
        
print(count)

Пример выполнения данного задания в Microsoft Excel: ссылка для скачивания.

Для начала подсчитаем количество повторений каждого из семи чисел в строке (сколько раз повторяется первое число в строке, сколько раз повторяется второе число в строке и так далее).

Для этого воспользуемся функцией СЧЁТЕСЛИ, подсчитывающей количество ячеек выделенного диапазона, соответствующих заданному условию:

=СЧЁТЕСЛИ($A1:$G1; A1)
=СЧЁТЕСЛИ($A1:$G1; B1)
=СЧЁТЕСЛИ($A1:$G1; C1)
=СЧЁТЕСЛИ($A1:$G1; D1)
=СЧЁТЕСЛИ($A1:$G1; E1)
=СЧЁТЕСЛИ($A1:$G1; F1)
=СЧЁТЕСЛИ($A1:$G1; G1)


В первом аргументе функции указываем выбранный диапазон ячеек для подсчета (в нашем случае это значения столбцов A1:G1).

Во втором аргументе функции указываем условие, которое требуется применить (одно из семи чисел в строке).

Далее считаем среднее арифметическое всех чисел в каждой строке, используя функцию СРЗНАЧ:

=СРЗНАЧ(A1:G1)

Для подсчета среднего арифметического повторяющихся чисел воспользуемся функцией СРЗНАЧЕСЛИ, вычисляющую среднее значение всех чисел в диапазоне ячеек, которые соответствуют заданному условию:

СРЗНАЧЕСЛИ(H1:N1; ">1"; A1:G1)

В первом аргументе функции указываем диапазон ячеек, к которому применяется условие (в нашем случае это значения столбцов H1:N1, в которых хранится количество повторений каждого из чисел в строке).

Во втором аргументе функции указываем условие, которое требуется применить (">1").

Поскольку есть строки, в которых числа не повторяются и, следовательно, в которых нет необходимости рассчитывать среднее арифметическое повторяющихся чисел, воспользуемся функцией ЕСЛИОШИБКА.

=ЕСЛИОШИБКА(СРЗНАЧЕСЛИ(H1:N1; ">1"; A1:G1); 0)

В строках, где нет повторяющихся чисел вместо ошибки будет выводиться 0, указанный во втором аргументе функции.

Наконец, проверим каждую строку на выполнение двух условий, перечисленных в задании, используя логические функции ЕСЛИ и И:

=ЕСЛИ(И(СУММ(H1:N1)=11; O1>P1); 1; 0)

В первом аргументе функции ЕСЛИ указываем логическое выражение, которое необходимо проверить (в нашем случае: "И(СУММ(H1:N1)=11").

Во втором аргументе функции ЕСЛИ указываем значение, которое необходимо вывести, если логическое выражение из первого аргумента истинное, а в третьем — если ложное.

Функция И вернет истину, если все ее аргументы истинны.

В первом аргументе функции И проверяем, что в строке два числа повторяются дважды, а остальные три — различные (только в этом случае сумма столбцов H1:N1 будет равна 11).

Во втором аргументе функции И проверяем, что среднее арифметическое всех повторяющихся чисел строки меньше среднего арифметического всех ее чисел.

Таким образом, 83 строки таблицы соответствуют указанным в задании условиям.

Показать ответ

Источник: ФИПИ. Открытый банк тестовых заданий
Сообщить об ошибке


Тест с похожими заданиями