Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Диаграмма Ганта — это инструмент для визуализации рабочих процессов, который представляет собой графическое отображение плана проекта в виде горизонтальных полос, каждая из которых соответствует определённой задаче или этапу проекта.

Впервые она была разработана Генри Гантом в начале 20 века и с тех пор стала одним из самых популярных методов планирования и управления временем (time management).

Диаграмма Ганта имеет следующую структуру:

  • Ось X представляет временную шкалу (например, миллисекунды, часы, дни и т.д.).
  • Ось Y — список задач или этапов проекта.
  • Горизонтальные полосы на диаграмме показывают продолжительность каждой задачи. Начало полосы указывает на старт задачи, а конец — на её завершение.
  • Связи между задачами (зависимости) могут быть отображены в виде стрелок, показывающих, какие задачи зависят от завершения других.

Активно применяют данную диаграмму в сфере информационных технологий, в маркетинге, в организации и планировании мероприятий, научных исследований и так далее. Также, она может применяться для решения заданий 22 в ЕГЭ по информатике.

Диаграмма Ганта в ЕГЭ

В задании 22 ЕГЭ по информатике диаграмма Ганта используется для построения цепочки взаимозависимых процессов и поиска максимальной продолжительности отрезка, в течение которого возможно выполнение максимального количества процессов. Обычно здесь даётся некая совокупность процессов, которые могут выполняться параллельно или последовательно. При этом есть процессы B, для выполнения которых нужно, чтобы были уже выполнены некоторые другие процессы A. То есть такие процессы B будут зависимыми от процессов A.

Всего на данный момент существуют 3 типа задания 22, которые отличаются в следующих формулировках:

  1. Все независимые друг от друга процессы могут выполняться параллельно;
  2. Все независимые друг от друга процессы могут выполняться параллельно,
а время завершения работы каждого процесса минимально;
  3. Все независимые друг от друга процессы могут выполняться параллельно, а время завершения работы всех процессов минимально

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

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

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

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

Иными словами, если у нас самый поздний (самый правый на диаграмме Ганта) процесс длится до 20 миллисекунды, то можно представить, что после него стоит некая «стена», дальше которой мы ничего уже не можем сдвинуть. То есть ни один процесс не может закончиться позже 20 миллисекунды.

Алгоритм построения диаграммы Ганта

Шаг 1

Для начала следует скачать и открыть файл таблицы в Excel.

Таблицы в задании 22 все типовые и содержат 3 столбца:

  1. В первом указывается идентификатор процесса B;
  2. Во втором — время выполнения этого процесса;
  3. В третьем столбце перечислены через разделитель «;» идентификаторы процессов А, от которых зависит текущий процесс (тот, который указан в первом столбце). Если же процесс является независимым, то в третьем столбце таблицы указывается значение «0».
Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Например, в данной задаче первый и второй процесс являются независимыми. Третий же процесс зависит от двух процессов — первого и второго. А четвёртый процесс зависит только от одного — от третьего.

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

Шаг 2

Как вы уже заметили, некоторые процессы зависят сразу от нескольких других. Такие зависимости перечислены в третьем столбце через знак «;». Нам необходимо разделить данные по столбцам так, чтобы каждое значение зависимости было в отдельном столбце.

Для этого переходим в меню «Данные» и выбираем пункт «Текст по столбцам». Данная функция позволяет разделять значения одного столбца по несколькими другим в зависимости от выбранных параметров.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

В открывшемся меню выбираем пункт «С разделителями» и указываем, что символом-разделителем является точка с запятой.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Для удобства выделим получившиеся столбцы с информацией о зависимостях голубым цветом.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Шаг 3

При помощи функции ВПР() перенесём данные о длительности зависимостей каждого процесса. В ячейке E2 прописываем формулу: =ВПР(C2;$A:$H;8;0)
Растягиваем формулу на диапазон E2:F13. На данный момент ячейки будут заполнены нулями.
Также изменим цвет заливки этих ячеек на красный.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Примечание

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

Шаг 4

Выделим еще два столбца зеленым цветом. В них мы позже отметим время начала и окончания выполнения каждого процесса.

Еще один столбец выделим жёлтым цветом и заполним вручную нулями. Этот столбец понадобится при работе с диаграммой Ганта для смещения времени начала работы каждого процесса.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Шаг 5

Вернёмся к зеленым столбцам. В них нужно посчитать время начала и окончания процесса.

Для вычисления времени окончания нам необходимо сложить длительность самого процесса B (из второго столбца) и максимальную длительность процесса A, от которого зависит наш процесс. Для вычисления максимальной длительности будем использовать формулу МАКС(), аргументами которой выступят ячейки столбцов E и F.

Ко всему прочему ко времени окончания процесса нам еще необходимо добавить значение из жёлтого столбца (I), что позволит нам в дальнейшем запустить процесс позднее первой секунды, таким образом сдвигая его по диаграмме.

Итоговая формула в ячейке H2 выглядит следующим образом: =B2+МАКС(E2:F2)+I2.

Её необходимо растянуть на весь столбец H нашей диаграммы. В данном примере мы растянем формулу до ячейки H13.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Шаг 6

На этом шаге нам предстоит определить время начала каждого процесса.

Здесь формула несколько легче, чем в прошлом шаге. Время начала работы текущего процесса определяется следующим образом: из времени окончания работы процесса (столбец H) необходимо вычесть длительность его работы (столбец B), а также прибавить единицу, чтобы все наши процессы были корректно расположены на временной оси, которая начинается с 1.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Шаг 7

Теперь добавим временную ось сверху нашей диаграммы Ганта. Для этого в первой строке, начиная со столбца J введем значения времени от 1 и до максимального значения в столбце H (здесь — от 1 до 35).

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Примечание

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

  1. В первой ячейке ставим значение 1
  2. Во второй ячейке прописываем формулу: ='Значение предыдущей ячейки' + 1 (в данном примере формула будет выглядеть так: =J1+1)
  3. Копируем значение второй ячейке сочетанием клавиш Ctrl + C
  4. Нажимаем сочетание клавиш: Ctrl + Shift + Стрелка вправо, перемещаемся в крайний правый столбец листа, при этом выделяя все ячейки, начиная со второй.
  5. В выбранный диапазон вставляем значение со второй ячейки нажатием сочетания клавиш Ctrl + V

Шаг 8

Напишем формулу для заполнения диаграммы Ганта.
Если значение на диаграмме попадает на отрезок времени начала и окончания работы процесса, выставим значение «1», иначе ничего не будем выводить.
Формула в ячейке J2: =ЕСЛИ(И($G2<=J$1;J$1<=$H2);1;"")

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Растягиваем формулу с ячейки J2 на весь диапазон времени работы процессов.
В данном примере формула растягивается на следующий диапазон — J2:AM13.

На данном этапе уже можно сказать, что диаграмма Ганта построена. Однако, для удобства восприятия добавим выделение ячеек, относящихся к работающим процессам (со значением 1 в диапазоне от J2 до AM13)

Шаг 9

Чтобы выделить цветом ячейки процессов перейдём на вкладке «Главная» в меню «Условное форматирование». Выберем пункт «Правила выделения ячеек», затем пункт «Равно…»

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

В открывшемся окне вводим значение «1» в поле слева.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Шаг 10

Чтобы определить, сколько процессов работают одновременно, посчитаем, сколько единиц в каждом столбце. Формула в ячейке J14: =СУММ(J2:J13).
Формулу растягиваем вправо до конца нашей диаграммы.

Построение диаграммы Ганта. Задание 22 ЕГЭ по информатике

Также через условное форматирование можно выделить цветом требуемое количество процессов в строке 14. Алгоритм аналогичный описанному в шаге 9.
На этом построение диаграммы Ганта завершено, однако для решения задания 22 нам необходимо еще провести её анализ, который и позволит получить верный ответ.