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

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

Федеральное агентство по образованию

ГОУ ВПО  «Уральский государственный технический университет – УПИ имени первого Президента России Б.Н. Ельцина»

Факультет информационно-математических технологий и экономического моделирования

Кафедра Анализа систем и принятия решений 
 

Курсовая  работа

Дисциплина: «Разработка и стандартизация программных  средств»

Тема: Разработка автоматизированной системы

для рекламной фирмы. 
 
 

Студент гр. ИМ-46012 А.А. Сычева 
Руководитель И.А. Фомина 
Нормоконтролер, доц., к.ф.-м.н. М.А.Медведева 
 
 
 

Екатеринбург

2008

 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ

 

    Автоматизированная  экспертная система — компьютерная программа, способная заменить специалиста-эксперта в разрешении проблемной ситуации. Экспертные системы начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.

    Структура экспертных систем:

    • интерфейс пользователя;
    • пользователь;
    • интеллектуальный редактор базы знаний;
    • эксперт;
    • инженер по знаниям;
    • рабочая (оперативная) память;
    • база знаний;
    • механизм вывода;
    • подсистема объяснений.

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

     Как правило, база знаний системы содержит факты (статические сведения о предметной области) и правила - набор инструкций, применяя которые к известным фактам можно получать новые факты.

     База  знаний системы создается при помощи трех групп людей:

    • эксперты той проблемной области, к которой относятся задачи, решаемые системой;
    • инженеры по знаниям, являющиеся специалистами по разработке ИИС;
    • программисты, осуществляющие реализацию системы.

     Система может функционировать в 2-х режимах.

     Режим ввода знаний - в этом режиме эксперт с помощью инженера по знаниям посредством редактора базы знаний вводит известные ему сведения о предметной области в базу знаний системы.

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

     Этапы разработки автоматизированной экспертной системы:

    • этап идентификации проблем;
    • этап извлечения знаний;
    • этап структурирования знаний;
    • этап формализации;
    • реализация системы;
    • этап тестирования.

   В связи с выходом на рынок iPhone производители других сотовых телефонов стали терять клиентов и прибыль. Это является неблагоприятным фактором.

   Необходимо  создать систему, которая в режиме диалога должна предложить пользователю 4 способа решения проблемы.

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

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

   Необходимым элементом приемки программы  является ее тестирование, которое  проводит непосредственно заказчик.

 

РАЗДЕЛ 1. СРЕДА ПРОГРАММИРОВАНИЯ

    Delphi – среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi – это строго типизированный объектно-ориентированный язык, в основе которого лежит Pascal.

    Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7.0, Borland C++ 4.0, Word for Windows, Program Manager - это все MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) - определяет особый способ управления нескольких дочерних окон внутри одного большого окна.

    Среда Delphi же следует другой спецификации, называемой Single Document Interface (SDI), и состоит  из нескольких отдельно расположенных  окон. Это было сделано из-за того, что SDI близок к той модели приложений, что используется в Windows 95.

    Ниже  перечислены основные составные  части Delphi:

  • Дизайнер Форм (Form Designer)
  • Окно Редактора Исходного Текста (Editor Window)
  • Палитра Компонент (Component Palette)
  • Инспектор Объектов (Object Inspector)
  • Справочник (On-line help)Unit1

 

РАЗДЕЛ 2. СТРУКТУРА ПРОГРАММЫ

    Программа содержит 2 формы. На первой форме расположены  поля ввода для исходных данных, поля вывода для результатов расчета, кнопки автоматического заполнения и записи в MS Excel, а так же кнопку для перехода на вторую форму, которая появляется при выполнении условия. Условие следующее: экспертная система после первоначального подсчета выявляет убытки.

    Вторая  форма содержит 4 кнопки. Каждая из них  позволяет перейти к одному из 4-х возможных вариантов выхода из кризиса. Так, например, при нажатии кнопки «вариант 1», появляются все элементы, необходимые для рассмотрения первого варианта. При нажатии кнопки «вариант 2», они сменяются элементами, необходимыми для рассмотрения 2-го варианта, и так далее.

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

 

РАЗДЕЛ  3. ПРОГРАММНЫЙ КОД

    В этом разделе выложен программный  код продукта.

3.1.  Код файла Unit1.pas

 

unit Unit1; 

interface 

uses

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

  Dialogs, StdCtrls, XPMan; 

type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    XPManifest1: TXPManifest;

    GroupBox1: TGroupBox;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Edit5: TEdit;

    Edit6: TEdit;

    GroupBox2: TGroupBox;

    Label9: TLabel;

    Label10: TLabel;

    Label11: TLabel;

    Label12: TLabel;

    Label13: TLabel;

    Label14: TLabel;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1;

  vipuch, prod, sirje, kol_sotr, zp_sotr, rab_den, cena_pr, zp_vse, nalog, rash, dohod, prib: real;

implementation 

uses Unit2, Unit3, Unit4, Unit5, Unit6; 

{$R *.dfm} 
 

procedure TForm1.Button1Click(Sender: TObject);

label

  Goto_a;

begin

  if edit1.Text = '' then

    begin

      showmessage ('Вы не ввели количество выпущенных  телефонов!');

      goto Goto_a;

    end else

    if edit2.Text = '' then

    begin

      showmessage ('Вы не ввели количество проданных  телефонов!');

      goto Goto_a;

    end else

    if edit3.Text = '' then

    begin

      showmessage ('Вы не ввели сумму сырья  на 1 телефон!');

      goto Goto_a;

    end else

    if edit4.Text = '' then

    begin

      showmessage ('Вы не ввели количество сотрудников!');

      goto Goto_a;

    end else

    if edit5.Text = '' then

    begin

      showmessage ('Вы не ввели зарплату сотрудника!');

      goto Goto_a;

    end else

    if edit6.Text = '' then

    begin

      showmessage ('Вы не ввели продолжительность  рабочего дня!');

      goto Goto_a;

    end else

  begin

    vipuch:= StrToFloat (edit1.Text); // присваивание данных переменным

    prod:= StrToFloat (edit2.Text);

    sirje:= StrToFloat (edit3.Text);

    kol_sotr:= StrToFloat (edit4.Text);

    zp_sotr:= StrToFloat (edit5.Text);

    rab_den:= StrToFloat (edit6.Text); 

    if vipuch<prod then

      begin

        showmessage ('Вы не можете продать  больше чем произвели!');

        goto Goto_a;

      end else 

    cena_pr:= 2.25*sirje; //Цена продажи = 2,25 * сырье на 1 телефон;

    zp_vse:= kol_sotr*zp_sotr*rab_den; //Зарплата = кол-во сотрудников * зарплата в час * рабочий день;

    nalog:= 0.2*prod*cena_pr; //Налоги = 0,2 * продано телефонов * цена продажи;

    rash:= vipuch*sirje+zp_vse+nalog+1500000+1000000; //Расходы = выпущено телефонов * сырье на 1 телефон + зарплата + налоги + реклама + коммунальные платежи;

    dohod:=prod*cena_pr;  //Доходы = продано телефонов * цена продажи;

    prib:= dohod-rash; //Прибыль = доходы - расходы;

    label12.caption:= FloatToStr (rash);

    label13.caption:= FloatToStr (dohod);

    label14.caption:= FloatToStr (prib);

  end;

    if prib>0 then

    begin

    showmessage ('Поздравляем! При даннных условиях Вы получаете прибыль. Продолжайте такую политику.');

    goto Goto_a;

    end else

    begin

      form1.hide;

      form2.show;

    end;

    Goto_a:

end; 

procedure TForm1.Button2Click(Sender: TObject);

begin

  form1.Close;

end; 

    end. 
     

3.2.  Код файла Unit4.pas

unit Unit4; 

interface 

uses

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

  Dialogs, StdCtrls; 

type

  TForm4 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Button1: TButton;

    Button2: TButton;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

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