Лабораторные работы (2009) (Отчет по Симпру)

Посмотреть архив целиком

Московский Энергетический Институт

(Технический Университет)







Лабораторная работа №1

«Разработка при помощи Инструментального комплекса систем принятий решения реального времени СИМПР игры Парковка»











Группа: А-16-06

Выполнил: Симанженков К. А.

Безуглов Е.В.

Проверила: Гречкина П.В.





Москва 2009


Содержание


Содержание………………………………………………стр. 1

Постановка задачи……………………………………….стр. 2

Общее описание предметной области………………….стр. 2

Описание интерфейса……………………………………стр. 2

Описание табличной модели……………………………стр. 3

Выдержки из программного модуля……………………стр. 7

Список литературы………………………………………стр. 10












































  1. ПОСТАНОВКА ЗАДАЧИ.


Задача: разработать модель принятия решения в определённой ситуации при помощи СИМПР и программный модуль, который будет интерпретировать эту модель, заданную в таблицах решений СИМПР и выводить результаты на экран.


  1. ОБЩЕЕ ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ.


Предметной областью данной задачи является проезд автомобилей через КПП и оплата услуг предоставляемых стоянкой. Взависимости от автомобиля (легковой, грузовой, минивен, мотцикл) существую 4 типа стоянки на которые они могут припарковаться. Также на стоянке предлагаются услуги по мытью автомобилей, обслуживанию VIP-клиентов, помощи ученикам и паркове автомоболей и их прицепов, помимо этого на стоянке введены штрафы за использование шипованой резины. Для прицепов предусмотрена отдельная стоянка, так же для VIP-клиентов на каждой из стоянок сделаны VIP-места.



  1. ОПИСАНИЕ ИНТЕРФЕЙСА.




Рисунок 1. Общий вид игрового экрана.


Программа представляет собой форму, на которой схематично отображена моделируемая ситуация. В левой части окна расположено изображение, иллюстрирующее процесс прохождения автомобилем КПП, в нижней части можно увидеть штрафы и оплату за услуги предоставляемые данному автомобилю. Сумма штрафов и доплат для каждого вида транспорта разная, для легковой 50руб., для грузовой 150руб., для минивена 100руб., для мотоцикла 25руб.





  1. ОПИСАНИЕ ТАБЛИЧНОЙ МОДЕЛИ.


Игра реализована на основе двух таблиц.

1. Управляющая таблица. Определяет, необходимо ли перейти к следующему пассажиру, или же завершить работу программы.




Таблица используется для определения типа транспортного средства


Таблицы полны, так как есть правило «Иначе», таблицы непротиворечивы.


Во всех таблицах в случае перехода по «Иначе» выполняется действие остановки.
















2. Четыре основных таблицы. В них описываются параметры присущие каждому виду автомобилей.

Таблица 2

Для легковой



Условие 1

Желает припарковаться?

Условие 2

С прицепом?

Условие 3

VIP клиент?

Условие 4

Шипованая резина?

Условие 5

Ученик?

Условие 6

Грязная машина?

Действие 1

Проехать на парковку

Действие 2

Воспользоваться парковкой для прицепов

Действие 3

Места для VIP

Действие 4

Штраф за шипы 50 руб.

Действие 5

Доплата за парковку учеников 50 руб.

Действие 6

Доплата за помывку машины 50 руб.

Действие 7

Уехать

Действие 8

Перейти к следующей машине



Таблица 3

Для Грузовой



Условие 1

Желает припарковаться?

Условие 2

С прицепом?

Условие 3

VIP клиент?

Условие 4

Шипованая резина?

Условие 5

Ученик?

Условие 6

Грязная машина?

Действие 1

Проехать на парковку

Действие 2

Воспользоваться парковкой для прицепов

Действие 3

Места для VIP

Действие 4

Штраф за шипы 150 руб.

Действие 5

Доплата за парковку учеников 150 руб.

Действие 6

Доплата за помывку машины 150 руб.

Действие 7

Уехать

Действие 8

Перейти к следующей машине




Таблица 4

Для Минивена



Условие 1

Желает припарковаться?

Условие 2

С прицепом?

Условие 3

VIP клиент?

Условие 4

Шипованая резина?

Условие 5

Ученик?

Условие 6

Грязная машина?

Действие 1

Проехать на парковку

Действие 2

Воспользоваться парковкой для прицепов

Действие 3

Места для VIP

Действие 4

Штраф за шипы 100 руб.

Действие 5

Доплата за парковку учеников 100 руб.

Действие 6

Доплата за помывку машины 100 руб.

Действие 7

Уехать

Действие 8

Перейти к следующей машине










Таблица 5

Для Мотоцикла



Условие 1

Желает припарковаться?

Условие 2

С прицепом?

Условие 3

VIP клиент?

Условие 4

Шипованая резина?

Условие 5

Ученик?

Условие 6

Грязная машина?

Действие 1

Проехать на парковку

Действие 2

Воспользоваться парковкой для прицепов

Действие 3

Места для VIP

Действие 4

Штраф за шипы 25 руб.

Действие 5

Доплата за парковку учеников 25 руб.

Действие 6

Доплата за помывку машины 25 руб.

Действие 7

Уехать

Действие 8

Перейти к следующей машине



Таблицы полны, так как есть правило «Иначе», таблицы непротиворечивы.


Во всех таблицах в случае перехода по «Иначе» выполняется действие остановки.



  1. ВЫДЕРЖКИ ИЗ ПРОГРАММНОГО МОДУЛЯ.


Данная программа разработана в среде Microsoft Visual Studio 2005 на языке C#.

Ниже приведён цикл обработки сообщений от СИМПР :


using System;

using System.Windows.Forms;

using System.Threading;

using System.Runtime.InteropServices;

using System.Drawing;


namespace parking

{

public class MyHookClass : NativeWindow

{

[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]

static extern uint RegisterWindowMessage(string lpString);


uint simpr;


public car Car = new car();

parking Parking = new parking();


public string log = "";


public MyHookClass(IntPtr hWnd)

{

simpr = RegisterWindowMessage("MyMessage"); // регистрируем своё сообщение

this.AssignHandle(hWnd);

}


private IntPtr SetPtr(bool term)

{

if (term) return new IntPtr(1);

return new IntPtr(0);

}


protected override void WndProc(ref Message m) // в эту функцию приходят все сообщения от СИМПРА

{

if (m.Msg == simpr)


Случайные файлы

Файл
38846.rtf
118310.rtf
141301.rtf
137945.rtf
117459.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.