Методические указания и примеры выполнения задания №6 " Моделирование процессов принятия решений"
Вид материала | Методические указания |
СодержаниеЦЕЛЬ: Принять правельное решение игроком во время торговли в зависемости от сложившейся ситуации. ОГРАНИЧЕНИЯ ТИП: Исходный текст программы ( Реализовано на С++ ) |
- Рабочая программа, методические указания по выполнению курсовой работы, темы курсовых, 1694.43kb.
- Программа дисциплины Моделирование экономических процессов для направления 080100., 53.79kb.
- Методические указания для выполнения курсовой работы по дисциплине «Теория принятия, 547.84kb.
- Методические указания к изучению курса «модели и методы принятия решений в анализе, 683.86kb.
- Методические указания к выполнению контрольных, курсовых работ По дисциплине Имитационное, 222.24kb.
- Анализ принятия управленческих решений, 54.28kb.
- Методические указания по изучению дисциплины и задания для выполнения, 272.59kb.
- Лекция №10: «Интеллектуальные системы принятия решений и управления в условиях конфликта», 581.94kb.
- Методические указания к выполнению лабораторной работы №23 по физике для студентов, 142.34kb.
- Методические указания для выполнения контрольных работ по курсу «Автоматика и автоматизация, 447.92kb.
ЦЕЛЬ: Принять правельное решение игроком во время торговли в зависемости от сложившейся ситуации.
ОГРАНИЧЕНИЯ:
АЛЬТЕРНАТИВЫ:
ТИП:
Исходный текст программы ( Реализовано на С++ ):
#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;
}
//---------------------------------------------------------------------------
Модель выбора спринтера в эстафету.