м чином, ми маємо спільний спосіб побудови алгоритмів подібного типу, який включає такі основні компоненти:  
 1. Аналіз подій у системі та проектування структур даних необхідних для зберігання інформації пов'язаний з цими подіями; 
  2. Розробка окремих алгоритмів обробки цих подій включають в загальному випадку модифікацію параметрів стану системи та моделювання наступного події того типу, обробка якого виробляється цим алгоритмом; 
  Зв'язування окремих розроблених вище алгоритмів і структур даних в єдиній програмі. 
    2.3   Моделювання програми із заданими параметрами  
   У цій роботі необхідно провести імітаційне моделювання роботи Парикмахерской. Для моделювання даної задачі ми використовуємо СМО з N обробними пристроями без черги з відмовами. Алгоритм поставленого завдання, яка розглянута в п. 2.2. необхідно реалізувати на мові програмування С + +. 
  В якості параметрів моделі використовуємо наступні компоненти і макроозначення: 
				
				
				
				
			  В· Т - час моделювання (в хв.); p> В· RIN - генератор випадкового потоку надходять у систему вимог; 
  В· RОN - генератор інтервалів часу обробки вимоги оброблювальним пристроєм; 
  В· n-загальне число місць в кафе. 
  Оригінальний текст програми починається з визначення параметрів моделі та технічних вихідних даних. Всі вони визначаються за допомогою директиви препроцесора "# define". Макроси RIN і RОN визначають виклики функцій, що моделюють розподіл інтервалів часу між подіями приходу відвідувачів і інтервалів часу від початку до завершення обслуговування відвідувачів, відповідно. А макрос Trafik визначає виклик функції, що моделює середній трафік користувачів. Самі функції моделювання випадкових послідовностей, розподілених за різними законами, визначені у файлі Rand.срр, текст якого підключається до тексту моделі процесу за допомогою директиви препроцесора "# include" в першому рядку тексту програмної реалізації моделі. Константа "Т" визначає тривалість періоду моделювання в одиницях дискретного часу моделювання (У хвилинах). Константа "n" задає число обробних відвідувачів. ton [i] = -1 визначає спеціальне значення для елемента масиву ton [], що означає, що місце звільнилося (комп'ютер вільний). Оскільки масив ton [] призначений для зберігання моментів часу догляду відвідувач, які можуть приймати лише невід'ємні значення, то в якості такого, сигнализирующего про незайнятості комп'ютера значення, взяти перше невикористовуване негативне число - "-1". 
  Всі змінні визначаються як довгі цілочисельні змінні. Це пов'язано з тим, що діапазону значень простого типу int - від -32768 до 32767 може бути недостатньо для подання використовуваних значень даних моделі. Далі слід власне моделюючий алгоритм: 
  1 . Ініціалізація змінних: 
  1.1. Ініціалізація масиву ton [] - все перукарі позначаються як вільні привласненням елементів масиву значення "-1": 
  " for (...