решить задачу на имитационное моделирование Вычислительная система состоит из трех ЭВМ. С интервалом ( 3±1) мин. в систему поступают задания, которые с вероятностями:P=0,4 идут на первую ЭВМ, с P=0,3 адресуются второй ЭВМ, а все остальные идут на обработку на третью ЭВМ. Перед каждой ЭВМ имеется очередь заданий длина которой не ограничена. После обработки задания на первой ЭВМ оно с вероятностью P=0,3 поступает в очередь ко второй ЭВМ и с вероятностью P=0,7 – в очередь к третьей ЭВМ. После обработки на второй или третьей ЭВМ задание считается выполненным. Продолжительность обработки заданий на разных ЭВМ характеризуется интервалами времени: T1=4±1мин,T2=3±1мин,T3=5±1мин. Смоделировать процесс обработки 30 заданий.
1. Инициализация переменных:
- Создаем переменную "очередь_1", которая будет представлять очередь заданий для первой ЭВМ.
- Создаем переменную "очередь_2", которая будет представлять очередь заданий для второй ЭВМ.
- Создаем переменную "очередь_3", которая будет представлять очередь заданий для третьей ЭВМ.
- Создаем переменную "выполненные_задания", которая будет подсчитывать количество выполненных заданий.
- Создаем переменную "время", которая будет представлять счетчик времени.
2. Повторяем следующие шаги, пока не выполнены все 30 задач:
a) Генерация нового задания со случайной вероятностью его отправки на каждую ЭВМ:
- Создаем переменную "случайное_число" и генерируем значение от 0 до 1.
- Если "случайное_число" <= 0.4, то задание отправляется на первую ЭВМ и добавляется в "очередь_1".
- Если 0.4 < "случайное_число" <= 0.7, то задание отправляется на вторую ЭВМ и добавляется в "очередь_2".
- Если "случайное_число" > 0.7, то задание отправляется на третью ЭВМ и добавляется в "очередь_3".
b) Если "очередь_1" не пуста:
- Извлекаем первое задание из "очередь_1" и начинаем его обработку на первой ЭВМ.
- Генерируем случайное время обработки задания на первой ЭВМ в диапазоне от 3 до 5 минут.
- Увеличиваем "время" на время обработки задания.
- Генерируем случайное число от 0 до 1.
- Если число <= 0.3, то задание отправляется в "очередь_2". Иначе, задание отправляется в "очередь_3".
c) Если "очередь_2" не пуста:
- Извлекаем первое задание из "очередь_2" и начинаем его обработку на второй ЭВМ.
- Генерируем случайное время обработки задания на второй ЭВМ в диапазоне от 3 до 5 минут.
- Увеличиваем "время" на время обработки задания.
d) Если "очередь_3" не пуста:
- Извлекаем первое задание из "очередь_3" и начинаем его обработку на третьей ЭВМ.
- Генерируем случайное время обработки задания на третьей ЭВМ в диапазоне от 3 до 5 минут.
- Увеличиваем "время" на время обработки задания.
e) Увеличиваем "выполненные_задания" на 1.
3. Выводим результаты:
- Выводим значение переменной "время", которая покажет общее время выполнения всех заданий.
- Выводим значение переменной "выполненные_задания", которая покажет количество выполненных заданий.
Итак, следуя этому алгоритму, мы можем смоделировать процесс обработки 30 заданий на вычислительной системе из трех ЭВМ с указанными вероятностями и интервалами времени.