Задания
Версия для печати и копирования в MS Word
Тип 22 № 84716
i

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

Ти­по­вой при­мер ор­га­ни­за­ции дан­ных в файле:

 

ID про­цес­са BВремя вы­пол­не­ния

про­цес­са B (мс)

ID про­цес­са(-⁠ов) A
120
240
341; 2
471; 2

 

Опре­де­ли­те сумму но­ме­ров всех про­цес­сов, ко­то­рые за­пу­стят­ся, но не успе­ют за­вер­шить­ся за пер­вые T  =  30 мс с мо­мен­та за­пус­ка пер­во­го про­цес­са (при усло­вии, что все не­за­ви­си­мые друг от друга про­цес­сы могут вы­пол­нять­ся па­рал­лель­но и ни­ка­кие за­держ­ки не до­пус­ка­ют­ся).

На­при­мер, для при­ведённой таб­ли­цы, при T  =  6 мс, про­цес­сы с ID 3 и 4 будут за­пу­ще­ны через 4 мс с мо­мен­та за­пус­ка пер­во­го про­цес­са и на мо­мент вре­ме­ни T за­вер­ше­ны ещё не будут. Ответ 7.

За­да­ние 22

Спрятать решение

Ре­ше­ние.

В столб­це D будем ука­зы­вать время на­ча­ла про­цес­са, в столб­це E время окон­ча­ния. По­счи­та­ем время окон­ча­ния, для этого сло­жим время на­ча­ла и дли­тель­ность про­цес­са. В ячей­ку E2 вве­дем фор­му­лу =D2+B2 и ско­пи­ру­ем её до конца спис­ка. Время на­ча­ла для не­за­ви­си­мых про­цес­сов равно 0, для про­цес­сов за­ви­си­мых от од­но­го про­цес­са равно вре­ме­ни окон­ча­ния за­ви­си­мо­го про­цес­са, для про­цес­сов за­ви­си­мых от не­сколь­ких про­цес­сов- мак­си­маль­но­му вре­ме­ни окон­ча­ния за­ви­си­мых про­цес­сов. Так для про­цес­са 7 время на­ча­ла равно вре­ме­ни окон­ча­ния 1 про­цес­са, а для про­цес­са 8 мак­си­маль­но­му вре­ме­ни окон­ча­ния про­цес­сов 1 и 4. Для про­цес­са 8 вве­дем фор­му­лу =МАКС(E2;E5).

За­пол­нив весь стол­бец по­лу­чим таб­ли­цу:

Про­цес­сы ко­то­рые за­пу­стят­ся, но не успе­ют за­вер­шить­ся за пер­вые T  =  30 мс с мо­мен­та за­пус­ка пер­во­го про­цес­са это про­цес­сы 19, 22, 23, 24 и 26. Сумма но­ме­ров этих про­цес­сов равна 114.

 

Ответ: 114.