|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.05.2011, 20:25 | #1 |
Новичок
Джуниор
Регистрация: 02.05.2011
Сообщений: 2
|
статистический контроль качества
Для выборки, рассмотренной в работе № 1, провести статистический контроль качества
x1=1 p1=0,18 Δ=0,3 l=11 α=0,025 Метод оптимизации Множество Парето листинг 1 лабы: Программа //подключение модулей #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "math.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } void __fastcall TForm1::Button1Click(TObject *Sender) //функция нажатия кнопки { Form1->ListBox1->Clear();//очищаем ListBox1 int b[10]={0,0,0,0,0,0,0,0,0,0}; //массив float F; //берем данные из Edit и записываем в переменные float a=Form1->Edit1->Text.ToDouble(); int n=Form1->Edit2->Text.ToInt(); for(int i=1;i<=n;i++){ int x=random(12)+1;// диапазон [1.10]( в 0 не работает) F=log(x)/a; //считаем функцию Form1->ListBox1->Items->Add(-F); // записываем результат в ListBox1 //считаем попадания в отрезок for(int c=0;c<10;c++){ if((F>=(1*c)) && (F<1*(c+1))){ b[c]=b[c]+1; } } } //очищаем форму Form1->Canvas->Pen->Color=clWhite; Form1->Canvas->Brush->Color=clWhite; Form1->Canvas->Rectangle(0,450,410,0); //рисуем график Form1->Canvas->Pen->Color=clRed; Form1->Canvas->Pen->Width=3; Form1->Canvas->MoveTo(50,400); Form1->Canvas->LineTo(400,400); Form1->Canvas->MoveTo(50,400); Form1->Canvas->LineTo(50,100); //рисуем гистограмму for(int i=0;i<10;i++){ Form1->Canvas->Pen->Color=clWhite; Form1->Canvas->Pen->Width=1; Form1->Canvas->Brush->Color=clGreen; Form1->Canvas->Rectangle(50+(30*i),400,50+(30*(i+ 1)),400-(b[i]*2)); } } Последний раз редактировалось Secretnaja; 02.05.2011 в 20:26. Причина: заголовок не верный был |
04.05.2011, 16:45 | #2 | ||
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
Не забудь здесь удалять 0 строку из текста т.к. у меня в подобном случае остовалась новая пустая строка при повторном добавлении в список - новое срабатывание нажатия на Button1(в твоем случае ето Form1->ListBox1->Items->Delete(0)
Цитата:
а далее зачем ты береш логарифм от числа Х (целое число) и делиш получиный результат на а (число с плавающей запятой). Мне кажется ты должин в этом случае произвести явное привидение типов (смотри учебник по С++) далее ты сравниваеш число с плаваюшей запятой Цитата:
----------------------------- А вот если бы было твое задание и если можеш опеши метод оптимизации Множество Парето (я чесно не помню)
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
||
08.05.2011, 08:55 | #3 |
Новичок
Джуниор
Регистрация: 02.05.2011
Сообщений: 2
|
Там просто контроль качества оказывается не надо пока Парето трогать))
//--------------------------------------------------------------------------- #include <vcl.h> #include <math.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" #pragma resource "XPStyle.res" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //очищаем ListBox1->Clear(); ListBox2->Clear(); Memo1->Clear(); int graf[11]={0,0,0,0,0,0,0,0,0,0,0}; float fun; float a=Edit1->Text.ToDouble(); int b=Edit2->Text.ToInt(); for(int i=1;i<=Edit3->Text;i++){ int m=1; float x=0; for(int j=0;j<=Edit2->Text;j++){ float y=random(3); x=x+(a*(exp(-a*y))); if(j!=0) m=m*j; } fun=(((pow(a*(a*x),b))/m)*(exp(-a*x)))*1000; Memo1->Lines->Add(fun);//floor(fun*1000)/1000); //zapolnjaem massiv for(int c=0;c<10;c++){ if((fun>=(5*c)) && (fun<5*(c+1))){ graf[c]=graf[c]+1; c=10; } } } //clear Image1->Canvas->Pen->Color=clWhite; Image1->Canvas->Brush->Color=clWhite; Image1->Canvas->Rectangle(32,308,350,0); Image1->Canvas->Rectangle(28,308,353,60); //vyvodim grafik for(int i=0;i<10;i++){ Image1->Canvas->Brush->Color=clRed; Image1->Canvas->Rectangle(28+(30*i),308,28+(30*(i+ 1)),308-(graf[i]*2)); Image1->Canvas->Brush->Color=clWhite; Image1->Canvas->TextOutA(10+(30*(i+1)),290-(graf[i]*2),graf[i]); } //задание 2 double kriterij; int symma=0; for(int i=0;i<=10;i++){ symma=symma+pow(graf[i],2); } kriterij=(symma*0.022)-200; if((kriterij>=23.5) && (kriterij<=31.5)) Label9->Caption="Критерий качества соответсвует норме"; else Label9->Caption="Критерий качества НЕ соответсвует норме"; Label8->Caption="x= "; Label8->Caption=Label8->Caption+kriterij; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
статический стек | tuyana)) | Visual C++ | 0 | 04.04.2011 17:16 |
статический массив | IrinaSS | Общие вопросы C/C++ | 2 | 08.12.2010 19:31 |
Потеря качества изображения при копировании | Herly | Общие вопросы Delphi | 14 | 11.02.2010 20:08 |
Проверка качества датчика псевдослучайных чисел | SerG1ON | Microsoft Office Excel | 0 | 22.10.2009 15:38 |
Помогите создать кнопку-картику хорошего качества! | ДЫМ | Общие вопросы Delphi | 11 | 15.06.2008 21:32 |