Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / lab1_IS221_Ekaterina_Magalnik

.docx
Скачиваний:
0
Добавлен:
12.02.2026
Размер:
129.14 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО ВОЗДУШНОГО ТРАНСПОРТА

(РОСАВИАЦИЯ)

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ» (МГТУ ГА)

Кафедра вычислительных машин, комплексов, сетей и систем.

Лабораторная работа защищена с оценкой ____________________

____________________

(подпись преподавателя, дата)

ЛАБОРАТОРНАЯ РАБОТА №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()

Результат работы программы:

Вывод:

В ходе выполнения лабораторной работы была достигнута основная цель: разработан программный комплекс на основе объектно-ориентированного программирования (ООП) для моделирования и анализа системы массового обслуживания. Работа позволила на практике изучить ключевые принципы ООП и применить их для решения задачи имитационного моделирования.

Таким образом, применение объектно-ориентированного подхода доказало свою высокую эффективность для задач моделирования СМО. ООП позволило создать гибкую, масштабируемую и хорошо структурированную программу. Разработанный класс является универсальным инструментом: путем простого изменения параметров его конструктора можно исследовать поведение различных конфигураций систем массового обслуживания, что имеет большую практическую ценность для принятия оптимальных решений в области управления потоками заявок в реальных системах (информационных, производственных, логистических).

Соседние файлы в папке лабы