а обробляти всередині методу Виписка . Поточна оцінка стану класу Пацієнт змінюється щодня і повинна ра-зигриваться на кожному такті моделює циклу спеціальним методом, ко-торий можна назвати Ізіеніть оцінку . Поточне кількість днів просто увеличи-ється на одиницю на кожному такті циклу, що в окремому методі не потребує. Тепер обговоримо логіку роботи методів run (). Для класу Пацієнт метод run () завжди і незалежно від будь-яких умов має здійснити інкремент кількості днів, проведених в палаті, і викликати метод Змінити оцінку . Тому в даному випадку представляється розумним у вигляді винятку відмовитися від методу run () для класу Пацієнт , а зазначену логіку реалізувати всередині методу run () для класу Палата . Перерахуємо, що і в якій послідовності повинен робити цей метод:
1. Провести обхід списку пацієнтів і кожному з них змінити оцінку.
2. Провести виписку тих пацієнтів, чия оцінка свідчить про те, що вони одужали (набрали 49 і більше балів).
3. Розіграти прибуття двох нових пацієнтів. Для кожного з них метод Прибуття справить одну з таких дій:
1) прийме в палату на лікування за наявності вільних місць;
2) відмовить у прийомі, якщо вільних місць немає і оцінка хворого перевищує 41 бал;
3) якщо вільних місць немає, але є хворий з оцінкою, що досягла 47 балів, випише цього хворого і прийме нового хворого на лікування, якщо його оцінка не перевищує 41 бал ;
) відмовить у прийомі, якщо вільних місць немає і ніхто з хворих не досяг оцінки 47 балів.
4. Збільшити всім хворим в палаті кількість проведених у ній днів на одиницю.
5. Провести дії по збору необхідної статистики - коефіцієнта завантаження палати та середнього числа днів, проведених хворим у палаті (після виклику методу Виписка ).
4. Програмна реалізація алгоритму
При створення імітаційної моделі черги з різнотипними заявками (робота порту) була вибрана мова програмування C + + і написана програма на цій мові, що дозволяє повною мірою відобразити функціонування системи. br/>
Лістинг програми фай...