Найти в Дзене

Алгоритм решения задания 9 ЕГЭ по информатике. Часть 3

В прошлых двух статьях мы успешно освоили решение заданий 9 ЕГЭ по информатике первого и второго типов, научились работать со всеми необходимыми функциями LibreOffice Calc и на практике разобрали основные алгоритмы решения этих заданий. Теперь настало время перейти к последнему типу 9 заданий. В заданиях третьего типа нам предстоит не просто определить наименьшую или наибольшую строку в таблице, в которой выполняются оба условия, но и произвести какие-либо операции с числами в этой строке. Обычно требуется просто подсчитать сумму чисел в первой или последней строке таблицы, удовлетворяющей условиям. Но, как и с заданиями второго типа, это нововведение на нас не сильно повлияет: всего лишь в конце добавится еще одно действие к уже знакомому нам алгоритму. Не будем тянуть и приступим к практике! Начнём мы с такого задания: Задание 906 «Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите сумму чисел в строке таблицы с наименьшим номером, содерж
Оглавление

Тип 3

В прошлых двух статьях мы успешно освоили решение заданий 9 ЕГЭ по информатике первого и второго типов, научились работать со всеми необходимыми функциями LibreOffice Calc и на практике разобрали основные алгоритмы решения этих заданий. Теперь настало время перейти к последнему типу 9 заданий.

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

Но, как и с заданиями второго типа, это нововведение на нас не сильно повлияет: всего лишь в конце добавится еще одно действие к уже знакомому нам алгоритму. Не будем тянуть и приступим к практике!

Пример 1

Начнём мы с такого задания:

Задание 906

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

– в строке все числа расположены в порядке убывания;
– среднее арифметическое минимального и максимального чисел строки больше среднего арифметического оставшихся её чисел.

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

Начинаем стандартно: откроем приложенный к заданию файл в любимом редакторе электронных таблиц.

-2

Отлично, имеем по 7 чисел в строке. Теперь нужно определить, что все эти числа расположены в порядке убывания. Что это значит?

А то, что первое число должно быть больше второго, второе – третьего и так далее. Решается это всего одной формулой – сочетанием неравенств внутри функции И(). Выглядит эта формула так: «=И(A1>B1;B1>C1;C1>D1;D1>E1;E1>F1;F1>G1)».

-3

На изображении видим, что в порядке убывания расположены числа во второй и десятой строках. Действительно, 188 больше 133, 133 – 114 и так далее. Значит, наша формула верна, идём дальше.

Сразу стоит отметить, что это задание можно решить буквально за три действия. Но давайте сначала подробно распишем решение со всеми необходимыми вычислениями, а затем сравним с компактным и быстрым решением.

Итак, далее находим максимальное и минимальное число в строке с помощью функций МАКС() и МИН(). Это мы уже проделывали в прошлой статье, так что останавливаться подробно не будем.

-4

Теперь с помощью СРЗНАЧ() ищем среднее арифметическое только что найденных максимального и минимального чисел: «=СРЗНАЧ(I1:J1)».

-5

Всё той же функцией находим среднее арифметическое оставшихся чисел. Опять же, здесь можно пойти разными путями. Мы же просто сложим все числа в строке, отнимем найденные максимальное и минимальное и поделим на количество оставшихся чисел в строке, а именно: 5 (было 7, без максимального и минимального осталось 5 чисел). Формула у нас будет такая: «=(СУММ(A1:G1)-I1-J1)/5».

-6

Теперь сформируем столбец для результатов второго условия: значение столбца K со средним арифметическим максимального и минимального чисел должно быть больше значения столбца L со средним арифметическим оставшихся. Формула максимально простая: «=K1>L1».

-7

Почти закончили с решением. Осталось лишь сформировать итоговый столбец, как мы обычно это делаем: через функцию ЕСЛИ() проверить выполнение обоих условий, если они выполняются – поставить 1 в ячейку, если нет – 0. Для этого будем использовать следующую формулу: «=ЕСЛИ(И(H1;M1);1;0)».

-8

Дело за малым: ищем первую строку с единицей в столбце N и вычисляем сумму чисел в этой строке (от A до G). У нас такой является вторая строка, а сумма чисел в ней равна 652.

-9

Как и договаривались, теперь рассмотрим второй, более короткий способ решения. Вновь перечитаем первое условие: «числа расположены в порядке убывания». То есть если оно выполняется, то гарантируется, что первое число будет максимальным, а последнее – минимальным.

Тогда нам нет смысла отдельно вычислять эти числа, да и оставшиеся найти несложно: это все числа со второго до предпоследнего (шестого) включительно.

Что же, среднее арифметическое будем искать той же функцией СРЗНАЧ(), только теперь «в лоб» укажем диапазоны: максимальное и минимальное число – это ячейки A1 и G1, а оставшиеся – диапазон от B1 до F1. В виде формулы это записывается так: «=СРЗНАЧ(A1;G1)>СРЗНАЧ(B1:F1)».

И сразу же в функции ЕСЛИ() можем не выводить 1 или 0, а вычислять сумму чисел строки (в случае истинности) или по-прежнему выводить 0. То есть в столбце мы сразу получим сумму чисел строки, которая удовлетворяет обоим условиям. Выглядит это следующим образом: «=ЕСЛИ(И(H1;I1);СУММ(A1:G1);0)».

-10

Готово, всего за три столбца мы получили ровно такой же ответ: 652.

Пример 2

Для закрепления решим задание с такой формулировкой:

Задание 914

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

– в строке есть одно число, которое повторяется трижды, остальные четыре числа различны;
– среднее арифметическое неповторяющихся чисел строки не больше повторяющегося числа.

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

Скачиваем файл и открываем его в редакторе электронных таблиц.

-11

В этом задании нам предстоит отдельно работать с повторяющимися и неповторяющимися числами. Такую задачу разделения чисел на две группы мы уже решали ранее, в первом примере второй статьи. Сейчас пойдём тем же путём: «отфильтруем» только повторяющиеся числа всё той же формулой: «=ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)>1;A1;"")»

-12

Нам нужны все повторяющиеся числа, а не только те, которые повторяются ровно 3 раза! Теперь мы легко сможем определить, что в строке только одно число повторяется ровно 3 раза. Для этого достаточно будет применить функцию СЧЁТ() к диапазону столбцов от H до N и потребовать равенства результата функции трём: «=СЧЁТ(H1:N1)=3».

-13

Обратите внимание на 8 строку: хоть там и повторяется число 122 раза, но все остальные числа не различны – 118 повторяется дважды. В таком случае, если бы мы предыдущую формулу записали так: «=ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)=3;A1;"")» (вместо «>1» поставили «=3»), то 8 строка удовлетворяла бы первому условию, что не соответствует действительности.

Идём дальше: теперь сформируем 7 столбцов, в которые поместим только неповторяющиеся числа. Воспользуемся этой формулой: «=ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)=1;A1;"")».

-14

Теперь мы готовы вычислить среднее арифметическое повторяющихся чисел: применим к диапазону от P до V функцию СРЗНАЧ(): «=СРЗНАЧ(P1:V1)».

-15

И вернёмся к повторяющимся числам. Нужно из имеющегося у нас диапазона получить только одно число. Есть несколько способов это сделать, но самый простой из них – вычислить сумму всех чисел в строке от H до N и разделить на 3, у нас же число должно повторяться ровно 3 раза.

В таком случае, например, для второй строки это сработает так: (194 + 194 + 194) / 3 = 194. То есть из трёх одинаковых чисел мы получили только одно. Выразим нашу идею в виде формулы: «=СУММ(H1:N1)/3».

-16

Все приготовления завершены и можем формировать результирующий столбец для второго условия. Для этого достаточно потребовать, что значение из столбца W меньше или равно (не больше) значения из X: «=W1<=X1».

-17

И мы на финишной прямой. Воспользуемся все той же функцией ЕСЛИ(), но теперь сразу будем считать сумму чисел в подходящих строках: «=ЕСЛИ(И(O1;Y1);СУММ(A1:G1);0)».

-18

Что же, нам нужна строка с наибольшим номером, то есть – последняя в таблице, значение в столбце Z которой не равно 0. Давайте используем автофильтр и скроем строки с нулями.

-19

Осталось лишь опуститься в конец таблицы, в последней строке и будет искомое число. Чтобы быстро перейти к последней строке таблицы, воспользуемся сочетанием клавиш «Ctrl + Стрелка вниз».

-20

Видим, что в строке 41990 и находится ответ на это задание – число 901.

Больше заданий данного типа с подробным решением вы можете найти в нашем тренажёре.

<<< Предыдущая статья Первая статья >>>