Найти в Дзене

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

Задание 9 ЕГЭ по информатике нацелено на проверку умений обрабатывать числовую информацию в электронных таблицах. В таких заданиях вам даётся файл электронной таблицы, представленной строками с несколькими числами. Зачастую требуется найти количество строк такой таблицы, удовлетворяющих заданному условию, наибольший или наименьший номер такой строки или провести какие-либо операции с её числами. В целом, для заданий данного типа ну существует какого-то особого алгоритма решения. Все, что от вас требуется – внимательно прочитать условие и выполнить заданные вычисления для каждой строки таблицы. Решаются такие задания как с помощью редактора электронных таблиц, так и с помощью программирования на Python. Второй способ решения является предпочтительным, так как гарантирует надёжность и скорость выполнения задания. Обладая даже базовыми навыками программирования, решение 9 заданий не должно вызвать никаких трудностей. Теперь поговорим о классификации этих заданий. Помимо распределения на с
Оглавление

О задании

Задание 9 ЕГЭ по информатике нацелено на проверку умений обрабатывать числовую информацию в электронных таблицах. В таких заданиях вам даётся файл электронной таблицы, представленной строками с несколькими числами. Зачастую требуется найти количество строк такой таблицы, удовлетворяющих заданному условию, наибольший или наименьший номер такой строки или провести какие-либо операции с её числами.

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

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

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

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

Задания второго типа требуют от вас найти наибольший или наименьший номер строки, в которой выполняется заданное условие.

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

Но также стоит обратить внимание на количество таких условий. А точнее, сколько именно из них должно выполняться. В самом простом варианте вам может быть дано только одно условие. Например, такое: «Определите количество строк таблицы, в которых сумма наибольшего и наименьшего чисел не больше суммы двух оставшихся».

Но гораздо чаще вам будут попадаться задания с двумя условиями. Причем, от вас могут потребовать как выполнение обоих условий, так и выполнение только одного или хотя бы одного из условий. Если требуется выполнение сразу обоих условий, то для результатов каждого условия придётся применить операцию конъюнкции (логическое И). Тем самым мы потребуем, чтобы оба условия были истинными.

Последние две формулировки – «хотя бы одно» и «только одно» – могут запутать, так что давайте их поясним.

Формулировка «выполняется только одно из условий» означает, что подходящими будут только те строки, в которых одно условие выполняется, а второе при этом не выполняется.

Распишем это утверждение в виде таблицы:

-2

Теперь посмотрите внимательно на таблицу. Что-то она явно напоминает. Есть мы заменим слова «выполняется» и «не выполняется» на логические значения 1 и 0, то получим таблицу истинности для исключающего ИЛИ.

И вторая формулировка «выполняется хотя бы одно из условий». То есть в таком случае, нам достаточно, чтобы любое из условий, или они оба, выполнялись. Единственный случай, при котором мы не будем учитывать строку – когда не выполняется ни одно из условий.

Также распишем это в виде таблицы:

-3

А это уже таблица истинности для логической функции ИЛИ (дизъюнкции).

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

  1. Если требуется выполнение обоих условий – используем конъюнкцию(логическую функцию И)
  2. Если требуется выполнение хотя бы одного условия – используем дизъюнкцию(логическую функцию ИЛИ)
  3. Если требуется выполнение только одного условия – используем логическую функцию исключающее ИЛИ.

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

Алгоритм решения

Сначала давайте рассмотрим общие шаблоны решений для двух самых популярных формулировок условий.

Проверка повторений чисел

Начнём с группы условий, в которых требуется определить сколько раз встречается в строке то или иное число. Иногда нужно проверить, что все разные, иногда – что какие-то встречаются дважды или трижды. В таких случаях помогает функция СЧЁТЕСЛИ(). Подробно эту функцию мы уже разбирали ранее в цикле статей про функции Excel (используемые далее функции LibreOffice Calc аналогичны функциям Excel)

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

  1. 0, 0, 1, 1, 1
  2. 1, 2, 3, 4, 5
  3. 2, 2, 1, 3, 4
-4

Проведём краткий анализ строк. В первой строке одно число повторяется дважды (0) и одно число повторяется трижды (1). Во второй строке все числа различны. В третьей строке одно число повторяется дважды, а все остальные числа различны.

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

Растянем эту формулу вправо на 5 значений – ровно на столько, сколько чисел в каждой строке и вниз на три строки. Получаем такую картину.

-5

О чем нам говорят числа справа? В первой строке мы видим две двойки: это означает, что число в ячейках A1 и A2 одно и то же, и повторяется два раза. Аналогично с тройками: три тройки означают, что число повторяется ровно три раза.

Во второй строке у нас все единицы – это означает по одному вхождению каждого числа в строку. Следовательно, все числа в этой строке различны.

По аналогии в третьей строке видим, что одно число повторяется дважды, а все оставшиеся числа различны.

Работа с наименьшими и наибольшими числами

Вторая группа задач требует находить наибольшие и наименьшие числа. Тут пригодятся функции МАКС(), МИН(), НАИБОЛЬШИЙ() и НАИМЕНЬШИЙ(). Также в ряде случаев полезно будет пользоваться сортировкой через функцию СОРТ().

Для примера давайте рассмотрим такое условие: «сумма двух наибольших не больше суммы трёх оставшихся чисел». Работать будем со следующими числами:

-6

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

Для сортировки есть несколько способов:

  1. Через функцию НАИБОЛЬШИЙ()
  2. Через функцию СОРТ()

В первом способе мы в ячейке G1 должны написать формулу «=НАИБОЛЬШИЙ(A1:E1;1)» и затем скопировать её вправо на 5 ячеек, попутно меняя значения второго аргумента функции (единицу на двойку, тройку и так далее).

Но есть и более простой способ отсортировать значения в строке – воспользоваться функцией СОРТ(), правда по умолчанию для строки сортировка будет выполняться по возрастанию значений.

Воспользуемся первым способом и отсортируем наши числа по убыванию.

-7

Теперь осталось определить, для каких строк выполняется наше условие. Для этого воспользуемся такой формулой: «=СУММ(G1:H1) <= СУММ(I1:K1)».

-8

Что же, условие выполняется только для последней строки.

Это два основных подхода, которые вам нужно запомнить для решения 9 заданий. Теперь давайте опробуем их на практике.

Пример 1

Начнём с такой формулировки:

Задание 907

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

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

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

Да, это именно те условия, которые мы проверяли ранее, так что теперь закрепим полученные знания.

Первым делом откроем приложенный к заданию файл и посмотрим на данные в нём.

-9

Теперь давайте создадим 5 вспомогательных столбцов, в которых будет количество повторений каждого числа в строке. Отметим эти столбцы синим цветом. В ячейке F1 пишем формулу: «=СЧЁТЕСЛИ($A1:$E1;A1)», растягиваем её вправо на 5 ячеек и вниз до конца таблицы.

-10

Теперь добавим результирующий столбец, в котором будет ИСТИНА, если в строке все числа различны и ЛОЖЬ, если есть повторяющиеся числа. Это определить можно многими способами, все зависит лишь от вашей фантазии.

Мы пойдём самым очевидным: через функцию СЧЁТЕСЛИ() проверим, что в строке ровно 5 единиц. Формула будет такой: «=СЧЁТЕСЛИ(F1:J1;1)=5». То есть, функция СЧЁТЕСЛИ() считает количество единиц в строке от F до J. Если это количество единиц равно пяти, то возвращает истинное значение, в противном случае – ложное.

Поместим описанную выше формулу в ячейку K1 и растянем вниз до конца. Этот столбец также отметим синим цветом и добавим границы по сторонам от него для наглядности.

-11

Можем переходить ко второму условию: «сумма двух наибольших чисел строки не больше суммы трёх её оставшихся чисел»

По описанному ранее алгоритму добавляем еще 5 столбцов, красим их в оранжевый и с помощью функции НАИБОЛЬШИЙ() сортируем по возрастанию.

-12

Теперь вычисляем сумму первых двух чисел из ячеек L1 и M1 и требуем, чтобы она была меньше или равна сумме оставшихся трёх чисел. В ячейку R1 впишем формулу «=СУММ(L1:M1) <= СУММ(N1:P1)» и растянем до конца таблицы. Также этот столбец выделим цветом и границами.

-13

Всё, мы на финишной прямой. Осталось лишь проверить, что выполняются оба условия. То есть нам нужно, чтобы в столбце K и в столбце Q была написана ИСТИНА.

Под это выделим отдельный столбец, покрасим его в зелёный. Теперь, если и в столбце K, и в столбце Q будут истинные значения, то через функцию ЕСЛИ() запишем в ячейку число 1. В противоположном случае, в ячейке будет число 0.

В виде формулы это можно записать следующим образом: «=ЕСЛИ(И(K1;Q1); 1; 0)».

-14

До получения ответа нас отделяет лишь один шаг: нужно подсчитать количество единиц в зелёном столбце. Можно просто выделить его и посмотреть в нижнем правом углу сумму, ведь сумма единиц как раз и будет означать их количество.

В нашем случае сумма значений столбца R равно 1922, то есть обоим условиям удовлетворяют 1922 строки. Это значение и запишем в ответ.

Пример 2

Для закрепления решим еще одно 9 задание первого типа. Формулировка в этот раз будет такой:

Задание 909

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

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

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

Откроем файл и посмотрим на имеющиеся данные.

-15

Решение первого условия можно было бы записать единым столбцом. Но для наглядности давайте подробно распишем каждый этап вычислений в отдельном столбце. Сначала в столбце Е вычислим квадрат наименьшего числа строки с помощью формулы «=СТЕПЕНЬ(НАИМЕНЬШИЙ(A1:D1;1);2)».

Здесь мы сначала находим наименьшее число, а затем функцией СТЕПЕНЬ() возводим его во вторую степень (квадрат).

-16

Вторым шагом вычислим сумму оставшихся трёх чисел. Для этого можно из суммы всех 4 чисел вычесть наименьшее: «=СУММ(A1:D1)-НАИМЕНЬШИЙ(A1:D1;1)».

-17

Теперь сформируем итоговый столбец. Для этого потребуем, чтобы значение столбца E было больше значения из столбца F: «=E1>F1».

-18

Переходим ко второму условию. Для начала определим чётность каждого числа. Это можно сделать путём взятия остатка от деления на 2 или с помощью функции ЕНЕЧЁТ(), которая вернёт истину, если число нечётное. В ячейку H1 запишем формулу «=ЕНЕЧЁТ(A1)» и растянем её вправо и вниз.

-19

Теперь проверим, что в строке нет ни одного чётного. Поскольку тут истинное значение только у нечётных чисел, то можем применить операцию конъюнкции. Это будет означать, что все числа в строке нечётные. В виде формулы записывается так: «=И(H2:K2)».

-20

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

-21

Выделяем весь столбец M и внизу видим сумму: 41. Это и будет ответом на данное задание.

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

<<< Последняя статья Следующая статья >>>