Тема 22. Многопроцессорные системы
22.02 Задачи с дополнительными условиями
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела многопроцессорные системы
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#58979

В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Если процесс B зависит от процесса A, то процесс B может начать выполнение не раньше, чем через 3 мс после завершения процесса A. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы – время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0. Определите, за какое минимальное время можно выполнить все процессы. В ответе запишите целое число – минимальное время в мс.

Типовой пример организации данных в файле на рисунке. В данном случае независимые процессы 1 и 2 могут выполняться параллельно, при этом процесс 1 завершится через 4 мс, а процесс 2 – через 3 мс с момента старта. Процесс 3 может начаться только после завершения обоих процессов 1 и 2 и 3мс ожидания, то есть, через 7мс после старта. Он длится 1 мс и закончится через 7 + 1 = 8 мс после старта. Выполнение процесса 4 может начаться только после завершения процесса 3 и 3 мс ожидания, то есть, через 11 мс. Он длится 7 мс, так что минимальное время завершения всех процессов равно 11 + 7 = 18 мс.

ID процесса B
Время выполнения
процесса B, мс
ID процесса(ов) A
1 4 0
2 3 0
3 1 1; 2
4 7 3
Вложения к задаче
Показать ответ и решение

Откроем файл электронной таблицы и разделим по столбцам значения в столбце C. Для этого выделим данный столбец, перейдём во вкладку «Данные», нажмём на «Текст по столбцам» и в качестве разделителя выберем точку с запятой. Таблица будет иметь такой вид:

PIC

Для удобства выделим цветами нужные нам области. В ячейку I2 запишем формулу: =B2. Растянем данную формулу до конца таблицы. Таблица будет выглядеть так:

PIC

В ячейку F2 запишем формулу: =ВПР(C2;$A:$I;9;0). Протянем её на столбец F и на столбец H, а также до конца таблицы. Теперь мы знаем длительность процессов, от которых зависит определённый процесс. Таблица будет иметь такой вид:

PIC

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

Теперь формула будет иметь такой вид: =ЕСЛИ(F2=0;B2;B2+МАКС(F2:H2)+3). Проведем данную формулу до конца таблицы. Таблица будет выглядеть так:

PIC

В отдельную ячейку запишем формулу: =МАКС(I2:I21). Данное значение и будет ответом. Ответ:134

Ответ: 134

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное обучение
в Школково

Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!