Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
27.doc
Скачиваний:
12
Добавлен:
15.06.2014
Размер:
153.6 Кб
Скачать

Реализация задачи в программном виде

Задача реализована в программном виде на языке программирования Object Pascal в среде программирования Borland Delphi 6.0. Программа имеет удобный пользовательский интерфейс и наглядное представление. Используется возможность изменять параметры целевой функции и исходные данные задачи. Помимо основных функций, программа содержит справку по программе и теоретическую часть решения задачи. Внешний вид программы представлен на рис.1.

рис.1. Внешний вид программы.

Поле "Параметры функции" содержит три параметра функции полезности (см. условие), которые могут изменяться в пределах 0...10.

Поле "Исходные данные" служит для установки исходных данных, таких как общая сумма денег и цена каждого товара. Сумма изменяется в пределах 0...5000, а цена товаров - 0...100.

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

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

В программе также имеется кнопка "Теория решения" по нажатию которой открывается окно, содержащее теорию по решению задачи.

Ниже расположен текст основного модуля программы:

Var {Используемые переменные}

//Параметры функции:

a,b,y : Byte;

//Исходные данные:

p1,p2,p3 : Byte;

J : Word;

//Результат:

x1,x2,x3 : Integer;

{Основные процедуры и функции программы}

{Создание главной формы ====================================}

procedure TfrmMain.FormCreate(Sender: TObject);

begin

Calculation_Result;

end;

{Подсчет результатов =======================================}

procedure TfrmMain.Calculation_Result;

begin

//Определение параметров:

a := a_SpinEdit.Value;

b := b_SpinEdit.Value;

y := y_SpinEdit.Value;

//Определение исходных данных:

J := J_SpinEdit.Value;

p1:=p1_SpinEdit.Value;

p2:=p2_SpinEdit.Value;

p3:=p3_SpinEdit.Value;

//Подсчет результатов:

x1:=Trunc((J*a)/(p1*(a+b+y)));

x2:=Trunc((J*b)/(p2*(a+b+y)));

x3:=Trunc((J*y)/(p3*(a+b+y)));

//Вывод результатов:

x1_Edit.Text:=IntToStr(x1);

x2_Edit.Text:=IntToStr(x2);

x3_Edit.Text:=IntToStr(x3);

Vsego_Edit.Text:=IntToStr(x1+x2+x3);

Summa_Edit.Text:=IntToStr(p1*x1+p2*x2+p3*x3);

end;

{Кнопка Решить задачу =====================================}

procedure TfrmMain.Run_ButtonClick(Sender: TObject);

begin

Calculation_Result;

end;

{Кнопка Выход =============================================}

procedure TfrmMain.Exit_ButtonClick(Sender: TObject);

begin

Application.Terminate;

end;

{Кнопка Справка по программе ==============================}

procedure TfrmMain.Help_ButtonClick(Sender: TObject);

begin

frmHelp.Show;

end;

{Кнопка Теория решения ====================================}

procedure TfrmMain.Teory_ButtonClick(Sender: TObject);

begin

frmTeor.Show;

end;

{==========================================================}

end.

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

  1. Дягтерев Ю.И.//Исследование операций: Учеб. для вузов по спец. АСУ. – М.: Высш. шк., 1986.

  2. Морозов В.В., Сухарев А.Г., Федоров В.В.//Исследование операций в задачах и упражнениях: Учеб. пособие. – М.: Высш. шк., 1986.

  3. Электронный учебник по линейному и нелинейному программированию.

14

Соседние файлы в предмете Теория принятия решений