Мегаобучалка Главная | О нас | Обратная связь


Руководство пользователя к разработанному решению



2016-01-05 336 Обсуждений (0)
Руководство пользователя к разработанному решению 0.00 из 5.00 0 оценок




Программа "Максимизации капиталовложений" предназначена для вычисления максимально возможного суммарного прироста прибыли всех предприятий (субъектов), прироста прибыли каждого предприятия, а также количества ресурсов, которые необходимо выделить каждому предприятию, чтобы суммарный прирост прибыли был максимальным.

Для работоспособности данного приложения вы должны обладать следующим перечнем программных и технических средств:

· ПК на базе процессора Intel, AMD;

· Оперативная память 128 МБ;

· Видео: совместимая VGA видеокарта;

· Операционная система Windows XP/Windows7;

· Клавиатура, мышь;

· Microsoft.NET Framework 3.0;

Для начала работы с программой запустите файл RZMK.exe. Далее вы должны заполнить пустые поля на форме данными.

Рисунок 17 «Главная форма приложения»

 

 


Для проведения операций над введенными данными необходимо воспользоваться кнопками (Рис.19):
- Результат - программа вычисляет и выводит результат.
- Сброс - очищает поля от введенных значений и ответа.
- Файл - Пример - автоматически заполняет поля вложения ресурсов и их распределения тестовыми значениями.
- О программе - вызывает информацию о программе и его разработчике

Рисунок 19 "Кнопки"

 

После нажатия кнопки "Рассчитать" программа выдает результаты максимального суммарного прироста прибыли, прирост прибыли на каждом предприятии и количество необходимых ресурсов (Рис.20), .

Рисунок 20 "Максимальный прирост прибыли и прирост прибыли и выделенные ресурсы на предприятиях "

 

Алгоритм решений унифицированной задачи

Начало
Выбор действия
Выбор действия
Конец
Ввод данных
Помощь
Тестовое задание  
  Решение
Вывод результата

 


Рисунок 24 «Алгоритм решения унифицировнанной задачи»

Заключение

В ходе разработки курсового проекта мной была рассмотрена и изучена задача о максимизации капиталовложений, что такое задача о максимизации капиталовложений и где она применяется.

 

 

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

1. Кузнецов А.М., Сакович В.А, Холод И.И. Высшая математика. Математическое программирование. Минск, Высшая школа, 2001.

2. Федосеев В.В. и др. Экономико-математические методы и прикладные модели: Учебное пособие для ВУЗов. – М:. Юнити, 2002.

3. Шикин Е.А., Чхартишвили А.Г. Математические методы и модели в управлении – М:. Дело 2000.

 

Приложение

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, Math, ExtCtrls, Menus, ShellAPI;

 

type

TForm1 = class(TForm)

 

StringGrid1: TStringGrid;

 

Button1: TButton;

Button2: TButton;

 

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

 

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

private

{ Private declarations }

 

public

{ Public declarations }

end;

 

var

Form1: TForm1;

MasSum:Array[0..5,0..5] of Integer; // Массив для хранение суммы

MasMax:Array[1..5,1..5] of Integer; // Массив для хранение максимальных чисел

Cells:Array[0..20] of TPoint; // Массив точек (записи координат максимальных чисел)

L:Integer;

 

implementation

 

uses Unit2;

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

var

myRect: TGridRect;

I:Integer;

begin

// Смещаем фокус (выделение)

with myRect do

begin

Left:=-1;

Top:=-1;

Right:=-1;

Bottom:=-1;

end;

 

StringGrid1.Selection:=myRect;

 

// Заполняем заголовки таблицы

with StringGrid1 do

begin

Cells[0,0]:='U';

for I:=1 to 5 do

begin

Cells[0,I]:='L'+IntToStr(I)+'(U)';

Cells[I,0]:=IntToStr(I-1);

end;

end;

end;

 

// Процедура для подсчета суммы

procedure Sum();

var

I, J: Integer;

begin

For I:=1 to 5 do

For J:=1 to 5 do

MasSum[I,J]:=MasSum[I,0] + MasSum[0,J];

end;

 

// Процедура для нахождние максимальных чисел (диагонали)

// и записи координат в массив

procedure Max();

var

I,J,iMax,jMax:Integer;

C:TPoint;

begin

iMax:=0; jMax:=0;

For I:=5 downto 1 do

begin

MasMax[I,1]:=MasSum[1,I];

For J:=I downto 1 do

If MasSum[I-J+1,J] >= MasMax[I,1] then

begin

MasMax[I,1]:=MasSum[I-J+1,J];

iMax:=I-J+1;

jMax:=J;

MasMax[I,2]:=J-1; // В какой строке найдено максимальное знач.

end;

C.X:=jMax; C.Y:=iMax; // Координаты максимальных значений

Cells[L]:=C;

L:=L+1;

end;

end;

 

// Сбрасываем введенные нами значения

procedure TForm1.Button1Click(Sender: TObject);

var

I,J: Integer;

begin

For I:=1 to 5 do

For J:=1 to 5 do

Form1.StringGrid1.Cells[I,J]:='';

Form2.Close;

end;

 

// Процедура подсчета итераций

// Вывод результата в таблицы

procedure TForm1.Button2Click(Sender: TObject);

var

I,J,K,C,P:Integer;

begin

Form2.Show;

L:=0; C:=0; P:=2;

while C<=6 do

begin

K:=1;

For I:=1 to 5-K+1 do

begin

For J:=1 to 5-K+1 do

begin

If C=0 then MasSum[I,0]:=StrToInt(StringGrid1.Cells[I,1])

else MasSum[I,0]:=StrToInt((Form2.Components[C-1] as TStringGrid).Cells[I,1]);

MasSum[0,J]:=StrToInt(StringGrid1.Cells[J,P]);

(Form2.Components[C] as TStringGrid).Cells[I,0]:=IntToStr(MasSum[I,0]);

(Form2.Components[C] as TStringGrid).Cells[0,J]:=IntToStr(MasSum[0,J]);

Sum();

(Form2.Components[C] as TStringGrid).Cells[I,J]:=IntToStr(MasSum[I,J]);

(Form2.Components[C+1] as TStringGrid).Cells[I,0]:=IntToStr(K-1);

end;

K:=K+1;

end;

Max();

for I:=1 to 5 do

begin

(Form2.Components[C+1] as TStringGrid).Cells[I,1]:=IntToStr(MasMax[I,1]);

(Form2.Components[C+1] as TStringGrid).Cells[I,2]:=inttostr(MasMax[I,2]);

(Form2.Components[C+1] as TStringGrid).Cells[0,0]:='E';

(Form2.Components[C+1] as TStringGrid).Cells[0,1]:='F'+IntToStr(P)+'(E)';

(Form2.Components[C+1] as TStringGrid).Cells[0,2]:='X'+IntToStr(P)+'(E)';

end;

C:=C+2;

P:=P+1;

end;

Form2.StringGrid1.Invalidate;

 

// z(max)

Form2.LabeledEdit1.Text:=' '+Form2.StringGrid8.Cells[5,1];

 

// x5

Form2.LabeledEdit6.Text:=' '+Form2.StringGrid8.Cells[5,2];

 

// x4

Form2.LabeledEdit5.Text:=' '+Form2.StringGrid6.Cells[4-

StrToInt(Form2.LabeledEdit6.Text)+1,2];

 

// x3

Form2.LabeledEdit4.Text:=' '+Form2.StringGrid4.Cells[4-

StrToInt(Form2.LabeledEdit6.Text)-StrToInt(Form2.LabeledEdit5.Text)+1,2];

 

// x2

Form2.LabeledEdit3.Text:=' '+Form2.StringGrid2.Cells[4-

StrToInt(Form2.LabeledEdit6.Text)-

StrToInt(Form2.LabeledEdit5.Text)-

StrToInt(Form2.LabeledEdit4.Text)+1,2];

 

// x1

Form2.LabeledEdit2.Text:=' '+IntToStr(4-

StrToInt(Form2.LabeledEdit6.Text)-

StrToInt(Form2.LabeledEdit5.Text)-

StrToInt(Form2.LabeledEdit4.Text)-

StrToInt(Form2.LabeledEdit3.Text));

end;

 

 

// Кнопка "Решить"

procedure TForm1.N2Click(Sender: TObject);

begin

Form1.Button2.Click;

end;

 

// Кнопка "Мой пример"

procedure TForm1.N3Click(Sender: TObject);

var

I:Integer;

begin

with StringGrid1 do

begin

for I:=1 to 5 do Cells[1,I]:=IntToStr(0);

 

Cells[2,1]:='5'; Cells[4,1]:='11';

Cells[2,2]:='3'; Cells[4,2]:='5';

Cells[2,3]:='7'; Cells[4,3]:='10';

Cells[2,4]:='4'; Cells[4,4]:='12';

Cells[2,5]:='3'; Cells[4,5]:='7';

 

Cells[3,1]:='9'; Cells[5,1]:='12';

Cells[3,2]:='4'; Cells[5,2]:='10';

Cells[3,3]:='9'; Cells[5,3]:='11';

Cells[3,4]:='8'; Cells[5,4]:='14';

Cells[3,5]:='5'; Cells[5,5]:='9';

end;

end;

 

// Кнопка "Сброс"

procedure TForm1.N4Click(Sender: TObject);

begin

Form1.Button1.Click;

end;

 

// Кнопка "Выход"

procedure TForm1.N5Click(Sender: TObject);

begin

Form1.Close;

Form2.Close;

end;

 

// О программе

procedure TForm1.N6Click(Sender: TObject);

begin

ShowMessage('Программа предназначена для решения задачи' + chr(13) +

'максимизации капатиловложений' + chr(13) + chr(13) +

 

'Разработал студент группы 10п-1' + chr(13) +

'Урусов Алексей' + chr(13) + chr(13) +

'УАвиаК, 2013г.');

end;

 

end.

 

unit Unit2;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, Math, StdCtrls, ExtCtrls, jpeg, ColorGrd, Buttons,

ImgList;

 

type

TForm2 = class(TForm)

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

StringGrid4: TStringGrid;

StringGrid5: TStringGrid;

StringGrid6: TStringGrid;

StringGrid7: TStringGrid;

StringGrid8: TStringGrid;

 

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

LabeledEdit3: TLabeledEdit;

LabeledEdit4: TLabeledEdit;

LabeledEdit5: TLabeledEdit;

LabeledEdit6: TLabeledEdit;

 

StaticText1: TStaticText;

StaticText2: TStaticText;

StaticText3: TStaticText;

StaticText4: TStaticText;

 

procedure SG_OnDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);

procedure FormCreate(Sender: TObject);

 

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form2: TForm2;

 

implementation

 

uses Unit1;

 

{$R *.dfm}

 

// Процедура для закрашивание максимальных элементов

// по найденным координатам

procedure TForm2.SG_OnDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);

var

I,F,N:Integer;

Change:Boolean;

begin

F:=0; N:=0;

while F<=6 do

begin

Change:=False;

For I:=N to N+4 do

begin

If (ACol = Cells[i].Y) and (ARow = Cells[i].X) then

begin

Change:=True;

Break

end;

end;

If Change then

begin

(Components[f] as TStringGrid).Canvas.Brush.Color:=clRed;;

(Components[f] as TStringGrid).Canvas.FillRect(Rect);

(Components[f] as TStringGrid).Canvas.TextOut(Rect.Left, Rect.Top, (Components[f] as TStringGrid).Cells[ACol, ARow]);

end;

N:=N+5;

F:=F+2;

end;

end;

 

// Процедруа для смещений фокуса (выделения)

procedure TForm2.FormCreate(Sender: TObject);

var

myRect:TGridRect;

C:Integer;

begin

with myRect do begin

Left:=-1;

Top:=-1;

Right:=-1;

Bottom:=-1;

end;

for C:=1 to 8 do

(Form2.FindComponent('StringGrid'+IntToStr(C)) as TStringGrid).Selection:=myRect;

end;

 

end.



2016-01-05 336 Обсуждений (0)
Руководство пользователя к разработанному решению 0.00 из 5.00 0 оценок









Обсуждение в статье: Руководство пользователя к разработанному решению

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (336)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)