Автор работы: Пользователь скрыл имя, 09 Января 2012 в 15:43, курсовая работа
Автоматизированная экспертная система — компьютерная программа, способная заменить специалиста-эксперта в разрешении проблемной ситуации. Экспертные системы начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.
ВВЕДЕНИЕ 3
РАЗДЕЛ 1. СРЕДА ПРОГРАММИРОВАНИЯ 5
РАЗДЕЛ 2. СТРУКТУРА ПРОГРАММЫ 6
РАЗДЕЛ 3. ПРОГРАММНЫЙ КОД 7
3.1. Код файла Unit1.pas 7
3.2. Код файла Unit4.pas 10
3.3. Код файла Unit5.pas 12
3.4. Код файла Unit3.pas 17
3.5. Код файла Unit6.pas 20
ЗАКЛЮЧЕНИЕ 24
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 25
k3:= 0.07 else
if ((internet_2>=6) and (internet_2<=8)) = true then
k3:= 0.1 else
if internet_2>=9 then
k3:=
0.13;
if pech_2<=2 then
k4:= 0.08 else
if ((pech_2>=3) and (pech_2<=5)) = true then
k4:= 0.13 else
if ((pech_2>=6) and (pech_2<=8)) = true then
k4:= 0.18 else
if pech_2>=9 then
k4:=
0.23;
if list_2<=2 then
k5:= 0.02 else
if ((list_2>=3) and (list_2<=5)) = true then
k5:= 0.04 else
if ((list_2>=6) and (list_2<=8)) = true then
k5:= 0.05 else
if list_2>=9 then
k5:=
0.07;
dohod_2:= (1+k1+k2+k3+k4+k5)*dohod*sch_
prib_2:= dohod_2-rash_2;
//Прибыль = доходы - расходы
if prib_2<0 then
begin
sch_2:= sch_2+1;
goto Goto_mec;
end;
label16.Caption:= FloatToStr (dohod_2);
label17.Caption:= FloatToStr (rash_2);
label18.Caption:= FloatToStr (prib_2);
label20.Caption:=
FloatToStr (sch_2) + ' мес.';
end;
end;
Goto_c:
end;
end.
3.4. Код файла Unit3.pas
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
sch_3, kol_oper_3, pac_1, pac_2, pac_3, rash_pod_3, ras_pac_3, rash_3, doh_pac_3, doh_podc_3, dohod_3, prib_3, kof_3: real;
implementation
uses Unit2, Unit1;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
label
Goto_d, Goto_m;
begin
sch_3:= 1;
if edit1.Text = '' then
begin
showmessage
('Вы не ввели кол-во
goto Goto_d;
end else
if edit2.Text = '' then
begin
showmessage
('Вы не ввели кол-во
goto Goto_d;
end else
if edit3.Text = '' then
begin
showmessage ('Вы не ввели кол-во купленных пакетов 2!');
goto Goto_d;
end else
if edit4.Text = '' then
begin
showmessage
('Вы не ввели кол-во
goto Goto_d;
end else
begin
kol_oper_3:= StrToFloat (edit1.Text);
pac_1:= StrToFloat (edit2.Text);
pac_2:= StrToFloat (edit3.Text);
pac_3:=
StrToFloat (edit4.Text);
if kol_oper_3=1 then
kof_3:= 0.03;
if kol_oper_3=2 then
kof_3:= 0.05;
if kol_oper_3=3 then
kof_3:= 0.08;
if kol_oper_3=4 then
kof_3:= 0.11;
if kol_oper_3=5 then
kof_3:= 0.14;
if kol_oper_3>=6 then
kof_3:= 0.18;
Goto_m:
rash_pod_3:=
(100*pac_1+500*pac_2+1300*pac_
ras_pac_3:= (sirje*pac_1+(sirje+1500)*pac_
rash_3:= rash+rash_pod_3+ras_pac_3; //Расходы = старые расходы + расходы на подарки + расходы на пакеты;
doh_pac_3:= (2.25*ras_pac_3)*sch_3; //Доходы от пакетов = 2,25 * затраты на производство пакетов;
doh_podc_3:= ((cena_pr+10)*kof_3*prod)*sch_
dohod_3:= dohod+doh_pac_3+doh_podc_3; //Доходы = старые доходы +доходы от пакетов + доходы от подключений;
prib_3:= dohod_3-rash_3; //Прибыль
= доходы - расходы
if prib_3<0 then
begin
sch_3:= sch_3+1;
goto Goto_m;
end;
label10.Caption:= FloatToStr (dohod_3);
label11.Caption:= FloatToStr (rash_3);
label12.Caption:= FloatToStr (prib_3);
label14.Caption:=
FloatToStr (sch_3) + ' мес.';
end;
Goto_d:
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
edit1.Text:= '';
edit2.Text:= '';
edit3.Text:= '';
edit4.Text:= '';
label10.Caption:= '';
label11.Caption:= '';
label12.Caption:= '';
label14.Caption:= '';
form3.Close;
form2.Show;
end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
edit1.Text:= '';
edit2.Text:= '';
edit3.Text:= '';
edit4.Text:= '';
label10.Caption:= '';
label11.Caption:= '';
label12.Caption:= '';
label14.Caption:= '';
form2.Show;
end;
end.
3.5. Код файла Unit6.pas
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm6 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Button3: TButton;
Label10: TLabel;
Label11: TLabel;
Label3: TLabel;
Label12: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
kol_tel_4, prib_4, dohod_4, rash_4, kol_tel, kol_sk: real;
i, schet: integer;
Mas_kol, Mas_skid_4: array[1..1000000] of real;
implementation
uses Unit2, Unit1;
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
label
Goto_e;
begin
if edit1.Text = '' then
begin
showmessage
('Вы не ввели кол-во
goto Goto_e;
end else
begin
if schet = 1 then
begin
kol_tel_4:= StrToFloat (edit1.Text);
Mas_kol[schet]:= kol_tel_4;
label3.Caption:= FloatToStr (Mas_kol[schet]);
if kol_tel_4<100 then
begin
Mas_skid_4[schet]:= 0;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end else
if ((kol_tel_4>=100) and (kol_tel_4<=500)) = true then
begin
Mas_skid_4[schet]:= 0.05;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end else
if ((kol_tel_4>500) and (kol_tel_4<=1500)) = true then
begin
Mas_skid_4[schet]:= 0.08;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end else
begin
Mas_skid_4[schet]:= 0.13;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end;
end else
begin
kol_tel_4:= StrToFloat (edit1.Text);
Mas_kol[schet]:= kol_tel_4;
label3.Caption:= FloatToStr (Mas_kol[schet]);
if kol_tel_4<100 then
begin
Mas_skid_4[schet]:= 0;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end else
if ((kol_tel_4>=100) and (kol_tel_4<=500)) = true then
begin
Mas_skid_4[schet]:= 0.05;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end else
if ((kol_tel_4>500) and (kol_tel_4<=1500)) = true then
begin
Mas_skid_4[schet]:= 0.08;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end else
begin
Mas_skid_4[schet]:= 0.13;
label12.Caption:= FloatToStr (Mas_skid_4[schet]);
end;
end;
kol_tel:=0;
for i:=1 to schet do
kol_tel:= kol_tel+Mas_kol[i];
rash_4:= rash+sirje*kol_tel; //Расходы
= старые расходы + сырье
на 1 телефон * (кол-во
тел. + кол-во тел.2 +
… + кол-во тел. n );
kol_sk:= 0;
for i:=1 to schet do
kol_sk:= kol_sk+Mas_kol[i]*cena_pr*(1-
dohod_4:= dohod+2.25*kol_sk; //Доходы =
старые доходы + 2,25 * (кол-во
тел.1*(1 - скидка1) + кол-во
тел.2*(1 - скидка2) + …
+ кол-во тел. n * (1-скидка n));
prib_4:=
dohod_4-rash_4; //Прибыль
= доходы - расходы.
label7.Caption:= FloatToStr (dohod_4);
label8.Caption:= FloatToStr (rash_4);
label9.Caption:= FloatToStr (prib_4);
end;
Goto_e:
end;
procedure TForm6.Button3Click(Sender: TObject);
label
Goto_f;
begin
if edit1.Text = '' then
begin
showmessage
('Вы не ввели кол-во
Информация о работе Разработка автоматизированной системы для рекламной фирмы