//Resultados sin rangos public Resultados resultados(double[] resultados, string opcionRes, int X) { List <int> datos = new List <int>(); Resultados resultados1 = new Resultados(); double result = 0; double mediana = 0; switch (opcionRes) { case "igual": for (int i = 0; i < resultados.Length; i++) { if (i == X) { datos.Add(i); // mediana = Mediana(datos); resultados1.result = resultados[i]; resultados1.mediana = i; return(resultados1); } } break; case "mayor": for (int j = X + 1; j < resultados.Length; j++) { result = result + resultados[j]; datos.Add(j); } mediana = Mediana(datos); resultados1.result = result; resultados1.mediana = mediana; // return resultados1; //return result; break; case "menor": for (int j = 0; j < X; j++) { result = result + resultados[j]; datos.Add(j); } mediana = Mediana(datos); resultados1.result = result; resultados1.mediana = mediana; // return resultados1; //return result; break; case "mayorigual": for (int j = X; j < resultados.Length; j++) { result = result + resultados[j]; datos.Add(j); } mediana = Mediana(datos); resultados1.result = result; resultados1.mediana = mediana; //return resultados1; //return result; break; case "menorigual": for (int j = 0; j <= X; j++) { result = result + resultados[j]; datos.Add(j); } mediana = Mediana(datos); resultados1.result = result; resultados1.mediana = mediana; //return resultados1; break; // return result; default: // MessageBox.Show("UPS ALGO SALIO MAL"); break; } return(resultados1); }
//Resultado para los rangos public Resultados Resultado2(double[] resultados, int x1, int x2, string opcion) { List <int> datos = new List <int>(); Resultados resultados1 = new Resultados(); double result = 0; double mediana = 0; switch (opcion) { case "entre": if (x1 > x2) { for (int i = x2; i <= resultados.Length; i++) { if (i <= x1) { result = result + resultados[i]; datos.Add(i); } // result = result + resultados[j]; } } else { for (int i = x1; i <= resultados.Length; i++) { if (i <= x2) { result = result + resultados[i]; datos.Add(i); } // result = result + resultados[j]; } } break; case "menorigualsinigual": if (x1 > x2) { for (int i = x2 + 1; i <= resultados.Length; i++) { if (i < x1) { result = result + resultados[i]; datos.Add(i); } // result = result + resultados[j]; } } else { for (int i = x1 + 1; i <= resultados.Length; i++) { if (i < x2) { result = result + resultados[i]; datos.Add(i); } // result = result + resultados[j]; } } break; } mediana = Mediana(datos); resultados1.result = result; resultados1.mediana = mediana; return(resultados1); // return result; }
//Operacion para la Distribucion Binomial public void Operacion() { int auxiliar = 0; Resultados datos = new Resultados(); double PA = 0; int contador = 0; double UltimoResultado = 0; double UltimoResultado2 = 0; chart1.Palette = ChartColorPalette.Pastel; chart1.Titles.Add("Representacion Grafica"); ChartArea CA = chart1.ChartAreas[0]; CA.AxisX.ScaleView.Zoomable = true; CA.CursorX.AutoScroll = true; CA.CursorX.IsUserSelectionEnabled = true; chart2.Palette = ChartColorPalette.Pastel; chart2.Titles.Add("%"); chart3.Palette = ChartColorPalette.Pastel; chart3.Titles.Add("% Acumulado"); if (opcionDisitribucion == "Binomial") { resultados = metodos.DistribucionBinomial(P, n, X); if (opcionDistribucion2 != "Muestreo") { PT = 0; } } else if (opcionDisitribucion == "Hipergeometrica") { if (n >= (N * 0.20)) { resultados = metodos.DistribucionHipergeometrica(n, (int)P, N, X); } else { if (entero) { P = P / 100; } MessageBox.Show("Calculo con Distribucion Binomial"); resultados = metodos.DistribucionBinomial(P, n, X); } if (opcionDistribucion2 != "Muestreo") { PT = 0; } } else if (opcionDisitribucion == "Comparacion") { if (opcionDistribucion2 != "Muestreo") { PT = 0; } resultados = metodos.DistribucionBinomial((P / 100), n, X); comparacion = metodos.DistribucionHipergeometrica(n, (int)P, N, X); //Aca nos quedamos } //Aca incluimos lo de la comparacion if (opcionDisitribucion == "Comparacion") { datos = metodos.resultados(comparacion, opcionRes, X); UltimoResultado2 = datos.result; } if (X1 != 0 && X2 != 0) { datos = metodos.Resultado2(resultados, X1, X2, opcionRes); UltimoResultado = datos.result; Mediana = datos.mediana; } else { datos = metodos.resultados(resultados, opcionRes, X); UltimoResultado = datos.result; Mediana = datos.mediana; // UltimoResultado = metodos.resultados(resultados,opcionRes, X); } Media = metodos.Media(n, P); TipoSesgo = metodos.TipoSesgo(Media, Mediana); chart1.Series.Add("x" + " " + "f(x)"); chart2.Series.Add("x" + " " + "%"); chart3.Series.Add("x" + " " + "% Acumulado"); Respuesta = UltimoResultado; Respuesta2 = UltimoResultado2; bool res = Double.IsNaN(Respuesta); if (res) { } else { for (int i = 0; i < resultados.Length; i++) { //Titulos Series serie = chart1.Series.Add(i + " . " + resultados[i].ToString()); Series serie2 = chart2.Series.Add(i + " . " + (resultados[i] * 100).ToString()); Series serie3; //Cantidades // serie.Label = resultados[i].ToString(); if (contador == 0) { PA = resultados[i]; if (PT != 0 && (PA * 100) <= ((double)PT * 100)) { dataGridView1.Rows.Add(contador, resultados[i], resultados[i], resultados[i] * 100, resultados[i] * 100); dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow; } else { dataGridView1.Rows.Add(contador, resultados[i], resultados[i], resultados[i] * 100, resultados[i] * 100); } serie3 = chart3.Series.Add(i + " . " + (PA * 100).ToString()); } else { PA = resultados[i] + PA; serie3 = chart3.Series.Add(i + " . " + (PA * 100).ToString()); if (PT != 0 && (PA * 100) <= ((double)PT * 100)) { dataGridView1.Rows.Add(contador, resultados[i], PA, resultados[i] * 100, PA * 100); dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow; auxiliar = i; } else { if (auxiliar != 0) { dataGridView1.Rows[auxiliar].DefaultCellStyle.BackColor = Color.LightGreen; } dataGridView1.Rows.Add(contador, resultados[i], PA, resultados[i] * 100, PA * 100); } } /// auxiliar = 0; chart1.Series[0].Points.AddXY(contador, resultados[i]); // serie.Points.AddXY(contador, resultados[i]); chart2.Series[0].Points.AddXY(contador, resultados[i] * 100); chart3.Series[0].Points.AddXY(contador, PA * 100); contador++; } } button2.Visible = true; button3.Visible = true; button4.Visible = true; }