Требования к отчетам
.docТребования к отчетам
Лабораторная работа №1 (шесть занятий)
Проектирование с помощью инструментального комплекса СИМПР
-
Титульный лист.
-
Содержание.
-
Постановка задачи (С помощью СИМПР … модель… программный модуль).
-
Общее описание предметной области, схема и правила поведения объекта(ов).
-
Описание табличной модели (сколько таблиц, за что отвечают, сами таблицы, логические отношения между условиями, полнота и непротиворечивость таблиц, результат трансляции).
-
Пример работы программы (Последовательность ситуаций и их решение в виде текста и/или скриншотов/схем с подписями)
-
Приложение. Выдержки из программного кода с комментариями, в частности цикл обработки сообщений.
Указание: Создать не менее трех таблиц по 6 условий, правил и действий (3табл*18=54 или 54=2табл*27) на одного студента. Желательно использование логических отношений. При доработке чужой модели, ее надо расширить также не менее чем на 54 условия/правила/действия, а при сдаче работы показать и предыдущую, в постановке задаче также отразить «что было – что стало».
Модель должна запускаться и корректно работать не только на вашем ПК, но на компьютерах компьютерного класса кафедры ПМ, а также без установки среды разработки со всеми библиотеками. Делайте Release-версию!
Лабораторная работа №2 (одно занятие) Матрица игры. Биматричные игры
(полные требования и задание получите на лекции у Еремеева А.П.)
-
Титульный лист.
-
Часть 1. Постановка задачи. Вывод формулы.
-
Расчет по полученным формулам в ручную.
-
Решение с помощью программного средства методом Брауна-Робинсона.
-
Часть 2. Постановка задачи о двух КБ.
-
Упрощение матрицы.
-
Поиск стратегии поведения тремя методами с помощью программного средства.
-
Сравнение и анализ результатов.
Лабораторная работа №3 (пять-шесть занятий)
Моделирование с помощью системы интеллектуального имитационного моделирования РДО
-
Титульный лист.
-
Содержание.
-
Постановка задачи (С помощью РДО…).
-
Общее описание предметной области, схема и правила поведения объекта(ов).
-
Описание имитационной модели
-
Типы ресурсов: сколько типов ресурсов, их назначение, сами типы ресурсов (из файла) с комментариями;
-
Ресурсы: сколько ресурсов, их назначение, сами ресурсы (из файла) с комментариями);
-
Операции: сколько типов операций и самих операций, их назначение, список операций (из файла) с комментариями. Если вместо операций используются точки решения, то соответственно их список;
-
Интерфейс: сколько кадров анимации использовано, описание и назначение, рисунки с комментариями;
-
Выполнение: объект прогона (из файла) и условие завершения прогона;
-
Статистика: Какая статистика собиралась, анализ и выводы.
-
-
Приложение. Объекты констант, функций и последовательностей, образцов операций, кадров анимации, требуемой статистики.
Указание: задействовать клавиатурные операции для интерактивного управления.
СИМПР. Delphi
const
MESSAGE_STR='MyMessage';
No=0;
Yes=1;
type
TForm = class(TForm)
...
procedure WndProc(var Message: TMessage);override;
...
public
msgSIMPR:UINT;
end;
procedure TCubeForm.FormCreate(Sender: TObject);
begin
MsgSIMPR:=RegisterWindowMessage(MESSAGE_STR);
end;
procedure TCubeForm.WndProc(var Message: TMessage);
var res:boolean;
begin
if message.Msg=msgSIMPR then
begin
//ПОЛУЧИЛИ СООБЩЕНИЕ!!!!!!!!!!
Res:=false;
if message.WParamHi=0 then
begin
//УСЛОВИЕ!!!!!!!!!!
case message.WParamLo of
//таблица1
1 : begin
case message.LParam of
1: begin // условие 1
if ... then Res:=true;
end;
2: begin // условие 2
if ... then Res:=true;
end;
...
end; {case}
end;
//таблица2
2 : begin
case message.LParam of
1: begin // условие 1
if ... then Res:=true;
end;
2: begin // условие 2
if ... then Res:=true;
end;
...
end; {case}
end; {2}
end; {case}
end;
if message.WParamHi=1 then
begin
//Действие!!!!!!!!!!
case message.WParamLo of
//таблица 1
1 : begin
case message.LParam of
1: begin // действие 1
...
end;
2: begin // действие 2
...
end;
...
end; {case}
end; {1}
//таблица 2
2 : begin
case message.LParam of
1: begin // действие 1
...
end;
2: begin // действие 2
...
end;
...
end; {case}
end; {2}
...
end;{case}
Res:=true;
end;
//Выдали результат!!!!!!!!!
if res then message.Result:=1
else message.Result:=0;
end
else inherited WndProc(Message); // на другие сообщения
end;
СИМПР. C++ Biulder
#define USERMESSAGE "MyMessage"
#define YES 1
#define NO 0
•
#define CONDITIONS 0
#define ACTIONS 1
TForml *Forml; //_______________________________
__fastcall TForml::TForml(TComponent* Owner)
: ТForm(Owner) {
}
//----------------------------------
void __fastcall TForml::WndProc(Messages::TMessage &Message) {
if(Message.Msg == OurMessage)
Message.Result = DoPhone(Message.WParamHi,Message.WParamLo,Message.LParam) ; else
TCustomForm::WndProc(Message);
}
//------------------------------
void __fastcall TForml::FormCreate(TObject *Sender)
{
OurMessage = RegisterWindowMessage(USERMESSAGE);
...}
//----------------------------------
int TForml::DoPhone(Word WParamHi, Word WParamLo, int LParam)
{
switch(WParamHi)
{
case CONDITIONS: // Условия switch(WParamLo) {
case 1: // Таблица 1 switch(LParam) // Номер условия {
case 1: // Условие 1
if (…) return YES
else return NO;
case 2: // Условие 2
if (…) return YES
else return NO; }
break;
case 2: // Таблица 2 switch(LParam) // Номер условия {
case 1: // Условие 1
if (…) return YES
else return NO;
case 2: // Условие 2
if (…) return YES
else return NO};
break; //
....
}
//////////// case ACTIONS: // Действия switch(WParamLo) {
case 1: // Таблица 1 switch(LParam) // Номер действия {
case 1: // Действие 1
……
return YES;
case 2: // Действие 2
……
return YES;
}
case 2: // Таблица 2 switch(LParam) // Номер действия {
case 1: // Действие 1
……
return YES;
case 2: // Действие 2
……
return YES;
}
....
break;
}
} }