В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно.
Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Все независимые процессы запускаются в начальный момент времени. Если процесс B получает данные от процесса A, то выполнение процесса B начинается сразу же после завершения процесса A. Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов.
Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Типовой пример организации данных в файле
| ID процесса B | Время выполнения процесса B (мс) | ID процесса(-ов) A |
|---|---|---|
| 1 | 3 | 0 |
| 2 | 4 | 1 |
| 3 | 2 | 2; 4 |
| 4 | 5 | 0 |
| 5 | 8 | 1; 4 |
| 6 | 3 | 1 |
Определите количество активных процессов на 13 мс после запуска первого процесса.
Для приведённой таблицы процесс 3 начинается на 8-й мс, заканчивается на 9-й мс.
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.
Выполните задания, используя данные из файла ниже:
Выделяем столбец С. Выбираем меню Данные-Текст по столбцам:
Разделитель - точка с запятой:
Создаем нулевой процесс, чтобы далее правильно считались формулы. В столбцах D и E пустые ячейки заполняем нулями. Озаглавим столбцы F и G - Начало и Конец соответственно. В этих столбцах будем считать начало каждого процесса и его окончание.
В столбце G будем считать время окончания процесса, для этого в ячейке G3 введем формулу =F3+B3 и скопируем до конца списка. Получим таблицу:
В столбце F будем считать время начала процесса. Для этого нам надо определить длительность максимального процесса от которого зависит текущий. В ячейку F3 введем формулу
=МАКС(ВПР(C3;A:G;7;0);ВПР(D3;A:G;7;0);ВПР(E3;A:G;7;0))
и скопируем до конца списка.
Получим таблицу:
Определим процессы начинающиеся до 13 мс и заканчивающиеся после. .
Всего 3 активных процесса на 13 мс после запуска первого процесса.
Ответ: 3.

