Задание 22 ЕГЭ по информатике · 2332FB

Критический путь / успевшие процессыВысокаяКЭС 1.1
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно.

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

Типовой пример организации данных в файле
ID процесса BВремя выполнения процесса B (мс)ID процесса(ов) A
130
241
322; 4
450
581; 4


Определите максимальное количество процессов, которые могут быть завершены за первые 17 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.

Например, для приведённой таблицы найдём количество процессов, которые могут быть завершены за первые 7 мс. Это 3 процесса (за это время завершатся процессы 1, 2 и 4).

Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.

К заданию прилагается файл с данными — скачайте его в задании внутри Precettore.

Показать ответ
12
Подсказки (3)
  1. Для каждого процесса определите самое раннее время его запуска с учётом завершения всех процессов-зависимостей.
  2. Если процесс выполняется t миллисекунд и запускается в момент s, он завершается в момент s+t. Процесс можно запустить после завершения всех его предшественников.
  3. Обработайте процессы в порядке зависимостей, вычислите времена их завершения и подсчитайте процессы, для которых время завершения не превышает 17 мс. Получается 12 процессов.
Решение
1. Для каждого процесса по данным файла определяем все его непосредственные зависимости.

2. Самые ранние моменты запуска процессов вычисляем рекурсивно: независимый процесс запускается с начала отсчёта, а зависимый — после завершения всех процессов, от которых он зависит.
start(B)=maxA∈dependencies(B)finish(A)

3. Для каждого процесса вычисляем время завершения как сумму времени его запуска и длительности выполнения, затем оставляем процессы, завершившиеся не позднее 17-й миллисекунды.
finish(B)=start(B)+duration(B)

4. Подсчёт процессов, завершившихся за первые 17 мс, даёт 12.
Частые ошибки
  • Считать процессы зависимыми, если они просто указаны рядом в таблице.
  • Запускать зависимый процесс до завершения всех его предшественников.
  • Складывать времена всех процессов последовательно, не учитывая возможность параллельного выполнения.
  • Включать процесс, завершившийся после 17 мс.

Похожие задания

22В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в…Критический путь / успевшие процессы · FE814D22В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в…Критический путь / успевшие процессы · 15929722В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в…Критический путь / успевшие процессы · ABAA6722Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор…Критический путь / успевшие процессы · 10224222Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор…Критический путь / успевшие процессы · 3133F622Информация о процессах представлена в файле в виде таблицы. В первой строке таблицы указан идентификатор…Критический путь / успевшие процессы · 45BA0B22Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор…Критический путь / успевшие процессы · 38557E22В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в…Критический путь / успевшие процессы · 4128BD

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.