Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CA.doc
Скачиваний:
1
Добавлен:
09.11.2019
Размер:
2.27 Mб
Скачать

Підпрограма "Моделювання вхідного потоку"

  1. Початок

  2. Вибір типу вхідного потоку:

  1. Гаус

  2. Експоненціальний (Пуассон)

  3. Ерланг

  4. Рівномірний

3. Якщо(1), то формуємо вхідний потік:

3.1 формуємо оператором RND 2 випадкові величини (ksil, ksi2).

3.2 отримуємо 2 випадкові величини(Vgaussin1, Vgaussin2) за формулою

3.3 Перевірка: яке звернення до функції (п.3.2). Якщо непарне, то йде запит двох випадкових величин п.3.2 - Vgaussinl, Vgaussin2 і видати на виході 1-е (Vgaussinl). Якщо парне, то видати 2-ге - Vgaussin2 і встановити ознаку, що наступне значення буде непарне.

4. Якщо (2), то формуємо вхідний потік випадкових чисел за розподілом Пуассона за формулою:

Vexp=-(1/lambda)*Log(l- RND())

5. Якщо (3), то формуємо вхідний потік випадкових чисел за розподілом Ерланга :

(Програма дозволяє обирати варіант формули - за проф. Соболем А. М. або за проф. Четверухіним Б.М.)

Формування потоку за методикою проф. Соболя A.M.:

5.1 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.5

5.2 Формування випадкових величин (vrand) за допомогою оператора RND

  1. Розрахунок добутку випадкових величин, які були сформовані в п.5.2

  2. Повернення до п.5.1

    1. Формування інтервалів випадкових подій за формулою:

vErlang=-( 1 /(Lambda*nsito))*Log(vrand)

Формування потоку за методикою проф. Четверухіна Б.М.:

5.6 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.9

5.7 Формування випадкових величин (vrand) за допомогою оператора RND за формулою:

vrand=Log(l-RND())

  1. Повернення до п.5.6

  2. Формування інтервалів випадкових подій за формулою:

vv=-((l/(Lambda*nsito)))*vrand)/SQR(nsito) vErlang=(vv+l/(2*Lambda*nsito))*nsito)

  1. Якщо (4), то формуємо вхідний потік випадкових чисел за рівномірним розподілом за формулою:

uniform=RND()*(B-A)+A

7. Кінець

Підпрограма "Моделювання вихідного потоку"

  1. Початок

  2. Вибір типу вихідного потоку:

(1)Гаус

(2) Експоненціальний (Пуассон)

(3)Ерланг

(4) Рівномірний

3. Якщо (1), то формуємо вихідний потік:

3.1 формуємо оператором RND 2 випадкові величини (ksi1, ksi2).

3.2 отримуємо 2 випадкові величини(Vgaussin1, Vgaussin2) за формулою

3.3 Перевірка: яке звернення до функції (п.3.2). Якщо непарне, то йде запит двох випадкових величин п.3.2 - Vgaussinl, Vgaussin2 і видати на виході 1-е (Vgaussinl). Якщо парне, то видати 2-ге - Vgaussin2 і встановити ознаку, що наступне значення буде непарне.

4. Якщо (2), то формуємо вихідний потік випадкових чисел за розподілом Пуассона за формулою:

Vexp=-(1/lambda)*Log(l- RND())

5. Якщо (3), то формуємо вихідний потік випадкових чисел за розподілом Ерланга за формулою:

(Програма дозволяє обирати варіант формули - за проф. Соболем А. М. та за проф. Четверухіним Б.М.)

за проф. Соболем A.M.:

5.1 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.5

5.2 Формування випадкових величин (vrand) за допомогою оператора RND

5.3 Розрахунок добутку випадкових величин які були сформовані в п.5.2

  1. Повернення до п.5.1

  2. Формування інтервалів випадкових подій за формулою:

vErlang=-(l/(Lambda*nsito))*Log(vrand)

за проф. Четверухіним Б.М.

5.6 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.9

5.7 Формування випадкових величин (vrand) за допомогою оператора RND за формулою:

vrand=Log(l-RND())

  1. Повернення до п.5.6

  2. Формування інтервалів випадкових подій за формулою:

vv=-((l/(Lambda*nsito)))*vrand)/SQR(nsito) vErlang=(vv+l/(2*Lambda*nsito))*nsito)

6. Якщо (4), то формуємо вихідний потік випадкових чисел за рівномірним розподілом за формулою:

uniform=RND()*(B-A)+A

7. Кінець

Підпрограма "Сортування каналів"

  1. Початок

  2. Цикл з кінця масиву мінус 1.(і - змінна циклу). Якщо кінець циклу - перехід на п.7

  3. цикл від 1 до і. Якщо кінець циклу перехід на п.6

  1. якщо поточний час більше наступного часу то міняємо місцями ' в обох стовпчиках масиву.

  2. перехід на п.3

  3. перехід на п.2

  4. кінець.

Підпрограма " Сортування черги"

  1. Початок

  1. цикл з кінця масиву мінус 1. (і1 - змінна масиву). Якщо кінець то перехід на п.7

  1. цикл від 1 до і 1. Якщо кінець, то перехід на п.6

  2. Якщо поточний час більше наступного часу то змінюємо місцями в обох місцях масиву

  1. перехід на п.3

  1. перехід на п.2

  2. Кінець.

Підпрограма "Перевірка зайнятості каналів"

  1. Початок

  2. Цикл від 1 до п (п - кількість каналів). Якщо кінець, то перехід на п.6

  3. якщо канал зайнятий і час звільнення каналу дорівнює поточному, то його потрібно звільнити і звернутися до функції реєстрації, що канал звільнився

  4. зареєструвати час звільнення каналу.

  5. перехід на п.2

  6. кінець

Підпрограма "Перенесення заявки з черги в канал"

  1. Початок

  2. цикл по черзі від 1 до m (m - кількість місць в черзі). Якщо кінець циклу то п.6

  3. якщо час постановки в чергу не дорівнює 0 то п.4, якщо дорівнює 0 то нічого

  4. визначити скільки часу буде обслужуватись заявка і переноситься в канал

  5. перехід на п.2

  6. кінець.

Підпрограма " Побудова діаграми №1 розподілу часових інтервалів вхідного потоку"

  1. початок

  2. перевірка наявності аркуша "Діаграма №1". Якщо є, то знищуємо.

  3. Створюємо діаграму №1. Розміщення на новому аркуші. (Будується по значенням аркушу "Результати" по таблиці вхідного потоку)

4. Задаємо властивості діаграми:

4.1 Без легенди

  1. Має заголовок, який має назву "Вхідний потік"

  2. Розмір шрифту 12

  3. Шрифт "Sans serif'"

  4. Діаграма має вісь значень(Ох) і вісь результатів(Оу)

  5. Має допоміжні лінії сітки

  6. Вісь Ох має назву "Інтервали часу"

  7. Розмір шрифту 12

  8. Шрифт "Sans serif

  9. Вісь Оу має назву "Частота потраплянь"

4.11 Розмір шрифту 12

4.12Шрифт "Sans serif

5. Кінець.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]