Материал: Метод аддитивной оптимизации

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам


Оптимальным является первый вариант оборудования, т.к. Fmax=F1=0,729.

2.3 Структурная схема программы











Рисунок 1 - Структурная схема программы

2.4 Схема взаимодействия модулей

Рисунок 2 - Схема взаимодействия модулей

3. Руководство программисту

Основную роль в сопровождении и эксплуатации программного продукта играет программист. Программист должен обеспечить работоспособность компьютера, на котором установлена программа и среды, которые необходимы для корректной работы программы.

Для корректной работы программы необходимо, чтобы все необходимые файлы были в наличии. Программист должен обеспечить надежное хранение, копирование файлов, при котором не будет нарушена ни целостность файлов, ни их количественный состав.

В процессе работы над программой, были созданы следующие файлы:

1)      код проекта (dpr): является центральным файлом проекта и представляет собой собственно программу. Имя проекта (программы) совпадает с именем файла проекта и указывается при сохранении этого файла на диске, первоначально это имя Project1;

2)      описание формы (dfm): Эти файлы автоматически создаются для каждой формы. Файлы описания форм являются ресурсом Delphi и содержат характеристики форм и их компонентов;

)        модули и модули форм (pas): файл модуля формы содержит описание класса формы. Кроме модулей в составе форм, при программировании можно использовать и отдельные модули, не связанные с какой-либо формой. Они оформляются по обычным правилам языка Object Pascal и сохраняются в отдельных файлах. Для подключения модуля его имя указывается в разделе uses того модуля или проекта, который использует средства этого модуля;

4) параметры проекта (dof): параметры из страниц Compiler и Linker вносятся в файл параметров проекта. Этот файл представляет собой текстовый файл, в котором построчно записаны параметры и их значения;

5)      параметры среды (cfg);

6)      описания ресурсов (res): при первом сохранении проекта автоматически создается файл ресурсов с именем файла проекта. Файл ресурсов может содержать: значки, растровые изображения, курсоры.

Кроме приведенных файлов, автоматически могут создаваться и другие файлы, например, резервные копии файлов: ~dp - для файлов с расширением dpr; ~pa -для файлов с расширением pas.

Главным модулем программы является модуль «Glav», в котором находится меню программы. Это модуль, в котором осуществляется ввод данных, решение задачи, а также сохранение данных. Также отображает таблицу с данными.

4. Руководство пользователя

Пользователь - является основным потребителем программ. Конечный пользователь не является специалистом в области программирования, т.е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой.

В данном случае конечным пользователем будут являться инженеры, секретарь а также другие сотрудники фирмы «ООО Чудо свечи», которые будут непосредственно работать с программой.

Пользователь, собирающийся работать с данным программным продуктом, должен иметь элементарные навыки работы в операционной системе Windows. Научиться работать с программой поможет «Справка», в которой пользователь может найти описание каждого меню программы и всю последовательность действий для работы с программой.

.1 Общие сведения

Определение самого эффективного отдела на предприятии не мало важная цель. Выделив самый эффективный отдел предприятие может обговорить и внести вклад в более выгодный отдел, для дальнейшего его развития. Метод аддитивной позволяет более эффективно и правильно вычислить производительность каждого отдела.

.2 Работа с помощью

У пользователей данной программы есть возможность использования помощи. Для этого нажимая на вкладку «Помощь», открывается контекстное меню, которое содержит: «О разработчиках», «Помощь».

При нажатии на пункт «Помощь» открывается окно со справкой пользователю, в которой будет описана программа в целом, как с ней работать.


Рисунок 3 - Справка пользователю

При нажатии на пункт «Разработчик» откроется окно с информацией о разработчиках данной программы:

Рисунок 4 - О разработчиках

4.3 Наиболее вероятные ошибки

При работе с программой очень часто возникают ошибки компиляции, и ошибки доступа к файлу.

Наиболее часто встречающиеся ошибки: [2] File not found (файл не найден);[0] Unable to invoke Code Completion due to errors in source code (ошибка при компиляции программы);[3] Invalid file name (неверное имя файла).

Заключение

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

Закрепила знания в среде программирования Delphi, разработав программу с помощью программы Delphi, используя её стандартные процедуры, функции и методы обработки данных. Интерфейс получился очень простым, доступным и интересным для любого пользователя, т.к. Delphi предоставляет большие возможности для качественного оформления программы.

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

Список использованных источников

1   Хомоненко А. «Самоучитель Delphi.net» - М: Издательство: BHV, 2011г. - 290 с.

2   Гагарина А. «Основы технологии разработки программных продуктов».Учебное пособие. - М: 2008г.-312 с.

3   Агальцов В.П. Математические методы в программирование. - М., 2012.-218 с.

4   Самарский А.А., Михайлов А.П. Математическое моделирование-ФИЗМАТЛИТ. -М:2013г.- 847 с.

5   Бережная Е.В. Математические методы моделирования.- М.: Финансы и статистика, 2010. - 432 с.

Приложение А

Текст программы

program Project1;,_glav in 'Unit_glav.pas' {glav},_proga in 'Unit_proga.pas' {proga},_proga2 in 'Unit_proga2.pas' {Proga2},_ometode in 'Unit_ometode.pas' {ometode},_razrab in 'Unit_razrab.pas' {razrab},_help in 'Unit_help.pas' {help};

{$R *.res}.Initialize;.CreateForm(Tglav, glav);.CreateForm(Tproga, proga);.CreateForm(TProga2, Proga2);.CreateForm(Tometode, ometode);.CreateForm(Trazrab, razrab);.CreateForm(Thelp, help);.Run;.Unit_glav;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, sSkinProvider, sSkinManager;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TsSkinManager;: TsSkinProvider;N5Click(Sender: TObject);N1Click(Sender: TObject);N2Click(Sender: TObject);N4Click(Sender: TObject);N7Click(Sender: TObject);N6Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: Tglav;Unit_proga, Unit_proga2, Unit_ometode, Unit_razrab, Unit_help;

{$R *.dfm}Tglav.N5Click(Sender: TObject);;;

Tglav.N1Click(Sender: TObject);.show;;

Tglav.N2Click(Sender: TObject);.show;;

Tglav.N4Click(Sender: TObject);.show;;

Tglav.N7Click(Sender: TObject);.show;;

Tglav.N6Click(Sender: TObject);.show;;.

Unit_help;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TMemo;

{ Private declarations }

{ Public declarations };

: Thelp;

{$R *.dfm}.

Unit_ometode;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, jpeg, ExtCtrls;= class(TForm): TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;

{ Private declarations }

{ Public declarations };

: Tometode;

{$R *.dfm}.

Unit_proga;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, Grids, ComCtrls, sButton, sLabel, sEdit;= class(TForm): TStringGrid;: TsButton;: TsButton;: TsLabel;: TsLabel;: TsLabel;: TsLabel;: TsEdit;: TsEdit;sButton1Click(Sender: TObject);sButton2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

: Tproga;,y,i,j,n:integer;:Real;,b:array[1..6,1..6] of Real;,F:array[1..6] of Real;

{$R *.dfm}Tproga.sButton1Click(Sender: TObject);:=Strtoint(sEdit1.Text);:=Strtoint(sEdit2.Text);.ColCount:=x+1;.RowCount:=y+2;.Height:=73+(18*(y-2));.Cells[0,y+1]:='Коэффициенты';.Cells[1,0]:='Затраты на сырье';.Cells[2,0]:='Время производства';.Cells[3,0]:='Объем производимой продукции';.Cells[4,0]:='Прибыль';.Cells[0,1]:='Отдел 1';.Cells[0,2]:='Отдел 2';.Cells[0,3]:='Отдел 3';.Enabled:=false;;

Tproga.sButton2Click(Sender: TObject);:=360;i:=1 to x doj:=1 to y do[j,i]:=Strtofloat(StringGrid1.Cells[i,j]);i:=1 to x doj:=1 to y doa[j,i]>mx[i] then mx[i]:=a[j,i];i:=1 to x do:=sr+mx[i];:=sr/x;i:=1 to x do{for i}mx[i]<sr thenj:=1 to y do b[j,i]:=a[j,i]/mx[i]j:=1 to y do b[j,i]:=1-(a[j,i]/mx[i]);; {/for i}i:=1 to x do[i]:=Strtofloat(StringGrid1.Cells[i,y+1]);j:=1 to y doi:=1 to x do[j]:=F[j]+(mx[i]*b[j,i]);:=0;i:=1 to y doF[i]>sr then:=F[i];:=i;;

.Caption:=sLabel3.Caption+floattostr(n)+'='+floattostr(F[n])+' ';.Caption:='Предприятие №'+floattostr(n)+' - наиболее эффективно работающее ';.Enabled:=false;;.

Unit_proga2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, Grids, ComCtrls, sEdit, sLabel, sButton;= class(TForm): TUpDown;: TUpDown;: TStringGrid;: TsButton;: TsButton;: TsLabel;: TsEdit;: TsEdit;: TsLabel;: TsLabel;: TsLabel;sButton1Click(Sender: TObject);sButton2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

: TProga2;,y,i,j,n:integer;:Real;,b:array[1..6,1..6] of Real;,F:array[1..6] of Real;

{$R *.dfm}TProga2.sButton1Click(Sender: TObject);:=286;:=Strtoint(sEdit1.Text);:=Strtoint(sEdit2.Text);.ColCount:=x+1;.Width:=253+(84*(x-2));.RowCount:=y+2;.Height:=73+(18*(y-2));.Cells[0,y+1]:='Коэффициенты';i:=1 to x do.Cells[i,0]:=Inttostr(i);i:=1 to y do.Cells[0,i]:=Inttostr(i);.Enabled:=false;;

TProga2.sButton2Click(Sender: TObject);:=360;i:=1 to x doj:=1 to y do[j,i]:=Strtofloat(StringGrid1.Cells[i,j]);i:=1 to x doj:=1 to y doa[j,i]>mx[i] then mx[i]:=a[j,i];i:=1 to x do:=sr+mx[i];:=sr/x;i:=1 to x do{for i}mx[i]<sr thenj:=1 to y do b[j,i]:=a[j,i]/mx[i]j:=1 to y do b[j,i]:=1-(a[j,i]/mx[i]);; {/for i}i:=1 to x do[i]:=Strtofloat(StringGrid1.Cells[i,y+1]);j:=1 to y doi:=1 to x do[j]:=F[j]+(mx[i]*b[j,i]);:=0;i:=1 to y doF[i]>sr then:=F[i];:=i;;

.Caption:=sLabel3.Caption+floattostr(n)+'='+floattostr(F[n])+' ';.Caption:='Предприятие №'+floattostr(n)+' - наиболее эффективно работающее ';.Enabled:=false;;.

Unit_razrab;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TMemo;

{ Private declarations }

{ Public declarations };: Trazrab;

{$R *.dfm}.

Приложение Б

Формы программы

Рисунок 5 - Главное окно программы

Рисунок 6 - Задача предприятия

Рисунок 7 - Решение любой задачи

Рисунок 8 - О методе

Рисунок 9 - Помощь

Рисунок 10 - О разработчиках