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

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

За­да­ние 22

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

Опре­де­ли­те ко­ли­че­ство ак­тив­ных про­цес­сов через 140 мс после за­пус­ка пер­во­го про­цес­са.

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

Ре­ше­ние.

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

В ячей­ку A102 впи­шем 0. Те­перь по­счи­та­ем время вы­пол­не­ния про­цес­сов, для этого в ячей­ку E2 впи­шем фор­му­лу:

=B2+МАКС(ВПР(C2;A:E;5;0);ВПР(D2;A:E;5;0)),

где B2  — время са­мо­го про­цес­са, а функ­ция ВПР ищет время про­цес­са, от ко­то­ро­го за­ви­сит про­цесс А. Ско­пи­ру­ем эту фор­му­лу во все ячей­ки диа­па­зо­на E2:E101.

Те­перь най­дем ко­ли­че­ство ак­тив­ных про­цес­сов через 140 мс после за­пус­ка пер­во­го про­цес­са, для этого нам не­об­хо­ди­мо, чтобы время окон­ча­ния про­цес­са было боль­ше или равно 140, а также, чтобы раз­ни­ца вре­ме­ни окон­ча­ния и вре­ме­ни вы­пол­не­ния была мень­ше или равна 140, так как сам про­цесс мог на­чать­ся позже 140 мс, а нам не­об­хо­ди­мы лишь про­цес­сы, ко­то­рые были ак­тив­ны в мо­мент 140 мс. Для этого впи­шем в ячей­ку F2 фор­му­лу:

=ЕСЛИ(И(E2>=140;E2-B2<=140);1;0)

и про­тя­нем её до конца таб­ли­цы. В ячей­ку G2 за­пи­шем =СУММ(F2:F101) и по­лу­чим ответ  — 10.

 

Ответ: 10.


Аналоги к заданию № 55639: 55609 Все