лабы / lab1_IS221_Ekaterina_Magalnik
.docx
ФЕДЕРАЛЬНОЕ
АГЕНСТВО ВОЗДУШНОГО ТРАНСПОРТА
(РОСАВИАЦИЯ)
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ» (МГТУ ГА)
Кафедра вычислительных машин, комплексов, сетей и систем.
Лабораторная работа защищена с оценкой ____________________
____________________
(подпись преподавателя, дата)
ЛАБОРАТОРНАЯ РАБОТА №1
по дисциплине «Моделированию вычислительных систем и сетей».
Тема: «Создание программного эмулятора системы массового обслуживания.»
Выполнила студент группы ИС221
Магальник Екатерина Борисовна
Руководитель: Петрухин Сергей Александрович
МОСКВА – 2025
Цель работы:
Применение объектно-ориентированного программирования для создания класса описывающего поведение системы массового обслуживания.
Листинг:
import random class SMO: def __init__(self, smo_name): self.smo_name = smo_name self.queue = [] self.max_size = 3 print(f"СМО: {smo_name}") def request(self, name): if len(self.queue) < self.max_size: self.queue.append(name) print(f"{name} в очереди") else: print(f"{name} не в очереди") def exec(self): if not self.queue: print("нет заявок") return current_request = self.queue.pop(0) if random.uniform(0.0,1.0) < 0.7: print(f"{current_request} выполнена") else: print(f"{current_request} не выполнена") """if len(self.queue) < self.max_size: self.queue.append(current_request)""" def echo(self): if self.queue: queue_state = " ".join(self.queue) print(f"очередь: {queue_state}") else: print("очередь пуста") def abc(): s = SMO("smo_name") s.request("A") s.request("B") s.request("C") s.echo() s.exec() s.exec() s.echo() s.exec() s.echo() def abcd(): s = SMO("smo_name") s.request("A") s.request("B") s.request("C") s.request("D") s.exec() s.exec() s.echo() s.exec() s.exec() s.echo() def dogs_test(): s = SMO("Приют для собак") s.request("Лабрадор") s.request("Хаски") s.request("Пудель") s.request("Японская хохлатая") s.echo() s.exec() s.exec() s.echo() s.exec() s.exec() s.echo() if __name__ == "__main__": print("=== Тест abc() ===") abc() print("\n=== Тест abcd() ===") abcd() print("\n=== Тест приюта для собак ===") dogs_test() |
Результат работы программы:
Вывод:
В ходе выполнения лабораторной работы была достигнута основная цель: разработан программный комплекс на основе объектно-ориентированного программирования (ООП) для моделирования и анализа системы массового обслуживания. Работа позволила на практике изучить ключевые принципы ООП и применить их для решения задачи имитационного моделирования.
Таким образом, применение объектно-ориентированного подхода доказало свою высокую эффективность для задач моделирования СМО. ООП позволило создать гибкую, масштабируемую и хорошо структурированную программу. Разработанный класс является универсальным инструментом: путем простого изменения параметров его конструктора можно исследовать поведение различных конфигураций систем массового обслуживания, что имеет большую практическую ценность для принятия оптимальных решений в области управления потоками заявок в реальных системах (информационных, производственных, логистических).
