Использование "дерева" решений в многоэтапных задачах принятия решений



страница3/3
Дата22.02.2016
Размер0.6 Mb.
ТипРеферат
1   2   3

Заключение

В процессе принятия решение необходимо придерживаться следующей последовательности:

1. Определить все возможные в данной ситуации варианты решения.

2. Для каждого из них определить его возможные исходы.

3. Для каждого решения и его исходов подсчитать возможный исход.

Наиболее удобная форма представлений этих этапов – таблица доходов. Принимающий решение должен выбрать правило принятия решений, которое больше всего подходит к данной ситуации. Выбранное правило и определит выбор решения.

В некоторых правилах принятия решений значения вероятностей не используется. Например, правило максимакса (для игроков) и правило максимина (для осторожных) оперируют возможными доходами, а правило минимакса используют понятие возможных потерь (или упущенных доход). В более более сложных правилах принятия решений используется вероятность для подсчета ожидаемого дохода или ожидаемых возможных потерь для каждого решения. В таких ситуациях важно проверять чувствительность правил к изменениям вероятностей исходов. Наличие дополнительной информации может привести к выбору наилучшего решения. “Стоимость достоверной информации” – это максимальная сумма денег, которую стоит заплатить за дополнительную информацию.

Правила, рассматривающиеся до сих пор, не учитывали разницу приносимых ими доходах, а также отношение принимающее решение к риску. Для того чтобы показать, как различаются результаты разных решений, используются стандартные отклонение доходов. Отношение к риску выражается полезностью, которая присваивается доходам. Ожидаемая полезность основывается на этих оценках и их вероятностях. Оценки полезности в этих правилах заменяют собой доходы. Обычно на практике одно решение влечет за собой другие, а для иллюстрации этой последовательности используется “дерево” решений, которое состоит из “ветвей” и “узлов” - квадратов и кружков – решений и соответствующих им исходов. В той же последовательности, которой таблица доходов иллюстрирует единственное решение, “дерево” показывает множество решений и их исходов. Численные значения доходов (исходов) просчитываются, начиная с конца “ветвей”, постепенно приближается к исходному вопросу. Таким образом выявляется та последовательность решений, которой нужно придерживаться. Для выявления чувствительности решений по отношению к изменениям вероятности используется анализ чувствительности.


Библиография

1. “Методы принятия решений” М. Эддоус, Р. Стэнфилд

2. “Введение в исследование операций” том I. Таха

3. “Исследование операций” (учебное пособие) Гамецкий А.Ф., Слободенюк В.А.,

Спиридонова Г.В.



4. http://superidea.ru/tm/book/tomw13.htm “Анатомия выбора”

5. http://www.ptpu.ru/Issues/4_99/17_4_99.htm “Менеджмент и маркетинг”

6. http://lib.vvsu.ru/books/Bakalavr02/page0111.asp “Принятие решений”

7. http://www.mstu.edu.ru/publish/conf/11ntk/section9/section9_30.html “ПРИНЯТИЕ

УПРАВЛЕНЧЕСКИХ РЕШЕНИЙ В УСЛОВИЯХ НЕСТАБИЛЬНОСТИ”



8. http://www.mos.ru/~boris/sys.htm “Основы теории принятия решений”

9. http://www.karelia.ru/psu/Faculties/Forest/courses/decision/chap1_a.htm

“Методологические основы теории принятия решений”



10. http://www.libertarium.ru/old/eldoc/critprresh.html “КРИТЕРИИ ПРИНЯТИЯ

РЕШЕНИЙ”


11.http://www.examen.ru/db/ExamineBase/catdoc_id/4E3DEA22A30EFB76C3256A5F002DC6E2/rootid/9327995FB7A6D40FC3256A02002CE0D5/defacto.html

“Модели и методы принятия решений”



12. http://www.lipetsk.ru/~wwwlgpi/files/decision.pdf “Введение в математические методы

принятия решений”


Приложение

//***[ Author : Smelov Andrei (SmeL)]*************************

//***privedena osnovnaia ciasti algoritma programmy***********

//***MathDecision v1.0 na priniatia reshenii******************

#include

#pragma hdrstop

#include

#include "main.h"

#include "about.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//***peremennye***********************************************

AnsiString of;

AnsiString sf="answer.txt";

FILE *oFile;

FILE *sFile;

double m1[100][100];

double m2[100][100];

double vektor[100];

double vrem;

int MAX=1;

int ivek;

int kolvo_x;

int kolvo_s;

//***deklarathyia functhyu************************************

AnsiString topik(int x);

double koneth(double ii);

double vvodZnach(int ii,double iii);

double rodnia(int j,int ii);

int printMinMax(int j, char *str);

void cok(int i);

void popravka(int ii);

void inFath(int ii);

void peciati(int x, int s);

void zanuliti(void);

void cheku(void);

//***funkthyia zanulenie matrith******************************

void zanuliti()

{

for (int i=0;i

{vektor[i]=0;

for(int j=0;j

m1[i][j]=m2[i][j]=0;

}

kolvo_s=kolvo_x=ivek=vrem=0;



}

//***funkthyia vyvoda v fail rezulitatov**********************

void peciati(int x, int s, int p)

{sFile = fopen(sf.c_str(),"a");

fprintf(sFile,"\n%s\n",topik(p));

for(int i=0;i

{for(int j=0;j

fprintf(sFile,"%13.3lf",m1[i][j]);

fprintf(sFile,"\n");

}

fclose(sFile);



}

//***funkthyia vvoda rezulitata v []**************************

void inFath(int ii)

{

double sr;



int mm;

if(MAX==1)

{sr=-9999999999999;

for(int i=kolvo_x;i>0;i--)

if(m1[i][kolvo_s+1]==m1[ii][0])

if(m1[i][kolvo_s]>sr)

{sr=m1[i][kolvo_s];

mm=m1[i][0];}

m1[ii][kolvo_s]=sr;

m1[ii][kolvo_s+2]=mm;

};

if(MAX==-1){



sr=9999999999999;

for(int i=kolvo_x;i>0;i--)

if(m1[i][kolvo_s+1]==m1[ii][0])

if(m1[i][kolvo_s]

{sr=m1[i][kolvo_s];

mm=m1[i][0];}

m1[ii][kolvo_s]=sr;

m1[ii][kolvo_s+2]=mm;

}

popravka(ii);



}

//***funkthyia dlia uceta rezulitiruiushih vetok**************

void popravka(int ii)

{

int iii=ii;



int iv=m1[ii][1];

for(int i=0;i

if(iv==m1[i][1] && ii!=i && iii>0 && m1[i][kolvo_s]!=0)

{iv=m1[i][0];

m1[i][kolvo_s+1]=0;

ii=i;


i=0;

}

if(ii!=iii)



m1[iii][kolvo_s]+=m1[ii][kolvo_s];

}

//***funkthyia vozvrata kontha********************************



double koneth(double ii)

{

for(int i=ii;i

if(m1[int(ii)][0]==m2[i][1])

{

ii=i;



m2[i][1]=-1.2;

}

return ii;



}

//***funkthyia vozvrata znacenia otha*************************

double vvodZnach(int ii,double iii)

{

iii=kolvo_x;



int ret=ii;

for(int i=ii;i

for(int j=ii;j

if(m1[i][0]==m1[j][1] && m1[j][kolvo_s+3]!=-1 && i!=j)

{ m1[j][kolvo_s]+=m1[i][kolvo_s];

m1[j][kolvo_s+3]=rodnia(j,ii);

}

inFath(ret);



return ret;

}

//***funkthyia vernet 0 esli on syn dannago otha inace -1*****



double rodnia(int j,int ii)

{

int chek=m1[j][1];



for (int i=j;j>=0;j--)

for (int jj=kolvo_x;jj>0;jj--)

if(chek==m1[jj][0])

{chek=m1[jj][1];

if(m1[jj][0]==m1[ii][0])

return -1;}

return 0;

}

//***znacenie topika******************************************



AnsiString topik(int x)

{

if(x==0) return(" ");



if(x==1) return(" Исходные данные "+of);

if(x==2) return(" "+ExtractFileName(of)+" -> "+ExtractFileName(sf));

}

//***funkthyia dli proverki uslovia zadaci********************



void cheku()

{

if(MAX==1) Form1->N19->Checked=true;



else Form1->N20->Checked=true;

if(Form1->ComboBox1->Text=="определенности")

{Form1->N14->Checked=true;

Form1->RadioButton1->Enabled=false;

Form1->RadioButton2->Enabled=false;

Form1->StaticText1->Enabled=false;

Form1->N18->Enabled=false;

}

else{Form1->N14->Checked=false;}



if(Form1->ComboBox1->Text=="риска")

{Form1->N18->Enabled=true;

Form1->N16->Checked=true;

Form1->MaskEdit1->Enabled=false;

Form1->BitBtn1->Enabled=false;

Form1->RadioButton1->Enabled=true;

Form1->RadioButton2->Enabled=true;

Form1->StaticText1->Enabled=true;}

else{Form1->N16->Checked=false;}

if(Form1->ComboBox1->Text=="неопределенности")

{Form1->N18->Enabled=true;

Form1->N15->Checked=true;

Form1->N5->Enabled=true;

Form1->CheckBox5->Enabled=true;

Form1->CheckBox1->Checked=false;

Form1->CheckBox2->Checked=false;

Form1->CheckBox3->Checked=false;

Form1->CheckBox4->Checked=false;

Form1->RadioButton1->Enabled=true;

Form1->RadioButton2->Enabled=true;

Form1->StaticText1->Enabled=true;

}

else



{Form1->N15->Checked=false;

Form1->N5->Enabled=false;

Form1->CheckBox1->Enabled=false;

Form1->CheckBox2->Enabled=false;

Form1->CheckBox3->Enabled=false;

Form1->CheckBox4->Enabled=false;

Form1->CheckBox5->Enabled=false;

Form1->StaticText2->Enabled=false;

Form1->MaskEdit1->Enabled=false;

Form1->BitBtn1->Enabled=false;

}

}

//***funkthyia sokrashenia stroki razreshaiushego elimenta****



void cok(int i)

{

vrem=m1[i][i];



for(int j=0;j

m1[i][j]/=vrem;

}

//***funkthyia peciati i vozvrata prinimaemago uslovia********



int printMinMax(int j, char *str)

{int pozith=0;

if(MAX==1)

{ fprintf(sFile,"\n %smax{%.3lf",str, m1[0][j]);

vrem=m1[0][j];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m1[i][j]);

if(vrem

{vrem=m1[i][j];

pozith=i;

}

}

fprintf(sFile,"} = %.3lf",vrem);



}

else


{ fprintf(sFile,"\n %smin{%.3lf",str, m1[0][j]);

vrem=m1[0][j];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m1[i][j]);

if(vrem>m1[i][j])

{vrem=m1[i][j];

pozith=i;

}

}



fprintf(sFile,"} = %.3lf",vrem);

}

return pozith+1;



}

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}



void __fastcall TForm1::ToolButton1Click(TObject *Sender)

{

if(OpenDialog1->Execute())



{ of = (OpenDialog1->FileName);

oFile = fopen(of.c_str(),"r");

}

if(of!="")



{Form1->Caption=topik(2);

Form1->ToolButton3->Enabled=true;

Form1->run1->Enabled=true;

}

}



void __fastcall TForm1::ToolButton2Click(TObject *Sender)

{

SaveDialog1->Options << ofFileMustExist;



if(SaveDialog1->Execute())

{ sf = (SaveDialog1->FileName);

if (ExtractFileExt(sf)!=".txt" & SaveDialog1->FilterIndex==1)

sf=sf+".txt";

}

Form1->Caption=topik(2);



}

void __fastcall TForm1::ToolButton3Click(TObject *Sender)

{

oFile = fopen(of.c_str(),"r");



fscanf(oFile,"%d",&kolvo_x);

fscanf(oFile,"%d",&kolvo_s);

for(int i=0;i

for(int j=0;j

fscanf(oFile,"%lf",&m1[i][j]);

fclose(oFile);

if(Form1->ComboBox1->Text=="неопределенности")

{

if(Form1->CheckBox5->Checked==true)



{

//***vycislili pribyli*************************************

for(int i=0;i

{for(int j=2;j

{vrem=m1[i][j]*m1[i][j+1];

m1[i][kolvo_s]+=vrem;

j+=2;

}

m1[i][kolvo_s]-=m1[i][kolvo_s-1];



}
//***nahodim vershiny s priniatiem reshenii****************

for(int i=0;i

if(m1[i][kolvo_s]==0)

{

vektor[ivek]=i;



ivek++;

}

ivek--;



//***nahojdenie konthevyh rezulitatov na vetkah************

//***kopiruem vershiny*************************************

for(int i=0;i

for(int j=0;j<2;j++)

m2[i][j]=m1[i][j];

//***nahojdenie konthov************************************

for(int i=ivek;i>=0;)

{

vrem=koneth(vektor[i]);



if(vektor[i]==vrem)

{

m1[int(vrem)][kolvo_s+1]=m1[int(vektor[i-1])][0];



i--;

}else


{

m1[int(vrem)][kolvo_s+1]=m1[int(vektor[i])][0];

}

}

//***akkumuliathyia vetok**********************************



vrem=kolvo_x;

for(int j=ivek;j>=0;j--)

{

vrem=vvodZnach(int(vektor[j]),vrem);



}

sFile = fopen(sf.c_str(),"a");

fprintf(sFile,"\n[%s ]\n",topik(1));

fprintf(sFile,"[ Условие задачи ]");

fprintf(sFile,"\n__________сын|_________отец|");

for(int j=0, i=1;j

{

fprintf(sFile,"______вероят%d|",i);



fprintf(sFile,"______фактор%d|",i);

j+=2;


}

fprintf(sFile,"______фактор%d|\n",kolvo_s/2);

for(int i=0;i

{for(int j=0;j

fprintf(sFile,"%13.3lf|",m1[i][j]);

fprintf(sFile,"\n");

}

fprintf(sFile,"Задача на принятие решения в условии неопределенности, задача на ");



if(MAX==1)

fprintf(sFile,"максимум.");

else

fprintf(sFile,"минимум.");



fprintf(sFile,"\n Значением оптимальным решением является %.3lf ",m1[0][kolvo_s]);

fprintf(sFile,"\n Путь решения [%.0lf] -> -> ",m1[0][0]);

vrem=m1[0][kolvo_s+2];

for(int i=0;i

if(m1[i][0]==vrem)

if(m1[i][kolvo_s+2]!=0)

vrem=m1[i][kolvo_s+2];

fprintf(sFile,"(%.0lf).",vrem);

}else //else dlia otkliucennogo dereva

{

//***nahodim min max po iksam********************************



for(int i=0;i

{m1[i][kolvo_s]=m1[i][0];

m1[i][kolvo_s+1]=m1[i][0];

for(int j=0;j

{

m1[i][kolvo_s]=(m1[i][kolvo_s]

m1[i][kolvo_s+1]=(m1[i][kolvo_s+1]>m1[i][j]?m1[i][kolvo_s+1]:m1[i][j]);

}

}



//***nahodim max po igrikam*********************************

for(int j=0;j

{m1[kolvo_x][j]=m1[j][0];

m1[kolvo_x+1][j]=m1[j][0];

for(int i=0;i

{ m1[kolvo_x][j]=(m1[kolvo_x][j]>m1[i][j]?m1[kolvo_x][j]:m1[i][j]);

m1[kolvo_x+1][j]=(m1[kolvo_x+1][j]

}

}



//***uje gotova matritha s min max*************************

//zapolniaem matrithy sojalenii****************************

for(int j=0;j

for(int i=0;i

m2[i][j]=m1[i][j]-m1[kolvo_x][j];

//***vvod minimuma v matruthy sojalenii********************

for(int i=0;i

{m2[i][kolvo_s]=m2[i][0];

for(int j=0;j

m2[i][kolvo_s]=(m2[i][kolvo_s]

}

sFile = fopen(sf.c_str(),"a");



fprintf(sFile,"\n[%s ]\n",topik(1));

fprintf(sFile,"[ Условие задачи ]");

fprintf(sFile,"\n x\\y");

for(int j=0;j

fprintf(sFile,"________y%d|",j+1);

for(int i=0;i

{fprintf(sFile,"\n x%d|",i+1);

for(int j=0;j

fprintf(sFile,"%10.2lf|",m1[i][j]);

}

fprintf(sFile,"\nЗадача на принятие решения в условии неопределенности.");



//***kriterii valida******************************************

int pozith=0;

if(Form1->CheckBox1->Checked==true)

{

fprintf(sFile,"\n[ Критерий Вальда ]");



if(MAX==1)

{fprintf(sFile,"\n maxXminY Uij = max{%.3lf",m1[0][kolvo_s]);

vrem=m1[0][kolvo_s];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m1[i][kolvo_s]);

if(vrem

{vrem=m1[i][kolvo_s];

pozith=i;

}

}

fprintf(sFile,"} = %.3lf",vrem);



}else

{fprintf(sFile,"\n minXmaxY Uij = min{%.3lf",m1[0][kolvo_s+1]);

vrem=m1[0][kolvo_s+1];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m1[i][kolvo_s+1]);

if(vrem>m1[i][kolvo_s+1])

{vrem=m1[i][kolvo_s+1];

pozith=i;

}

}

fprintf(sFile,"} = %.3lf",vrem);}



fprintf(sFile,"\n Согласно критерию Вальда следует предусмотреть принятие решения x%d.",pozith+1);

};

//***kriterii sevidja*****************************************



if(Form1->CheckBox2->Checked==true)

{

fprintf(sFile,"\n[ Критерий Сэвиджа ]");



if(MAX==1)

{fprintf(sFile,"\n maxXminY Uij = max{%.3lf",m2[0][kolvo_s]);

vrem=m2[0][kolvo_s];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m2[i][kolvo_s]);

if(vrem

{vrem=m2[i][kolvo_s];

pozith=i;

}

}

fprintf(sFile,"} = %.3lf",vrem);



}else

{fprintf(sFile,"\n maxXminY Uij = min{%.3lf",m2[0][kolvo_s]);

vrem=m2[0][kolvo_s];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m2[i][kolvo_s]);

if(vrem>m2[i][kolvo_s])

{vrem=m2[i][kolvo_s];

pozith=i;

}

}

fprintf(sFile,"} = %.3lf",vrem);}



fprintf(sFile,"\n Согласно критерию Сэвиджа следует предусмотреть принятие решения x%d.",pozith+1);

};

//***kriterii laplasa*****************************************



if(Form1->CheckBox3->Checked==true)

{

for(int i=0;i

for(int j=0;j

m1[i][kolvo_s+2]+=m1[i][j]/kolvo_s;

fprintf(sFile,"\n[ Критерий Лапласа ]");

fprintf(sFile,"\n P{Q=Qj}=1/%d ",kolvo_s);

fprintf(sFile,"\n Согласно критерию Лапласа следует предусмотреть принятие решения x%d.",printMinMax(kolvo_s+2, ""));

}

//***kriterii Гурвица*****************************************



if(Form1->CheckBox4->Checked==true)

{

double gr=StrToFloat(Form1->MaskEdit1->Text);



fprintf(sFile,"\n[ Критерий Гурвица ]");

for(int i=0;i

m1[i][kolvo_s+3]=m1[i][kolvo_s]*(1.0-gr)+m1[i][kolvo_s+1]*gr;

fprintf(sFile,"\n Показатель оптимизма P=%.2lf",gr);

fprintf(sFile,"\n Согласно критерию Гурвица следует предусмотреть принятие решения x%d.",printMinMax(kolvo_s+3, ""));

}

fclose(sFile);



}

}

if(Form1->ComboBox1->Text=="риска")



{ sFile = fopen(sf.c_str(),"a");

fprintf(sFile,"\n[%s ]\n",topik(1));

fprintf(sFile,"[ Условие задачи ]");

fprintf(sFile,"\n ___|");

for(int j=0,i=1 ;j

{

fprintf(sFile,"________x%d|",i);



fprintf(sFile,"________p%d|",i);

j+=2;


}

for(int i=0;i

{fprintf(sFile,"\n y%d|",i+1);

for(int j=0;j

fprintf(sFile,"%10.2lf|",m1[i][j]);

}

for(int i=0;i

for(int j=0;j

{m1[i][kolvo_s]+=m1[i][j]*m1[i][j+1];

j+=2;}

int pozith=0;



fprintf(sFile,"\nЗадача на принятие решения в условии риска, задача на ");

if(MAX==1)

{ fprintf(sFile,"максимум.");

fprintf(sFile,"\n maxMi = max{%.3lf",m1[0][kolvo_s]);

vrem=m1[0][kolvo_s];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m1[i][kolvo_s]);

if(vrem

{vrem=m1[i][kolvo_s];

pozith=i;

}

}

fprintf(sFile,"} = %.3lf",vrem);



fprintf(sFile,"\n Cледует предусмотреть принятие решения y%d.",pozith+1);

}

else



{fprintf(sFile,"минимум.");

fprintf(sFile,"\n minMi = min{%.3lf",m1[0][kolvo_s]);

vrem=m1[0][kolvo_s];

for (int i=1;i

{fprintf(sFile,",%9.3lf",m1[i][kolvo_s]);

if(vrem>m1[i][kolvo_s])

{vrem=m1[i][kolvo_s];

pozith=i;

}

}

fprintf(sFile,"} = %.3lf",vrem);



fprintf(sFile,"\n Cледует предусмотреть принятие решения y%d.",pozith+1);

}

}



if(Form1->ComboBox1->Text=="определенности")

{

sFile = fopen(sf.c_str(),"a");



fprintf(sFile,"\n[%s ]\n",topik(1));

fprintf(sFile,"[ Условие задачи ]\n ");

for(int i=0;i

{for(int j=0;j

{ if(m1[i][j]>0 && j

if(j==kolvo_s-1) fprintf(sFile,"=");

if(m1[i][j]!=0)

{fprintf(sFile,"%.2lf",m1[i][j]);

if(j

fprintf(sFile,"x%d",j+1);}}

fprintf(sFile,"\n ");}

fprintf(sFile,"Целевая функция\n Z=");

for (int j=0;j

{if(m1[kolvo_x-1][j]!=0)

{if(m1[kolvo_x-1][j]>0)

fprintf(sFile,"+");

fprintf(sFile,"%.2lfx%d",m1[kolvo_x-1][j],j+1);

m1[kolvo_x-1][j]*=-1;}}

fprintf(sFile,"->max");

fprintf(sFile,"\nЗадача на принятие решения в условии определенности.");

for(int ii=0;ii

{cok(ii);

for(int i=0;i

{vrem=m1[i][ii];

for(int j=0;j

if(ii!=i)

m1[i][j]=m1[ii][ii]*m1[i][j]-m1[ii][j]*vrem;

}

}



fprintf(sFile,"\n X=(%.3lf",m1[0][kolvo_s-1]);

for(int i=1;i

fprintf(sFile,", %.3lf",m1[i][kolvo_s-1]);

for(int i=kolvo_x;i

fprintf(sFile,", %.3lf",m1[i][kolvo_s-1]);

fprintf(sFile,") \n Z=%.4lf",m1[kolvo_x-1][kolvo_s-1]);

}

peciati(kolvo_x,kolvo_s+4,0);



fclose(oFile);

fclose(sFile);

Form1->Caption=topik(2);

Form1->ToolButton4->Enabled=true;

Form1->ToolButton5->Enabled=true;

Form1->N2->Enabled=true;

Form1->N3->Enabled=true;

Form1->StatusBar->SimpleText="Вычисления произведены";

zanuliti();

}

void __fastcall TForm1::ToolButton4Click(TObject *Sender)



{

fclose(oFile);

oFile = fopen(sf.c_str(),"w");

fclose(oFile);

oFile = fopen(of.c_str(),"r");

Form1->StatusBar->SimpleText="Очищен файл результатов '"+sf+"'";

Form1->ToolButton4->Enabled=false;

Form1->ToolButton5->Enabled=false;

Form1->N2->Enabled=false;

Form1->N3->Enabled=false;

}

void __fastcall TForm1::ExitAltF41Click(TObject *Sender)



{

fclose(oFile);

fclose(sFile);

exit(1);


}

void __fastcall TForm1::ToolButton5Click(TObject *Sender)

{

fclose(sFile);



spawnlp(P_NOWAIT, "notepad.EXE", "", sf, "", NULL);

MessageBeep(0);

}

void __fastcall TForm1::About2Click(TObject *Sender)



{

MessageBeep(0);

Form2 = new TForm2(Application);

Form2->ShowModal();

delete Form2;

}

void __fastcall TForm1::N6Click(TObject *Sender)



{

if(Form1->N6->Checked==false)

{Form1->N6->Checked=true;

Form1->CheckBox1->Checked=true;

Form1->CheckBox2->Checked=true;

Form1->CheckBox3->Checked=true;

Form1->CheckBox4->Checked=true;

Form1->CheckBox5->Checked=true;

}else{

Form1->N6->Checked=false;



Form1->N8->Checked=false;

Form1->N9->Checked=false;

Form1->N10->Checked=false;

Form1->N11->Checked=false;

Form1->CheckBox5->Checked=false;

}

}



void __fastcall TForm1::N8Click(TObject *Sender)

{

Form1->N6->Checked=false;



if(Form1->N8->Checked==false)

{

Form1->N8->Checked=true;



Form1->CheckBox1->Checked=true;

}else{


Form1->N8->Checked=false;

Form1->CheckBox1->Checked=false;

}

Form1->CheckBox5->Checked=false;



}

void __fastcall TForm1::N9Click(TObject *Sender)

{

Form1->N6->Checked=false;



if(Form1->N9->Checked==false)

{

Form1->N9->Checked=true;



Form1->CheckBox2->Checked=true;

}else{


Form1->N9->Checked=false;

Form1->CheckBox2->Checked=false;

}

Form1->CheckBox5->Checked=false;



}

void __fastcall TForm1::N10Click(TObject *Sender)

{

Form1->N6->Checked=false;



if(Form1->N10->Checked==false)

{

Form1->N10->Checked=true;



Form1->CheckBox3->Checked=true;

}else{


Form1->N10->Checked=false;

Form1->CheckBox3->Checked=false;

}

Form1->CheckBox5->Checked=false;



}

void __fastcall TForm1::N11Click(TObject *Sender)

{

Form1->N6->Checked=false;



if(Form1->N11->Checked==false)

{

Form1->N11->Checked=true;



Form1->CheckBox4->Checked=true;

}else{


Form1->N11->Checked=false;

Form1->CheckBox4->Checked=false;

}

Form1->CheckBox5->Checked=false;



}

void __fastcall TForm1::RadioButton2Click(TObject *Sender)

{

MAX=-1;


}

void __fastcall TForm1::RadioButton1Click(TObject *Sender)

{

MAX=1;


}

void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{

cheku();


}

void __fastcall TForm1::CheckBox1Click(TObject *Sender)

{

Form1->N8->Checked=Form1->CheckBox1->Checked;



if(Form1->CheckBox1->Checked==true)

Form1->N6->Checked=false;

}

void __fastcall TForm1::CheckBox2Click(TObject *Sender)



{

Form1->N9->Checked=Form1->CheckBox2->Checked;

if(Form1->CheckBox2->Checked==true)

Form1->N6->Checked=false;

}

void __fastcall TForm1::CheckBox3Click(TObject *Sender)



{

Form1->N10->Checked=Form1->CheckBox3->Checked;

if(Form1->CheckBox3->Checked==true)

Form1->N6->Checked=false;

}

void __fastcall TForm1::CheckBox4Click(TObject *Sender)



{

Form1->N11->Checked=Form1->CheckBox4->Checked;

if(Form1->CheckBox4->Checked==true)

{ Form1->N6->Checked=false;

Form1->BitBtn1->Enabled=true;

}else


{

Form1->BitBtn1->Enabled=false;

Form1->MaskEdit1->Enabled=false;

}

}



void __fastcall TForm1::CheckBox5Click(TObject *Sender)

{

if(Form1->CheckBox5->Checked==false)



{Form1->N6->Checked=false;

Form1->BitBtn1->Enabled=true;

Form1->CheckBox1->Enabled=true;

Form1->CheckBox2->Enabled=true;

Form1->CheckBox3->Enabled=true;

Form1->CheckBox4->Enabled=true;

Form1->CheckBox1->Checked=true;

Form1->CheckBox2->Checked=true;

Form1->CheckBox3->Checked=true;

Form1->CheckBox4->Checked=true;

Form1->StaticText2->Enabled=true;

}

else{



Form1->N6->Checked=true;

Form1->CheckBox1->Enabled=false;

Form1->CheckBox2->Enabled=false;

Form1->CheckBox3->Enabled=false;

Form1->CheckBox4->Enabled=false;

Form1->CheckBox1->Checked=false;

Form1->CheckBox2->Checked=false;

Form1->CheckBox3->Checked=false;

Form1->CheckBox4->Checked=false;

Form1->StaticText2->Enabled=false;

Form1->N8->Checked=false;

Form1->N9->Checked=false;

Form1->N10->Checked=false;

Form1->N11->Checked=false;

Form1->MaskEdit1->Enabled=false;

Form1->BitBtn1->Enabled=false;

}

}

void __fastcall TForm1::BitBtn1Click(TObject *Sender)



{

Form1->MaskEdit1->Enabled=true;

}

void __fastcall TForm1::N14Click(TObject *Sender)



{

Form1->ComboBox1->Text="определенности";

cheku();

}

void __fastcall TForm1::N15Click(TObject *Sender)



{

Form1->ComboBox1->Text="неопределенности";

cheku();

}

void __fastcall TForm1::N16Click(TObject *Sender)



{

Form1->ComboBox1->Text="риска";

cheku();

}

void __fastcall TForm1::N13Click(TObject *Sender)



{

cheku();


}

void __fastcall TForm1::N19Click(TObject *Sender)

{

Form1->RadioButton1->Checked=true;



}

void __fastcall TForm1::N20Click(TObject *Sender)



{

Form1->RadioButton2->Checked=true;



}


Каталог: download
download -> Объект исследования
download -> Выпускных квалификационных работ
download -> Выпускных квалификационных работ
download -> Учебное пособие для студентов высших учебных заведений, изучающих курс «Концепции современного естествознания»
download -> Пояснительная записка 4 1 Цели и задачи реализации основной образовательной программы основного общего образования 4
download -> Проект концепция образования детей с ограниченными возможностями здоровья
download -> Программа формирования универсальных учебных действий у обучающихся на ступени начального общего образования
download -> Старший воспитатель


Поделитесь с Вашими друзьями:
1   2   3


База данных защищена авторским правом ©psihdocs.ru 2017
обратиться к администрации

    Главная страница