Тип 3
В прошлых двух статьях мы успешно освоили решение заданий 9 ЕГЭ по информатике первого и второго типов, научились работать со всеми необходимыми функциями LibreOffice Calc и на практике разобрали основные алгоритмы решения этих заданий. Теперь настало время перейти к последнему типу 9 заданий.
В заданиях третьего типа нам предстоит не просто определить наименьшую или наибольшую строку в таблице, в которой выполняются оба условия, но и произвести какие-либо операции с числами в этой строке. Обычно требуется просто подсчитать сумму чисел в первой или последней строке таблицы, удовлетворяющей условиям.
Но, как и с заданиями второго типа, это нововведение на нас не сильно повлияет: всего лишь в конце добавится еще одно действие к уже знакомому нам алгоритму. Не будем тянуть и приступим к практике!
Пример 1
Начнём мы с такого задания:
«Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите сумму чисел в строке таблицы с наименьшим номером, содержащей числа, для которых выполнены оба условия:
– в строке все числа расположены в порядке убывания;
– среднее арифметическое минимального и максимального чисел строки больше среднего арифметического оставшихся её чисел.
В ответе запишите только число.»
Начинаем стандартно: откроем приложенный к заданию файл в любимом редакторе электронных таблиц.
Отлично, имеем по 7 чисел в строке. Теперь нужно определить, что все эти числа расположены в порядке убывания. Что это значит?
А то, что первое число должно быть больше второго, второе – третьего и так далее. Решается это всего одной формулой – сочетанием неравенств внутри функции И(). Выглядит эта формула так: «=И(A1>B1;B1>C1;C1>D1;D1>E1;E1>F1;F1>G1)».
На изображении видим, что в порядке убывания расположены числа во второй и десятой строках. Действительно, 188 больше 133, 133 – 114 и так далее. Значит, наша формула верна, идём дальше.
Сразу стоит отметить, что это задание можно решить буквально за три действия. Но давайте сначала подробно распишем решение со всеми необходимыми вычислениями, а затем сравним с компактным и быстрым решением.
Итак, далее находим максимальное и минимальное число в строке с помощью функций МАКС() и МИН(). Это мы уже проделывали в прошлой статье, так что останавливаться подробно не будем.
Теперь с помощью СРЗНАЧ() ищем среднее арифметическое только что найденных максимального и минимального чисел: «=СРЗНАЧ(I1:J1)».
Всё той же функцией находим среднее арифметическое оставшихся чисел. Опять же, здесь можно пойти разными путями. Мы же просто сложим все числа в строке, отнимем найденные максимальное и минимальное и поделим на количество оставшихся чисел в строке, а именно: 5 (было 7, без максимального и минимального осталось 5 чисел). Формула у нас будет такая: «=(СУММ(A1:G1)-I1-J1)/5».
Теперь сформируем столбец для результатов второго условия: значение столбца K со средним арифметическим максимального и минимального чисел должно быть больше значения столбца L со средним арифметическим оставшихся. Формула максимально простая: «=K1>L1».
Почти закончили с решением. Осталось лишь сформировать итоговый столбец, как мы обычно это делаем: через функцию ЕСЛИ() проверить выполнение обоих условий, если они выполняются – поставить 1 в ячейку, если нет – 0. Для этого будем использовать следующую формулу: «=ЕСЛИ(И(H1;M1);1;0)».
Дело за малым: ищем первую строку с единицей в столбце N и вычисляем сумму чисел в этой строке (от A до G). У нас такой является вторая строка, а сумма чисел в ней равна 652.
Как и договаривались, теперь рассмотрим второй, более короткий способ решения. Вновь перечитаем первое условие: «числа расположены в порядке убывания». То есть если оно выполняется, то гарантируется, что первое число будет максимальным, а последнее – минимальным.
Тогда нам нет смысла отдельно вычислять эти числа, да и оставшиеся найти несложно: это все числа со второго до предпоследнего (шестого) включительно.
Что же, среднее арифметическое будем искать той же функцией СРЗНАЧ(), только теперь «в лоб» укажем диапазоны: максимальное и минимальное число – это ячейки A1 и G1, а оставшиеся – диапазон от B1 до F1. В виде формулы это записывается так: «=СРЗНАЧ(A1;G1)>СРЗНАЧ(B1:F1)».
И сразу же в функции ЕСЛИ() можем не выводить 1 или 0, а вычислять сумму чисел строки (в случае истинности) или по-прежнему выводить 0. То есть в столбце мы сразу получим сумму чисел строки, которая удовлетворяет обоим условиям. Выглядит это следующим образом: «=ЕСЛИ(И(H1;I1);СУММ(A1:G1);0)».
Готово, всего за три столбца мы получили ровно такой же ответ: 652.
Пример 2
Для закрепления решим задание с такой формулировкой:
«Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите сумму чисел в строке с наибольшим номером, для которой выполнены оба условия:
– в строке есть одно число, которое повторяется трижды, остальные четыре числа различны;
– среднее арифметическое неповторяющихся чисел строки не больше повторяющегося числа.
В ответе запишите только число.»
Скачиваем файл и открываем его в редакторе электронных таблиц.
В этом задании нам предстоит отдельно работать с повторяющимися и неповторяющимися числами. Такую задачу разделения чисел на две группы мы уже решали ранее, в первом примере второй статьи. Сейчас пойдём тем же путём: «отфильтруем» только повторяющиеся числа всё той же формулой: «=ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)>1;A1;"")»
Нам нужны все повторяющиеся числа, а не только те, которые повторяются ровно 3 раза! Теперь мы легко сможем определить, что в строке только одно число повторяется ровно 3 раза. Для этого достаточно будет применить функцию СЧЁТ() к диапазону столбцов от H до N и потребовать равенства результата функции трём: «=СЧЁТ(H1:N1)=3».
Обратите внимание на 8 строку: хоть там и повторяется число 122 раза, но все остальные числа не различны – 118 повторяется дважды. В таком случае, если бы мы предыдущую формулу записали так: «=ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)=3;A1;"")» (вместо «>1» поставили «=3»), то 8 строка удовлетворяла бы первому условию, что не соответствует действительности.
Идём дальше: теперь сформируем 7 столбцов, в которые поместим только неповторяющиеся числа. Воспользуемся этой формулой: «=ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)=1;A1;"")».
Теперь мы готовы вычислить среднее арифметическое повторяющихся чисел: применим к диапазону от P до V функцию СРЗНАЧ(): «=СРЗНАЧ(P1:V1)».
И вернёмся к повторяющимся числам. Нужно из имеющегося у нас диапазона получить только одно число. Есть несколько способов это сделать, но самый простой из них – вычислить сумму всех чисел в строке от H до N и разделить на 3, у нас же число должно повторяться ровно 3 раза.
В таком случае, например, для второй строки это сработает так: (194 + 194 + 194) / 3 = 194. То есть из трёх одинаковых чисел мы получили только одно. Выразим нашу идею в виде формулы: «=СУММ(H1:N1)/3».
Все приготовления завершены и можем формировать результирующий столбец для второго условия. Для этого достаточно потребовать, что значение из столбца W меньше или равно (не больше) значения из X: «=W1<=X1».
И мы на финишной прямой. Воспользуемся все той же функцией ЕСЛИ(), но теперь сразу будем считать сумму чисел в подходящих строках: «=ЕСЛИ(И(O1;Y1);СУММ(A1:G1);0)».
Что же, нам нужна строка с наибольшим номером, то есть – последняя в таблице, значение в столбце Z которой не равно 0. Давайте используем автофильтр и скроем строки с нулями.
Осталось лишь опуститься в конец таблицы, в последней строке и будет искомое число. Чтобы быстро перейти к последней строке таблицы, воспользуемся сочетанием клавиш «Ctrl + Стрелка вниз».
Видим, что в строке 41990 и находится ответ на это задание – число 901.
Больше заданий данного типа с подробным решением вы можете найти в нашем тренажёре.
<<< Предыдущая статья Первая статья >>>