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

В ком­пью­тер­ной си­сте­ме не­об­хо­ди­мо вы­пол­нить не­ко­то­рое ко­ли­че­ство вы­чис­ли­тель­ных про­цес­сов, ко­то­рые могут вы­пол­нять­ся па­рал­лель­но или по­сле­до­ва­тель­но. Для за­пус­ка не­ко­то­рых про­цес­сов не­об­хо­ди­мы дан­ные, ко­то­рые по­лу­ча­ют­ся как ре­зуль­та­ты вы­пол­не­ния од­но­го или двух дру­гих про­цес­сов  — по­став­щи­ков дан­ных. Не­за­ви­си­мые про­цес­сы (не име­ю­щие по­став­щи­ков дан­ных) можно за­пус­кать в любой мо­мент вре­ме­ни. Если про­цесс B (за­ви­си­мый про­цесс) по­лу­ча­ет дан­ные от про­цес­са A (по­став­щи­ка дан­ных), то про­цесс B может на­чать вы­пол­не­ние не рань­ше чем через 3 мс после за­вер­ше­ния про­цес­са A. Любые про­цес­сы, го­то­вые к вы­пол­не­нию, можно за­пус­кать па­рал­лель­но, при этом ко­ли­че­ство од­но­вре­мен­но вы­пол­ня­е­мых про­цес­сов может быть любым, дли­тель­ность про­цес­са не за­ви­сит от дру­гих па­рал­лель­но вы­пол­ня­е­мых про­цес­сов.

За­да­ние 22

В таб­ли­це пред­став­ле­ны иден­ти­фи­ка­тор (ID) каж­до­го про­цес­са, его дли­тель­ность и ID по­став­щи­ков дан­ных для за­ви­си­мых про­цес­сов.

Опре­де­ли­те, за какое ми­ни­маль­ное время можно вы­пол­нить все про­цес­сы.

В от­ве­те за­пи­ши­те целое число  — ми­ни­маль­ное время в мс.

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

Ре­ше­ние.

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

Далее нам надо раз­де­лить дан­ные в столб­це «ID по­став­щи­ков дан­ных» для тех про­цес­сов, где есть за­ви­си­мость от двух про­цес­сов. Для этого вы­де­лим стол­бец С, далее меню «Дан­ные  — Текст» по столб­цам. В меню ма­сте­ра раз­де­ле­ния тек­ста по столб­цам по­сле­до­ва­тель­но вы­бе­рем «Фор­мат дан­ных с раз­де­ли­те­ля­ми», далее «Сим­вол раз­де­ли­тель: точка с за­пя­той». Фор­мат дан­ных столб­ца «Общий».

В столб­це E будем счи­тать общее время на вы­пол­не­ние про­цес­са. Для не­за­ви­си­мых про­цес­сов пе­ре­не­сем дан­ные из столб­ца B. Вве­дем в ячей­ку E67 фор­му­лу =B67 и ско­пи­ру­ем её во все стро­ки в диа­па­зо­не E67:E101.

Те­перь по­счи­та­ем время у про­цес­сов за­ви­ся­щих от од­но­го про­цес­са. Для этого в ячей­ке E2 вве­дем фор­му­лу

=B2+3+ВПР(C2;A:E;5;0),

где B2  — время са­мо­го про­цес­са, 3  — время после за­вер­ше­ния про­цес­са A (по усло­вию за­да­чи), а функ­ция ВПР ищет время про­цес­са, от ко­то­ро­го за­ви­сит про­цесс А. Далее ско­пи­ру­ем фор­му­лу во все ячей­ки диа­па­зо­на E2:E37.

Далее будем счи­тать время про­цес­сов, за­ви­ся­щих от 2 про­цес­сов. Для этого вве­дем в ячей­ку E38 фор­му­лу:

=B38+3+МАКС(ВПР(C38;A:E;5;0);ВПР(D38;A:E;5;0)).

Ско­пи­ру­ем фор­му­лу во все ячей­ки диа­па­зо­на E38:E66.

Най­дем самый дли­тель­ный про­цесс, введя фор­му­лу =МАКС(E2:E101), это и будет ми­ни­маль­ное время вы­пол­не­ния всех про­цес­сов.

 

Ответ: 581.