Автор работы: Пользователь скрыл имя, 24 Марта 2012 в 09:30, курсовая работа
В информатике экспертные системы рассматриваются совместно с базами знаний как модели поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а базы знаний – как совокупность фактов и правил логического вывода в выбранной предметной области деятельности.
Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области.
ВВЕДЕНИЕ 3
РАЗДЕЛ 1. КОНДИТЕРСКАЯ «DOLCE VITA» 7
1.1. ОБЩИЕ СВЕДЕНИЯ 7
1.2. СПЕЦИФИКАЦИЯ ПРЕДПРИЯТИЯ 9
1.3. ДЕЯТЕЛЬНОСТЬ КОНДИТЕРСКОЙ В ПЕРИОД КРИЗИСА 9
РАЗДЕЛ 2. ПОСТАНОВКА ПРОБЛЕМЫ И ЗАДАЧИ 10
2.1. ПОСТАНОВКА ПРОБЛЕМЫ 10
2.2. ПОСТАНОВКА ЗАДАЧИ 10
2.3. ТРЕБОВАНИЯ К СОЗДАВАЕМОЙ ЭКСПЕРТНОЙ СИСТЕМЕ 10
РАЗДЕЛ 3. ОСНОВА ДЛЯ СОЗДАНИЯ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ 12
3.1. РАЗРАБОТКА КОМПЛЕКСА МЕР ДЛЯ ВЫХОДА ИЗ КРИЗИСА И 12
3.2. СПОСОБ ПРИМЕНЕНИЯ РАЗРАБОТАННЫХ МЕР 14
РАЗДЕЛ 4. ОБЗОР ПРОГРАММЫ 18
4.1. БЛОК-СХЕМА ПРОГРАММЫ 18
4.2. ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ 19
4.3. ЭСКИЗНЫЙ ПРОЕКТ ПРОГРАММЫ 21
4.4. ТЕСТИРОВАНИЕ ПРОГРАММЫ 27
ЗАКЛЮЧЕНИЕ 33
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 34
ПРИЛОЖЕНИЕ. КОД ПРОГРАММЫ ОШИБКА! ЗАКЛАДКА НЕ ОПРЕДЕЛЕНА.
SpeedButton1->Top=417;
Label2->Top=417;
GroupBox1->Height=489;
GroupBox3->Visible=true;
GroupBox4->Visible=true;
GroupBox5->Visible=true;
this->Height=601;
fzp=(Form1->sp)-(fzp4+Form1->
if (fzp>0)
else
}
}
}
Form4->Close();
}
//----------------------------
void __fastcall TForm4::FormShow(TObject *Sender)
{
CSpinEdit1->Value=Form1->
fzp1=CSpinEdit1->Value-(
Label3->Caption=IntToStr(fzp1)
SpeedButton1->Top=169;
GroupBox1->Height=225;
Label2->Top=169;
GroupBox3->Visible=false;
GroupBox4->Visible=false;
GroupBox5->Visible=false;
this->Height=337;
fzp=(Form1->sp)-(fzp1+Form1->
if (fzp>0)
{
Label2->Caption="Новая прибыль составит "+IntToStr(fzp)+" руб";
}
else {
fzp2=fzp1-(CSpinEdit1->Value*
Label4->Caption=IntToStr(fzp2)
SpeedButton1->Top=257;
Label2->Top=257;
GroupBox1->Height=289;
GroupBox3->Visible=true;
GroupBox4->Visible=false;
GroupBox5->Visible=false;
this->Height=401;
fzp=(Form1->sp)-(fzp2+Form1->
if (fzp>0)
{
Label2->Caption="Новая прибыль составит "+IntToStr(fzp)+" руб";
}
else
{
fzp3=fzp2-(CSpinEdit1->Value*
Label5->Caption=IntToStr(fzp3)
SpeedButton1->Top=345;
Label2->Top=345;
GroupBox1->Height=385;
GroupBox3->Visible=true;
GroupBox4->Visible=true;
GroupBox5->Visible=false;
this->Height=497;
fzp=(Form1->sp)-(fzp3+Form1->
if (fzp>0)
{
Label2->Caption="Новая прибыль составит "+IntToStr(fzp)+" руб";
}
else
{
fzp4=(CSpinEdit1->Value*50/
Label6->Caption=IntToStr(fzp4)
Label5->Caption=IntToStr(fzp3)
SpeedButton1->Top=417;
Label2->Top=417;
GroupBox1->Height=489;
GroupBox3->Visible=true;
GroupBox4->Visible=true;
GroupBox5->Visible=true;
this->Height=601;
fzp=(Form1->sp)-(fzp4+Form1->
if (fzp>0)
else
}
}
}
}
//----------------------------
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit5.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm5 *Form5;
//----------------------------
__fastcall TForm5::TForm5(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm5::FormCreate(TObject *Sender)
{
StringGrid1->Cols[0]->Text="Ви
StringGrid1->Cols[1]->Text="
StringGrid1->Cols[2]->Text="Ко
StringGrid1->Cols[3]->Text="
StringGrid1->Cols[4]->Text="
for(int j = 0;j < StringGrid1->RowCount; j++){
for(int i = 0;i < StringGrid1->ColCount;i++){
if(StringGrid1->Canvas->
StringGrid1->RowHeights[j] = StringGrid1->DefaultRowHeight * 2;
break;
}
}
}
StringGrid1->Rows[1]->Text="";
StringGrid1->Rows[2]->Text="Те
StringGrid1->Rows[3]->Text="Ра
StringGrid1->Rows[4]->Text="Ре
StringGrid1->Cells[1][1]="";
StringGrid1->Cells[2][1]="";
StringGrid1->Cells[3][1]="";
StringGrid1->Cells[4][1]="";
StringGrid1->Cells[2][2]="1";
StringGrid1->Cells[2][3]="1";
StringGrid1->Cells[2][4]="1";
}
//----------------------------
void __fastcall TForm5::StringGrid1DrawCell(
int ARow, TRect &Rect, TGridDrawState State)
{
int left = 0;
if(StringGrid1->Canvas->
StringGrid1->Canvas->FillRect(
int pos = (StringGrid1->Cells[ACol][
AnsiString txt = StringGrid1->Cells[ACol][ARow]
left = Rect.Left + ((Rect.Right - Rect.Left) - StringGrid1->Canvas->
StringGrid1->Canvas->TextOut(
StringGrid1->Canvas->TextOut(
}else if(StringGrid1->RowHeights[
left = Rect.Left + ((Rect.Right - Rect.Left) - StringGrid1->Canvas->
int top = Rect.Top + ((Rect.Bottom - Rect.Top + 2) - StringGrid1->Canvas->
StringGrid1->Canvas->TextRect(
}else{
left = Rect.Left + ((Rect.Right - Rect.Left) - StringGrid1->Canvas->
StringGrid1->Canvas->TextRect(
}
}
//----------------------------
void __fastcall TForm5::SpeedButton1Click(
{
Form5->Close();
}
//----------------------------
void __fastcall TForm5::FormClose(TObject *Sender, TCloseAction &Action)
{
if (Label3->Caption.SubString(0,
{
ShowMessage("Попробуйте другие варианты выхода из кризиса либо рассмотрите комбинации нескольких вариантов.");
}
}
//----------------------------
void __fastcall TForm5::StringGrid1KeyPress(
{
if ((StringGrid1->Col==1)||(
{
Key=0x0;
}
if ((StringGrid1->Col==2)&&(
{
Key=0x0;
}
}
//----------------------------
void __fastcall TForm5::FormShow(TObject *Sender)
{
StringGrid1->Cells[1][2]=
StringGrid1->Cells[1][3]=
StringGrid1->Cells[1][4]=
StringGrid1->Cells[3][2]=
StringGrid1->Cells[3][3]=
StringGrid1->Cells[3][4]=
StringGrid1->Cells[4][2]=
StringGrid1->Cells[4][3]=
StringGrid1->Cells[4][4]=
int a=StrToInt(StringGrid1->Cells[
a+=StrToInt(StringGrid1->
a+=StrToInt(StringGrid1->
Label1->Caption="Новый суммарный доход составит: "+IntToStr(a)+"руб";
int a2=StrToInt(StringGrid1->
a2+=StrToInt(StringGrid1->
a2+=StrToInt(StringGrid1->
a2+=Form1->CSpinEdit11->Value+
Label2->Caption="Новый суммарный расход составит: "+IntToStr(a2)+"руб";
a-=a2;
if (a>0)
{
Label3->Caption="Новая прибыль: "+IntToStr(a)+" руб";
}
else {
Label3->Caption="Новый убыток: "+IntToStr(a*-1)+" руб";
}
}
//----------------------------
void __fastcall TForm5::StringGrid1KeyUp(
TShiftState Shift)
{
if ((StringGrid1->Cells[
{
StringGrid1->Cells[
}
else if (Key!=VK_BACK)
{
StringGrid1->Cells[1][2]=
StringGrid1->Cells[1][3]=
StringGrid1->Cells[1][4]=
StringGrid1->Cells[3][2]=
StringGrid1->Cells[3][3]=
StringGrid1->Cells[3][4]=
StringGrid1->Cells[4][2]=
StringGrid1->Cells[4][3]=
StringGrid1->Cells[4][4]=
int a=StrToInt(StringGrid1->Cells[
a+=StrToInt(StringGrid1->
a+=StrToInt(StringGrid1->
Label1->Caption="Новый суммарный доход составит: "+IntToStr(a)+"руб";
int a2=StrToInt(StringGrid1->
a2+=StrToInt(StringGrid1->
a2+=StrToInt(StringGrid1->
a2+=Form1->CSpinEdit11->Value+
Label2->Caption="Новый суммарный расход составит: "+IntToStr(a2)+"руб";
a-=a2;
if (a>0)
{
Label3->Caption="Новая прибыль: "+IntToStr(a)+" руб";
}
else {
Label3->Caption="Новый убыток: "+IntToStr(a*-1)+" руб";
}
}
}
//----------------------------
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit6.h"
//----------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm6 *Form6;
//----------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
//----------------------------
void __fastcall TForm6::FormCreate(TObject *Sender)
{
StringGrid1->Cols[0]->Text="На
StringGrid1->Cols[1]->Text="Це
StringGrid1->Cols[2]->Text="
StringGrid1->Cols[3]->Text="Це
StringGrid1->Cols[4]->Text="Эк
for(int j = 0;j < StringGrid1->RowCount; j++){
for(int i = 0;i < StringGrid1->ColCount;i++){
if(StringGrid1->Canvas->
StringGrid1->RowHeights[j] = StringGrid1->DefaultRowHeight * 2;
break;
}
}
}
StringGrid1->Rows[1]->Text="";
StringGrid1->Rows[2]->Text="Му
StringGrid1->Rows[3]->Text="Са
StringGrid1->Rows[4]->Text="На
StringGrid1->Rows[5]->Text="Пр
StringGrid1->Rows[6]->Text="Ит
StringGrid1->Cells[1][1]="";
StringGrid1->Cells[2][1]="";
StringGrid1->Cells[3][1]="";
StringGrid1->Cells[4][1]="";
StringGrid1->Cells[3][2]="1";
StringGrid1->Cells[3][3]="1";
StringGrid1->Cells[3][4]="1";
StringGrid1->Cells[3][5]="1";
}
//----------------------------
void __fastcall TForm6::StringGrid1KeyPress(
{
if ((StringGrid1->Col==1)||(
{
Key=0x0;
}
if ((StringGrid1->Col==3)&&(
{
Key=0x0;
}
}
//----------------------------
void __fastcall TForm6::StringGrid1DrawCell(
int ARow, TRect &Rect, TGridDrawState State)
{
int left = 0;
if(StringGrid1->Canvas->
StringGrid1->Canvas->FillRect(
int pos = (StringGrid1->Cells[ACol][
AnsiString txt = StringGrid1->Cells[ACol][ARow]
left = Rect.Left + ((Rect.Right - Rect.Left) - StringGrid1->Canvas->
StringGrid1->Canvas->TextOut(
StringGrid1->Canvas->TextOut(
}else if(StringGrid1->RowHeights[
left = Rect.Left + ((Rect.Right - Rect.Left) - StringGrid1->Canvas->
int top = Rect.Top + ((Rect.Bottom - Rect.Top + 2) - StringGrid1->Canvas->
StringGrid1->Canvas->TextRect(
}else{
left = Rect.Left + ((Rect.Right - Rect.Left) - StringGrid1->Canvas->
StringGrid1->Canvas->TextRect(
}
}
//----------------------------
void __fastcall TForm6::FormShow(TObject *Sender)
{
int a;
StringGrid1->Cells[1][2]=
StringGrid1->Cells[1][3]=
StringGrid1->Cells[1][4]=
StringGrid1->Cells[1][5]=