Разработка автоматизированной системы для рекламной фирмы

Автор работы: Пользователь скрыл имя, 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

Содержимое работы - 1 файл

Фомина, отчет программиста2.doc

— 124.50 Кб (Скачать файл)

      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_2; //Доходы = ( 1 + k1 + k2 + k3 + k4 + k5) * старые доходы;

    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 ('Вы не ввели кол-во купленных  пакетов 1!');

      goto Goto_d;

    end else

    if edit3.Text = '' then

    begin

      showmessage ('Вы не ввели кол-во купленных пакетов 2!');

      goto Goto_d;

    end else

    if edit4.Text = '' then

    begin

      showmessage ('Вы не ввели кол-во купленных  пакетов 3!');

      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_3)*sch_3; //Расходы на подарки = 100 * кол-во "Пакет 1" + 500 * кол-во "Пакет 2" + 1300 * кол-во "Пакет 3";

          ras_pac_3:= (sirje*pac_1+(sirje+1500)*pac_2+2*sirje*pac_3)*sch_3; //Расходы на пакеты = сырье на 1 телефон*кол-во "Пакет 1" + (сырье на 1 телефон + 1500) * кол-во "Пакет 2" + 2*сырье на 1 телефон * кол-во "Пакет 3";

          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_3; //Доходы от подключений= (Цена телефона + 10) * коэффициент сот.комп. * продано телефонов;

          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-Mas_skid_4[i]); 

              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 ('Вы не ввели кол-во телефонов!');

Информация о работе Разработка автоматизированной системы для рекламной фирмы