
Среда программирования: C++ Builder 6.0
Название работы: Моделирование сети Петри с добавлением параметра "Время"
Тематика работы: Алгоритмы, Математика, Технологии, Прочие
Объем программы: 9 (по десятибалльной шкале)
Уровень сложности: 9 (по десятибалльной шкале)
Разработчик (автор):
Программист сайта kursovik.com
(письмо автору)
Данная работа написана ЧЕЛОВЕКОМ без использования ИИ
Ключевые слова: сеть, петри, время, моделирование
Функции программы:
Программа позволяет пользователю добавлять, редактировать и удалять позиции и переходы, устанавливать и убирать фишки из вершин. Файл описания сети может быть сохранен на диск и считан с диска.
После ввода данных сети пользователь имеет возможность пройти сеть и получить статистические данные.
При прохождение сети учитывается параметр времени - фишка задерживается в вершине на определенное время.
Правила использования программы
Программа имеет две вкладки "Сеть Петри" и "Статистика". Во вкладке "Сеть Петри" осуществляется ввод и редактирование сети Петри, а также моделирование функционирования сети.
Выполнение основных функций осуществляется с помощью указателя мыши. Для определения, какая именно функция будет выполняться при нажатии на кнопку мыши, используется окно "Действие".
Возможны действия:
1) Создание вершины
2) Перемещение вершины
3) Создание перехода
4) Перемещение перехода
5) Создание связи
6) Удаление связи
7) Выполнение сети - активация переходов
Щелчок на элементе сети - переходе или вершине - делает этот элемент выбранным. Щелчок на пустом месте снимает выделение, если только не выбрана операция перемещения элемента.
Действия 1, 3 могут быть выполнены в любой момент, выбрав одно из этих действий нужно нажать на пустом месте рабочего поля, и там будет создана вершина или переход, и этот элемент становится выбранным.
Действия 2, 4 возможны только при выделенном переходе или вершине. В этом случае нажатие на пустом месте рабочего поля приводит к перемещению выделенной вершины или перехода в это место.
Действия 5 и 6 осуществляются следующим образом. Если ни вершина ни переход не выбраны, то первый щелчок мыши выбирает соответствующий элемент. Далее всё зависит от выбранного элемента.
Если выбран переход, то щелчок на вершине добавляет или удаляет выходную связь между переходом и вершиной. При этом добавление связи при уже существующей связи увеличивает ее кратность, а удаление связи уменьшает ее кратность до полного исчезновения.
Если выбран переход, и щелчок опять производится по переходу, то меняется активный переход.
Если выбрана вершина, то щелчок на переходе добавляет или удаляет входную связь между вершиной и переходом. При этом добавление связи при уже существующей связи увеличивает ее кратность, а удаление связи уменьшает ее кратность до полного исчезновения.
Щелчок на другой вершине делает ее активной.
Щелчок на пустом месте приводит к снятию выделения. Далее может быть выбрана как вершина, так и переход.
Действие 8, "Выполнение", переводит сеть в режим вывода активных переходов. Если выбрано это действие, то "зеленым" подсвечиваются те переходы, которые могут быть выполнены. Щелчок мышью на переходе выполняет его.
Кроме того, внизу окна имеется кнопка "Выполнить шаг". За один шаг время всех фишек уменьшается на единицу, фишки, которые достигли нулевого времени перемещаются либо с входа вершины на выход, либо удаляются.
Меню позволяет сохранить и считать сеть Петри, выйти из программы и очистить статистику, начав подсчет времени с нуля. В файл сохраняются данные сети без фишек. При сбросе все фишки удаляются.
Выбрана следующая модель сети Петри:
- Вершины имеют название (для вывода статистики), а также параметры "Задержка" и "Ожидание".
- "Задержка" - время, которое фишка проводит на входе вершины. В течении этого времени фишка не может быть использована для активации переходов. Если время задержки равно нулю, фишка попадает на выход по истечении следующего такта времени, то есть если добавить фишку в вершину, на выход она попадет не ранее нажатия кнопки "Выполнить шаг", и потратит на это единицу времени.
- "Ожидание" - время, в течение которого фишка ожидает активации перехода на выходе из вершины. Если время истекло, а фишка не была использована - она теряется. Если время ожидания равно нулю - фишка может ожидать на выходе бесконечное время.
- Переходы имеют название (для вывода статистики). Может быть выполнено несколько переходов, но последовательно. При этом фишки снимаются с выходов вершин и передаются на входы вершин в количестве, указанном в кратности связи. Переход может быть выполнен, только если он активизирован, то есть на каждом его входе есть фишки в количестве, не меньшем кратности связи.
- Фишки имеют собственные счетчики времени, так как несколько фишек может находиться в одном месте, но разное время. При необходимости использования всегда выбираются фишки с меньшим, но не нулевым временем (то есть те фишки, которые могут "просрочиться"). Фишки с нулевым временем на выходе вершины потеряться не могут.
В качестве статистических данных собираются:
- Данные о количестве поступивших в вершину фишек.
- Данные о среднем времени нахождения фишек на выходе
- Данные о количестве вышедших фишек
- Данные о количестве потерянных фишек
- Число срабатываний переходов
Вершины отображаются в виде кружочков. В верхней части кружочка отображается название вершины, в левом нижнем поле - количество обрабатываемых фишек (задерживаемых в вершине), в правом нижнем поле - количество фишек, ожидающих на выходе из вершины. Слева к вершине подходят входящие связи, справа из вершины выходят уходящие связи.
Переходы отображаются в виде вертикальных полос. Слева к переходу подходят активирующие связи, справа выходят выходные. Переход активен (закрашен зеленым при выборе кнопки "Выполнение"), если все активирующие связи на своем входе имеют требуемое количество фишек.
Входные для переходов связи отображаются зеленым цветом. Выходные для переходов связи отображаются синим цветом. В середине связи отображается кратность - число фишек, которые будут сняты с вершины или добавлены в вершину. Если кратность равна единице, число не отображается.
Программа содержит два модуля, общее число строк кода - 1083.
Описание (отчет): Нет, но можно заказать его написание
Unit1
Unit2
Petri
Unit1
Unit1
kuku
Petri
Petri
Unit1
Petri
Unit2|
Стоимость ИСХОДНОГО ТЕКСТА программы составляет 2500 руб РФ Продажа каждой работы строго учитывается, у каждой работы есть своя история продаж. |