на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Определение срока поломки компьютера
p align="left">После того, как база фактов преобразована в базу знаний, инициализируется набор переменных, которые соответствуют столбцам в базе данных:

timeCPU=0,timeMB=0,timeVideo=0,timeOZY=0,timeHDD=0,timeDisp=0,

timePower=0, timeWork=0.

Переменным присваиваются значения следующим образом:

1) timeCPU присваивается значение соответствующее выбранной модели процессора.

2) timeMB присваивается значение соответствующее выбранной модели материнской платы.

3) timeVideo присваивается значение соответствующее выбранной модели графического процессора.

4) timeOZY присваивается значение соответствующее выбранной модели оперативной памяти.

5) timeHDD присваивается значение соответствующее выбранной модели жесткого диска.

6) timeDisp присваивается значение соответствующее выбранной модели монитора.

7) timePower присваивается значение соответствующее выбранной модели блока питания.

На следующем этапе происходит определение наименьшего срока службы из выбранных пользователем комплектующих:

if ((timeCPU<timeMB)&(timeCPU<timeHDD)&(timeCPU<timeVideo)&(timeCPU<timeOZY)&(timeCPU<timeDisp)&(timeCPU<timePower))

{ this->textBox1->Text="Центральный процессор";

timeWork=timeCPU;}

if ((timeMB<timeCPU)&(timeMB<timeHDD)&(timeMB<timeVideo)&(timeMB<timeOZY)&(timeMB<timeDisp)&(timeMB<timePower))

{this->textBox1->Text="Материнская плата";

timeWork=timeMB;}

if ((timeHDD<timeCPU)&(timeHDD<timeMB)&(timeHDD<timeVideo)&(timeHDD<timeOZY)&(timeHDD<timeDisp)&(timeHDD<timePower))

{ this->textBox1->Text="Жесткий диск";

timeWork=timeHDD;}

if ((timeVideo<timeCPU)&(timeVideo<timeHDD)&(timeVideo<timeMB)&(timeVideo<timeOZY)&(timeVideo<timeDisp)&(timeVideo<timePower))

{ this->textBox1->Text="Видеокарта";

timeWork=timeVideo;}

if ((timeOZY<timeCPU)&(timeOZY<timeHDD)&(timeOZY<timeMB)&(timeOZY<timeVideo)&(timeOZY<timeDisp)&(timeOZY<timePower))

{ this->textBox1->Text="Оперативная память";

timeWork=timeOZY;}

if ((timeDisp<timeCPU)&(timeDisp<timeHDD)&(timeDisp<timeMB)&(timeDisp<timeVideo)&(timeDisp<timeOZY)&(timeDisp<timePower))

{ this->textBox1->Text="Монитор";

timeWork=timeDisp;}

if ((timePower<timeCPU)&(timePower<timeHDD)&(timePower<timeMB)&(timePower<timeVideo)&(timePower<timeDisp)&(timePower<timeOZY))

{this->textBox1->Text="Блок питания";

timeWork=timePower;

Далее инициализируется набор дополнительных параметров:

1) Техобслуживание:

Если checkBox1=true, то timeWork+=0.25*timeWork

2) Увеливение тактовой частоты:

Если checkBox2=true, то timeWork-=0.4*timeWork

3) Температурный режим:

(5-10 °С)

Если checkBox3=true, то timeWork -=0.05* timeWork

(10-15 °С)

Если checkBox4=true, то timeWork -=0.03* timeWork

(15-20 °С)

Если checkBox5=true, то timeWork = timeWork

(20-35 °С)

Если checkBox6=true, то timeWork -=0.35* timeWork

4) Среднее время работы компьютера в сутки:

(Офисный компьютер)

Если checkBox7=true, то timeWork -=0.15* timeWork

(Домашний компьютер)

Если checkBox8=true, то timeWork = timeWork

(Сервер)

Если checkBox9=true, то timeWork -=0.6* timeWork

5) Источник питания:

(ИБП)

Если checkBox10=true, то timeWork +=0.45* timeWork

(Сетевой фильтр)

Если checkBox11=true, то timeWork +=0.15* timeWork

3.2 Разработка схемы алгоритма блока принятия решений

4. Разработка программного обеспечения

4.1 Выбор среды разработки системы

Для написания программного модуля данной курсовой работы была выбрана среда программирования MS Visual C++ 2008.

4.2 Программная реализация блока принятия решения.

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

float timeWork=0, timeWork2=0; int timeWork2_int;

int i=0, k=0; float ed=1;

float timeCPU=0,timeMB=0,timeVideo=0,timeOZY=0,timeHDD=0,timeDisp=0,timePower=0;

if (this->comboBox2->Text!=""&&this->comboBox1->Text!="")//считывание срока службы выбранного процессора

{ String ^d, ^dd="", ^s=File::ReadAllText("input_CPU.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==markaCPU)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==chastCPU)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timeCPU=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox4->Text!=""&&this->comboBox3->Text!="")//считывание срока службы выбранной мат. платы

{ String ^d, ^dd="", ^s=File::ReadAllText("input_MB.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==markaMB)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==modelMB)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timeMB=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox6->Text!=""&&this->comboBox5->Text!="") //считывание срока службы выбранной видеокарты

{ String ^d, ^dd="", ^s=File::ReadAllText("input_Vidik.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==markaVideo)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==modelVideo)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timeVideo=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox8->Text!=""&&this->comboBox7->Text!="") //считывание срока службы выбранного ОЗУ

{ String ^d, ^dd="", ^s=File::ReadAllText("input_DDR.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==typeOZY)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==sizeOZY)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timeOZY=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox10->Text!=""&&this->comboBox9->Text!="") //считывание срока службы выбранного HDD

{ String ^d, ^dd="", ^s=File::ReadAllText("input_HDD.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==typeHDD)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==sizeHDD)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timeHDD=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox12->Text!=""&this->comboBox11->Text!="")//считывание срока службы выбранного монитора

{ String ^d, ^dd="", ^s=File::ReadAllText("input_Monitor.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==markaDisp)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==modelDisp)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timeDisp=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox13->Text!=""&&this->comboBox14->Text!="")//считывание срока службы блока питания

{ String ^d, ^dd="", ^s=File::ReadAllText("input_BP.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==markaPower)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==modelPower)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timePower=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

//Определение наименьшего срока службы у выранных комплектующих

if ((timeCPU<timeMB)&(timeCPU<timeHDD)&(timeCPU<timeVideo)&(timeCPU<timeOZY)&(timeCPU<timeDisp)&(timeCPU<timePower))

{ this->textBox1->Text="Центральный процессор";

timeWork=timeCPU;}

if ((timeMB<timeCPU)&(timeMB<timeHDD)&(timeMB<timeVideo)&(timeMB<timeOZY)&(timeMB<timeDisp)&(timeMB<timePower))

{this->textBox1->Text="Материнская плата";

timeWork=timeMB;}

if ((timeHDD<timeCPU)&(timeHDD<timeMB)&(timeHDD<timeVideo)&(timeHDD<timeOZY)&(timeHDD<timeDisp)&(timeHDD<timePower))

{ this->textBox1->Text="Жесткий диск";

timeWork=timeHDD;}

if ((timeVideo<timeCPU)&(timeVideo<timeHDD)&(timeVideo<timeMB)&(timeVideo<timeOZY)&(timeVideo<timeDisp)&(timeVideo<timePower))

{ this->textBox1->Text="Видеокарта";

timeWork=timeVideo;}

if ((timeOZY<timeCPU)&(timeOZY<timeHDD)&(timeOZY<timeMB)&(timeOZY<timeVideo)&(timeOZY<timeDisp)&(timeOZY<timePower))

{ this->textBox1->Text="Оперативная память";

timeWork=timeOZY;}

if ((timeDisp<timeCPU)&(timeDisp<timeHDD)&(timeDisp<timeMB)&(timeDisp<timeVideo)&(timeDisp<timeOZY)&(timeDisp<timePower))

{ this->textBox1->Text="Монитор";

timeWork=timeDisp;}

if ((timePower<timeCPU)&(timePower<timeHDD)&(timePower<timeMB)&(timePower<timeVideo)&(timePower<timeDisp)&(timePower<timeOZY))

{this->textBox1->Text="Блок питания";

timeWork=timePower;}

if (this->comboBox2->Text==""&&this->comboBox1->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель процессора! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox4->Text==""&&this->comboBox3->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель материнской платы! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox6->Text==""&&this->comboBox5->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель видеокарты! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox8->Text==""&&this->comboBox7->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель оперативной памяти! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox10->Text==""&&this->comboBox9->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель жесткого диска! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox12->Text==""&&this->comboBox11->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель монитора! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox14->Text==""&&this->comboBox13->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель блока питания! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

//Определение параметров введенных пользователем

if(this->checkBox1->Checked) timeWork+=0.25*timeWork;

if(this->checkBox2->Checked) timeWork-=0.4*timeWork;

if(this->checkBox3->Checked) timeWork+=0;

if(this->checkBox4->Checked) timeWork-=0.03*timeWork;

if(this->checkBox5->Checked) timeWork-=0.05*timeWork;

if(this->checkBox6->Checked) timeWork-=0.35*timeWork;

if(this->checkBox7->Checked) timeWork-=0.15*timeWork;

if(this->checkBox8->Checked) timeWork+=0;

if(this->checkBox9->Checked) timeWork-=0.6*timeWork;

if(this->checkBox10->Checked) timeWork+=0.45*timeWork;

if(this->checkBox11->Checked) timeWork+=0.15*timeWork;

this->textBox2->Text=timeWork.ToString(); //вывод результата в форму

}

5. Тестирование программного продукта и оценка качества решения

Произведём тестирование разработанного программного продукта:

Рисунок 2-Главное окно

Заключение

В соответствии с результатами работы программы при заданной комплектации и условиями эксплуатаций с наибольшей вероятностью первой выйдет из строя видеокарта. Поломка произойдет предположительно через 835 дней с начала использования.

Список используемых источников

1 Саттер Герб. Стандарты программирования на C++. 101 правило и рекомендация / Андрей Александреску. - М.: Вильямс, 2005.

2 Дейтел Харви. Как программировать на С++ / Пол Дейтел - М.: Бином, 2003.

3 Шилдт Герберт. Самоучитель С++. - СПб. : БХВ-Петербург, 2003.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.