Методические указания и примеры выполнения задания №6 " Моделирование процессов принятия решений"

Вид материалаМетодические указания

Содержание


ЦЕЛЬ: Принять правельное решение игроком во время торговли в зависемости от сложившейся ситуации. ОГРАНИЧЕНИЯ
ТИП: Исходный текст программы ( Реализовано на С++ )
Подобный материал:
1   2   3   4   5   6   7   8   9   10

ЦЕЛЬ: Принять правельное решение игроком во время торговли в зависемости от сложившейся ситуации.

ОГРАНИЧЕНИЯ:

АЛЬТЕРНАТИВЫ:

ТИП:


Исходный текст программы ( Реализовано на С++ ):


#include

#include

#include

#include

#include


//---------------------------------------------------------------------------

int Col[4]={0,0,0,0};

int M[4][8];


int Koloda[32];

int InKoloda=32;

int Karts [10];

int Weigth[10];


char *KartStr[32]={" A 1-x"," K 1-x"," Q 1-x"," J 1-x","10 1-x"," 9 1-x"," 8 1-x"," 7 1-x",

" A 2-x"," K 2-x"," Q 2-x"," J 2-x","10 2-x"," 9 2-x"," 8 2-x"," 7 2-x",

" A 3-x"," K 3-x"," Q 3-x"," J 3-x","10 3-x"," 9 3-x"," 8 3-x"," 7 3-x",

" A 4-x"," K 4-x"," Q 4-x"," J 4-x","10 4-x"," 9 4-x"," 8 4-x"," 7 4-x"};

//---------------------------------------------------------------------------

void Sortir(int Array[],int Col)

{

for (int i=0; i
{

for(int j=0;j
if(Array[j]>Array[i])

{

int Temp;

Temp=Array[j];

Array[j]=Array[i];

Array[i]=Temp;

i--;

}

}

};

//---------------------------------------------------------------------------

void InitKoloda()

{

for (int i=0; i
{

Koloda[i]=i;

}

};

//---------------------------------------------------------------------------

void Sdacha()

{

randomize();

for (int i=0; i<10; i++)

{

int Index=random(InKoloda);

Karts[i]=Koloda[Index];

Koloda[Index]=40;

Sortir(Koloda,InKoloda);

InKoloda--;

}

Sortir(Karts,10);

}

//---------------------------------------------------------------------------

void InitWeigth()

{

for (int i=0; i<10;i++)

{

int E=Karts[i]%8;

if(E==0)

Weigth[i]=20;

else

Weigth[i]=8-E;

}

}

//---------------------------------------------------------------------------

void OutKarts()

{

for (int i=0; i<10; i++)

{

cout<
}

}

//---------------------------------------------------------------------------

void OutArray(int Array[],int Col)

{

for (int i=0; i
{

cout<
}

}

//---------------------------------------------------------------------------

int In4Array()

{

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

for(int i=0;i<10;i++)

{

if(Karts[i]<8*(j+1)&&Karts[i]>=8*j)

{

M[j][Col[j]]=Weigth[i];

Col[j]++;

}

}

return 0;

}

//---------------------------------------------------------------------------

int Sum(int M[],int col)

{

int i=0;

int k=1;

int S=0;


if((M[0]==20)&&(col>=4))

{

for(i=0;i
S+=M[i];

S*=col;

return S;

}


if((M[0]==7)&&(col>=4))

{

for(i=0;i
S+=M[i];

S*=col-1;

return S;

}


int S1=M[0];

for(i=1,k=1;i
{

while(M[i]-M[i-1]==-1||M[i]-M[i-1]==-13)

{

S1+=M[i];

k++;

i++;

if(i==col)break;

}

S1*=k;

S+=S1;

if(i==col)

return S;

S1=M[i];

k=1;

}

S+=M[col-1];

return S;

}


//---------------------------------------------------------------------------

int Itog()

{

for(int i=0,GSum=0;i<4;i++)

GSum+=Sum(M[i],Col[i]);

return GSum;

}

//---------------------------------------------------------------------------

int Zakaz(int bal,int az)

{

int max=0;

for(int i=1;i<4;i++)

if(Col[i]>Col[max])

max=i;

if(bal<-15&&az==-75)

cout<<"I want to say MIZER!!!";

if(bal<=30&&az==0)

cout<<"I want to say MIZER!!!";

bal+=az;

if(bal<=160&&bal>30)

cout<<"I want to say PASS";

if(bal>160&&bal<=210)

cout<<"My game is 6 "<
if(bal>210&&bal<=260)

cout<<"My game is 7 "<
if(bal>260&&bal<=330)

cout<<"My game is 8 "<
if(bal>330&&bal<=400)

cout<<"My game is 9 "<
if(bal>400)

cout<<"My game is 10 "<

return bal;

}

//---------------------------------------------------------------------------

int MakeAzart()

{

//randomize();

int a=75*(random(99)%3-1);

switch(a)

{

case -75:cout<<"I'm sneakly player";break;

case 0 :cout<<"I'm normal player";break;

case 75:cout<<"I'm brave player";break;

}

cout<
return a;

}


//---------------------------------------------------------------------------

void main()

{

clrscr();

InitKoloda();

Sdacha();

InitWeigth();

OutKarts();

In4Array();

/* for(int i=0;i<4;i++)

{

OutArray(M[i],Col[i]);

cout<
}*/

cout<<" "<
getch();

}


Оптимизация комплектации ПК для конкретного пользователя.


ЦЕЛЬ: Оптимизировать комплектацию персонального компьютера в зависемости от потребностей конкретного пользователя.

ОГРАНИЧЕНИЯ:

АЛЬТЕРНАТИВЫ:

ТИП:


Исходный текст программы ( Реализовано на С++ ):


//---------------------------------------------------------------------------

#include

#pragma hdrstop

#include

#include

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

int Vid =0;// для какого рода деятельности будет использоваться

// компьютер

int MaxTime = 1;

int Nadeg=1;

int Second;// текущая секунда

int MainMas[37];

int IsKonfig = 0;// если =1 => подобрана конфигурация компьютера

int IsMon = 0; // если =1 => подобран монитор

int IsSBl = 0;// если =1 => подобран системный блок

int IsMB = 0;// если =1 => подобрана материнская плата

int IsPr = 0;// если =1 => подобран процессор

int IsOper = 0;// если =1 => подобрана оперативная память

int IsVind = 0;// если =1 => подобран винчестер

int IsVideo = 0;// если =1 => подобрана видеокарта

int IsSound = 0;// если =1 => подобрана звуковая плата

int IsModem = 0;// если =1 => подобран модем

int IsDrive = 0;// если =1 => подобран дисковод

int IsMouse = 0;// если =1 => подобран манипулятор

int IsKl = 0;// если =1 => подобрана клавиатура

int IsPrinter = 0;// если =1 => подобран принтер

//MainMas[0] - MainMas[3]// монитор

//MainMas[4] , MainMas[5]// системный блок

//MainMas[6] - MainMas[8]// материнская плата

//MainMas[9] - MainMas[11]// процессор

//MainMas[12] - MainMas[14]// оперативная память

//MainMas[15] - MainMas[18]// винчестер

//MainMas[19] - MainMas[21]// видеокарта

//MainMas[22] , MainMas[23]// звуковая плата

//MainMas[24] , MainMas[25]// модем

//MainMas[26] - MainMas[29]// дисковод

//MainMas[30] - MainMas[32]// манипулятор

//MainMas[33] // клавиатура

//MainMas[34] - MainMas[36]// принтер

// если элемент вектора равен 0 => данной комплектующей нет ни

// в торговой точке (магазине),ни на "базовом" складе фирмы . Если элемент

// вектора равен 1 => необходимая комплектующая есть в торговой точке(магазине).

// Если элемент вектора равен 2 => необходимой комплектующей нет в торговой

// точке (магазине), но она есть на на "базовом" складе фирмы .


//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ExitClick(TObject *Sender)

{

Form1 ->Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::StartClick(TObject *Sender)

{

int Time = 1;

int i;

int s;

int f;

int r;

int Yes;

int RealTime = 0;

int RealMoney = Money->Text.ToInt();

int Sum=0;

IsKonfig = 0;// конфигурация

IsMon = 0; // монитор

IsSBl = 0;// системный блок

IsMB = 0;// материнская плата

IsPr = 0;// процессор

IsOper = 0;// оперативная память

IsVind = 0;// винчестер

IsVideo = 0;// видеокарта

IsSound = 0;// звуковая плата

IsModem = 0;// модем

IsDrive = 0;// дисковод

IsMouse = 0;// мышь

IsKl = 0;// клавиатура

IsPrinter = 0;// принтер

Memo->Lines-> Clear();

/////////////////////Генерация наличия комплектующих\\\\\\\\\\\\\\\\\\\\\\\\\\\

randomize();

for ( i=0; i<37; i++)

{

s= random (100);

f = rand()/1000;

if ( s > f ) Yes = 1;

if ( s < 25 || f < 25 ) Yes = 0;

if ( s <= f ) Yes = 2;

MainMas[i]= Yes;

}

MainMas[0]= 1;

if ( MainMas[2] != 0 ) MainMas[2]= 2;

if ( MainMas[3] != 0 ) MainMas[3]= 2;

MainMas[4]= 1;

MainMas[6]= 1;

if ( MainMas[7] == 0 ) MainMas[7]= 2;

if ( MainMas[8] != 0 ) MainMas[8]= 2;

if ( MainMas[9] == 0 ) MainMas[9]= 2;

MainMas[11]= 2;

MainMas[15]= 1;

if ( MainMas[18] != 0 ) MainMas[18]= 2;

if ( MainMas[19] == 0 ) MainMas[19]= 2;

if ( MainMas[23] != 0 ) MainMas[23]= 2;

MainMas[28]= 1;

if ( MainMas[29] != 0 ) MainMas[29]= 2;

MainMas[30]= 1;

MainMas[33]= 1;

MainMas[34]= 1;

MainMas[35]= 1;

////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

if (Vid == 0)

{////==0

if ( MainMas[1]!= 0 ){Sum= Sum+1000; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 15"); }

if ( MainMas[1]== 2 ){RealTime = 2;}////////////////

if (IsMon == 0){Sum= Sum+ 500; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 14"); }

if ( IsMon == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

//---------------------------------------------------

if ( Time == 1 ){

Sum= Sum+ 100;

Memo->Lines-> Add("Системный блок MINITOWER");

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[32]!= 0 ){Sum= Sum+100; IsMouse = 1;RealTime = 1;

Memo->Lines-> Add("Манипулятор джойстик"); }

if ( MainMas[32]== 2 ){RealTime = 2;}///////////////

if (IsMouse == 0){Sum= Sum+ 30; IsMouse = 1;RealTime = 1;

Memo->Lines-> Add("Манипулятор мышь"); }

if ( IsMouse == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

Sum= Sum+ 50;

Memo->Lines-> Add("Клавиатура");

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[10]!= 0 ){Sum= Sum+1500; IsPr = 1;RealTime = 1;

Memo->Lines-> Add("Процессор Pentium II"); }

if ( MainMas[10]== 2 && IsPr == 1){RealTime = 2;}///////////////

if ( MainMas[9]!= 0 && IsPr == 0 ){Sum= Sum+800; IsPr = 1;RealTime = 1;

Memo->Lines-> Add("Процессор Pentium "); }

if ( MainMas[9]== 2 && IsPr == 1){RealTime = 2;}///////////////

if ( IsPr == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[7]!= 0 ){Sum= Sum+1500; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Материнская плата"); }

if ( MainMas[7]== 2 && IsMB == 1){RealTime = 2;}///////////////

if ( MainMas[6]!= 0 && IsMB == 0 ){Sum= Sum+600; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Материнская плата"); }

if ( MainMas[6]== 2 && IsMB == 1){RealTime = 2;}///////////////

if ( IsMB == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[14]!= 0 ){Sum= Sum+500; IsOper = 1;RealTime = 1;

Memo->Lines-> Add("Оперативная память dimm 32 Mb"); }

if ( MainMas[14]== 2 && IsOper == 1){RealTime = 2;}///////////////

if ( MainMas[13]!= 0 && IsOper == 0 ){Sum= Sum+300; IsOper= 1;RealTime = 1;

Memo->Lines-> Add("Оперативная память dimm 16 Mb"); }

if ( MainMas[13]== 2 && IsOper == 1){RealTime = 2;}///////////////

if ( IsOper == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[18]!= 0 ){Sum= Sum+500; IsVind = 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 12 Gb"); }

if ( MainMas[18]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( MainMas[17]!= 0 && IsVind == 0 ){Sum= Sum+400; IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 6,2 Gb"); }

if ( MainMas[17]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( MainMas[16]!= 0 && IsVind == 0 ){Sum= Sum+300;IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 2,5 Gb"); }

if ( MainMas[16]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( MainMas[15]!= 0 && IsVind == 0 ){Sum= Sum+200; IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 1 Gb"); }

if ( MainMas[15]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( IsVind == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[23]!= 0 ){Sum= Sum+300; IsSound = 1;RealTime = 1;

Memo->Lines-> Add("Звуковая плата 32 bit"); }

if ( MainMas[23]== 2 && IsSound == 1){RealTime = 2;}///////////////

if ( MainMas[22]!= 0 && IsSound == 0 ){Sum= Sum+100; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Звуковая плата 16 bit"); }

if ( MainMas[22]== 2 && IsSound == 1){RealTime = 2;}///////////////

if ( IsSound == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[21]!= 0 ){Sum= Sum+500; IsVideo = 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта с 3D акселератором"); }

if ( MainMas[21]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( MainMas[20]!= 0 && IsVideo== 0 ){Sum= Sum+200; IsVideo= 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта 4 Mb "); }

if ( MainMas[20]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( MainMas[19]!= 0 && IsVideo == 0 ){Sum= Sum+50;IsVideo= 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта 1 Mb "); }

if ( MainMas[19]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( IsVideo == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[27]!= 0 ){Sum= Sum+300; IsDrive = 1;RealTime = 1;

Memo->Lines-> Add(" CD 40x"); }

if ( MainMas[27]== 2 && IsDrive == 1){RealTime = 2;}///////////////

if ( MainMas[28]!= 0 && IsDrive == 0 ){Sum= Sum+100; IsDrive = 1;RealTime = 1;

Memo->Lines-> Add(" FDD 3,5 "); }

if ( MainMas[28]== 2 && IsDrive == 1){RealTime = 2;}///////////////

if ( IsDrive == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

if ( Nadeg== 1 ){ Sum = Sum ; }

if ( Nadeg== 2 ){ Sum = Sum + int (Sum/3) ;}

if ( Nadeg== 3 ){ Sum = Sum + int (Sum/2) ;}

Memo->Lines-> Add("Потраченные средства : "+ AnsiString(Sum));

if ( Sum > RealMoney) { Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило денег "); }

} //==0

//---------------------------------------------------

//---------------------------------------------------

if (Vid == 1)

{////==1

if ( MainMas[1]!= 0 ){Sum= Sum+1000; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 15"); }

if ( MainMas[1]== 2 && IsMon ==1){RealTime = 2;}////////////////

if (IsMon == 0){Sum= Sum+ 500; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 14"); }

if ( IsMon == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

//---------------------------------------------------

if ( Time == 1 ){

Sum= Sum+ 100;

Memo->Lines-> Add("Системный блок MINITOWER");

}

//---------------------------------------------------

if ( Time == 1 ){

if (IsMouse == 0){Sum= Sum+ 30; IsMouse = 1;RealTime = 1;

Memo->Lines-> Add("Манипулятор мышь"); }

if ( IsMouse == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

Sum= Sum+ 50;

Memo->Lines-> Add("Клавиатура");

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[10]!= 0 ){Sum= Sum+1500; IsPr = 1;RealTime = 1;

Memo->Lines-> Add("Процессор Pentium II"); }

if ( MainMas[10]== 2 && IsPr == 1){RealTime = 2;}///////////////

if ( MainMas[9]!= 0 && IsPr == 0 ){Sum= Sum+800; IsPr = 1;RealTime = 1;

Memo->Lines-> Add("Процессор Pentium "); }

if ( MainMas[9]== 2 && IsPr == 1){RealTime = 2;}///////////////

if ( IsPr == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[7]!= 0 ){Sum= Sum+1500; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Материнская плата"); }

if ( MainMas[7]== 2 && IsMB == 1){RealTime = 2;}///////////////

if ( MainMas[6]!= 0 && IsMB == 0 ){Sum= Sum+600; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Материнская плата"); }

if ( MainMas[6]== 2 && IsMB == 1){RealTime = 2;}///////////////

if ( IsMB == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[14]!= 0 ){Sum= Sum+500; IsOper = 1;RealTime = 1;

Memo->Lines-> Add("Оперативная память dimm 32 Mb"); }

if ( MainMas[14]== 2 && IsOper == 1){RealTime = 2;}///////////////

if ( MainMas[13]!= 0 && IsOper == 0 ){Sum= Sum+300; IsOper= 1;RealTime = 1;

Memo->Lines-> Add("Оперативная память dimm 16 Mb"); }

if ( MainMas[13]== 2 && IsOper == 1){RealTime = 2;}///////////////

if ( IsOper == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[16]!= 0 ){Sum= Sum+300;IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 2,5 Gb"); }

if ( MainMas[16]== 2 && IsVind== 1){RealTime = 2;}///////////////

if ( MainMas[15]!= 0 && IsVind == 0 ){Sum= Sum+200; IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 1 Gb"); }

if ( MainMas[15]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( IsVind == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[22]!= 0 ){Sum= Sum+100; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Звуковая плата 16 bit"); }

if ( MainMas[22]== 2 && IsMB == 1){RealTime = 2;}///////////////

if ( IsSound == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[20]!= 0 ){Sum= Sum+200; IsVideo= 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта 4 Mb "); }

if ( MainMas[20]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( MainMas[19]!= 0 && IsVideo == 0 ){Sum= Sum+50;IsVideo= 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта 1 Mb "); }

if ( MainMas[19]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( IsVideo == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[27]!= 0 ){Sum= Sum+300; IsDrive = 1;RealTime = 1;

Memo->Lines-> Add(" CD 40x"); }

if ( MainMas[27]== 2 && IsDrive == 1){RealTime = 2;}///////////////

if ( MainMas[28]!= 0 && IsDrive == 0 ){Sum= Sum+100; IsDrive = 1;RealTime = 1;

Memo->Lines-> Add(" FDD 3,5 "); }

if ( MainMas[28]== 2 && IsDrive == 1){RealTime = 2;}///////////////

if ( IsDrive == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

if ( Nadeg== 1 ){ Sum = Sum ; }

if ( Nadeg== 2 ){ Sum = Sum + int (Sum/3) ;}

if ( Nadeg== 3 ){ Sum = Sum + int (Sum/2) ;}

Memo->Lines-> Add("Потраченные средства : "+ AnsiString(Sum));

if ( Sum > RealMoney) { Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило денег "); }

} //==1

//---------------------------------------------------

//---------------------------------------------------

if (Vid == 2)

{////==2

if ( MainMas[3]!= 0 ){Sum= Sum+ 3000; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 17 Ж/К"); }

if ( MainMas[3]== 2 ){RealTime = 2;}////////////////

if (MainMas[2]!= 0 && IsMon == 0){Sum= Sum+ 2500; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 15 Ж/К"); }

if ( MainMas[2]== 2 && IsMon == 1){RealTime = 2;}////////////////

if ( MainMas[1]!= 0 && IsMon == 0){Sum= Sum+1000; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 15"); }

if ( MainMas[1]== 2 && IsMon ==1){RealTime = 2;}////////////////

if (IsMon == 0){Sum= Sum+ 500; IsMon = 1;RealTime = 1;

Memo->Lines-> Add("Монитор 14"); }

if ( IsMon == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[5]!= 0 ){Sum= Sum+ 300; IsSBl = 1;RealTime = 1;

Memo->Lines-> Add("Системный блок BIGTOWER"); }

if ( MainMas[5]== 2 && IsSBl == 1){RealTime = 2;}////////////////

if (MainMas[4]!= 0 && IsSBl == 0){Sum= Sum+ 100; IsSBl = 1;RealTime = 1;

Memo->Lines-> Add("Системный блок MINITOWER"); }

if ( MainMas[4]== 2 ){RealTime = 2;}///////////////

if ( IsMon == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[31]!= 0 ){Sum= Sum+300; IsMouse = 1;RealTime = 1;

Memo->Lines-> Add("Манипулятор optical-мышь"); }

if ( MainMas[31]== 2 ){RealTime = 2;}///////////////

if (IsMouse == 0){Sum= Sum+ 30; IsMouse = 1;RealTime = 1;

Memo->Lines-> Add("Манипулятор мышь"); }

if ( IsMouse == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

Sum= Sum+ 50;

Memo->Lines-> Add("Клавиатура");

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[11]!= 0 ){Sum= Sum+2500; IsPr = 1;RealTime = 1;

Memo->Lines-> Add("Процессор Pentium III"); }

if ( MainMas[11]== 2 && IsPr == 1){RealTime = 2;}///////////////

if ( MainMas[10]!= 0 && IsPr == 0 ){Sum= Sum+ 1500; IsPr = 1;RealTime = 1;

Memo->Lines-> Add("Процессор Pentium II"); }

if ( MainMas[10]== 2 && IsPr == 1){RealTime = 2;}///////////////

if ( IsPr == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[7]!= 0 ){Sum= Sum+1900; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Материнская плата"); }

if ( MainMas[7]== 2 && IsMB == 1){RealTime = 2;}///////////////

if ( MainMas[6]!= 0 && IsMB == 0 ){Sum= Sum+1000; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Материнская плата"); }

if ( MainMas[6]== 2 && IsMB == 1){RealTime = 2;}///////////////

if ( IsMB == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[14]!= 0 ){Sum= Sum+500; IsOper = 1;RealTime = 1;

Memo->Lines-> Add("Оперативная память dimm 32 Mb"); }

if ( MainMas[14]== 2 && IsOper == 1){RealTime = 2;}///////////////

if ( MainMas[13]!= 0 && IsOper == 0 ){Sum= Sum+300; IsOper= 1;RealTime = 1;

Memo->Lines-> Add("Оперативная память dimm 16 Mb"); }

if ( MainMas[13]== 2 && IsOper == 1){RealTime = 2;}///////////////

if ( IsOper == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[18]!= 0 ){Sum= Sum+500; IsVind = 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 12 Gb"); }

if ( MainMas[18]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( MainMas[17]!= 0 && IsVind == 0 ){Sum= Sum+400; IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 6,2 Gb"); }

if ( MainMas[17]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( MainMas[16]!= 0 && IsVind == 0 ){Sum= Sum+300;IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 2,5 Gb"); }

if ( MainMas[16]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( MainMas[15]!= 0 && IsVind == 0 ){Sum= Sum+200; IsVind= 1;RealTime = 1;

Memo->Lines-> Add("Винчестер 1 Gb"); }

if ( MainMas[15]== 2 && IsVind == 1){RealTime = 2;}///////////////

if ( IsVind == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[23]!= 0 ){Sum= Sum+300; IsSound = 1;RealTime = 1;

Memo->Lines-> Add("Звуковая плата 32 bit"); }

if ( MainMas[23]== 2 && IsSound == 1){RealTime = 2;}///////////////

if ( MainMas[22]!= 0 && IsSound == 0 ){Sum= Sum+100; IsMB = 1;RealTime = 1;

Memo->Lines-> Add("Звуковая плата 16 bit"); }

if ( MainMas[22]== 2 && IsSound == 1){RealTime = 2;}///////////////

if ( IsSound == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[21]!= 0 ){Sum= Sum+500; IsVideo = 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта с 3D акселератором"); }

if ( MainMas[21]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( MainMas[20]!= 0 && IsVideo== 0 ){Sum= Sum+200; IsVideo= 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта 4 Mb "); }

if ( MainMas[20]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( MainMas[19]!= 0 && IsVideo == 0 ){Sum= Sum+50;IsVideo= 1;RealTime = 1;

Memo->Lines-> Add("Видеокарта 1 Mb "); }

if ( MainMas[19]== 2 && IsVideo == 1){RealTime = 2;}///////////////

if ( IsVideo == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

//---------------------------------------------------

if ( Time == 1 ){

if ( MainMas[29]!= 0 ){Sum= Sum+1300; IsDrive = 1;RealTime = 1;

Memo->Lines-> Add(" DVD-ROM "); }

if ( MainMas[29]== 2 && IsDrive == 1){RealTime = 2;}///////////////

if ( MainMas[28]!= 0 && IsDrive == 0 ){Sum= Sum+100; IsDrive = 1;RealTime = 1;

Memo->Lines-> Add(" FDD 3,5 "); }

if ( MainMas[28]== 2 && IsDrive == 1){RealTime = 2;}///////////////

if ( IsDrive == 0 ) IsKonfig = 0;

if ( RealTime > MaxTime) {Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило времени "); Time = 0;}

}

if ( Nadeg== 1 ){ Sum = Sum ; }

if ( Nadeg== 2 ){ Sum = Sum + int (Sum/3) ;}

if ( Nadeg== 3 ){ Sum = Sum + int (Sum/2) ;}

Memo->Lines-> Add("Потраченные средства : "+ AnsiString(Sum));

if ( Sum > RealMoney) { Memo->Lines-> Clear();

Memo->Lines-> Add("Не хватило денег "); }

} //==2

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

struct time currentTime;

gettime(¤tTime);

Second = currentTime.ti_sec;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::NadegnostClick(TObject *Sender)

{

if ( Nadegnost->Items->Strings[Nadegnost->ItemIndex] ==

"Нормальная степень надежности") Nadeg=1;

if ( Nadegnost->Items->Strings[Nadegnost->ItemIndex] ==

"Средняя степень надежности") Nadeg=2;

if ( Nadegnost->Items->Strings[Nadegnost->ItemIndex] ==

"Повышеная степень надежности") Nadeg=3;

}

//---------------------------------------------------------------------------


void __fastcall TForm1::PeopleClick(TObject *Sender)

{

Vid = People->ItemIndex;// для какого рода деятельности будет использоваться

// компьютер

}

//---------------------------------------------------------------------------

void __fastcall TForm1::TimesClick(TObject *Sender)

{

MaxTime = Times ->ItemIndex ;

if ( MaxTime == 0 ) MaxTime = 1;

if ( MaxTime == 1 ) MaxTime = 2;

if ( MaxTime == 2 ) MaxTime = 10;

}

//---------------------------------------------------------------------------


Модель выбора спринтера в эстафету.