Задача к ЕГЭ по информатике на тему «прочие прототипы» №7

В электронной таблице в файле 9.xlsx приведена ведомость расходов и доходов физических лиц. Слева перечислены фамилии. Для каждого лица в первой строке указана сумма доходов за период, во второй – сумма расходов. Найдите двух людей – с наибольшей разницей доходов и расходов за весь период. Первого – с наибольшей прибылью, второго – с наибольшим долгом. В качестве ответа приведите два целых положительных числа – прибыль первого и долг второго. Ответ записывайте без пробелов и разделителей.

Excel

В новом столбце N напротив первой фамилии напишем формулу:

=СУММ(B2:M2)-СУММ(B3:M3)

Так мы получим разницу между расходами и доходами. Аналогичные формулы напишем напротив каждой фамилии.

Теперь, чтобы узнать максимальный доход, нужно написать:

=МАКС(N1:N31)

Получим, 71879.

А чтобы узнать максимальный долг, нужно написать:

=МИН(N1:N31)

Получим, -70609, однако в ответ запишем без минуса.

Ответ: 7187970609

Python

# Открываем нужный файл
f = open(’9.txt’, encoding=’UTF-8’)  # Для считывания русских символов нужно поставить кодировку UTF-8

f.readline()  # Считываем первую строку с номерами столбцов
lines = [line.split() for line in f]  # Считываем остальные строки файла и разделяем все значения ячеек

max_income = 0  # Максимальный доход
max_debt = 0  # Максимальный долг

for i in range(0, len(lines), 2):  # Перебираем доходы и расходы с шагом 2

    income = sum(map(int, lines[i][1:]))  # Сумма доходов (индекс 1, так как по индексу 0 находится фамиилия)
    debt = sum(map(int, lines[i + 1]))  # Сумма расходов
    diff = abs(income - debt)  # Разница между доходами и расходами

    if diff > max_income and income >= debt:  # Если человек получил максимальный доход
        max_income = diff
    if diff > max_debt and income < debt:  # Если человек получил максимальный долг
        max_debt = diff

print(max_income, max_debt, sep=’’)  # Выводим ответ в нужном формате

Ответ: 7187970609
Оцените статью
Я решу все!