private void btn_simular_Click(object sender, EventArgs e)
        {
            int msj = Validar(this.Controls);

            if (msj == 0)
            {
                String nom_graf = "Exponencial";

                c = form_cantidadservidores.nro + 1;

                cli_en_cola_s1.Series.Clear();
                cli_en_cola_s2.Series.Clear();

                dem_prom_cli_s1.Series.Clear();
                dem_prom_cli_s2.Series.Clear();

                utilizacion_serv1.Series.Clear();
                utilizacion_serv2.Series.Clear();

                cli_cola1    = new List <double>();
                dem_prom1    = new List <double>();
                utilizacion1 = new List <double>();

                cli_cola2    = new List <double>();
                dem_prom2    = new List <double>();
                utilizacion2 = new List <double>();

                cli_en_cola_s1.Series.Add(nom_graf);
                cli_en_cola_s1.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                cli_en_cola_s1.Series[nom_graf].Color       = Color.Green;
                cli_en_cola_s1.Series[nom_graf].BorderWidth = 3;

                cli_en_cola_s2.Series.Add(nom_graf);
                cli_en_cola_s2.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                cli_en_cola_s2.Series[nom_graf].Color       = Color.Green;
                cli_en_cola_s2.Series[nom_graf].BorderWidth = 3;

                dem_prom_cli_s1.Series.Add(nom_graf);
                dem_prom_cli_s1.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                dem_prom_cli_s1.Series[nom_graf].Color       = Color.Red;
                dem_prom_cli_s1.Series[nom_graf].BorderWidth = 3;

                dem_prom_cli_s2.Series.Add(nom_graf);
                dem_prom_cli_s2.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                dem_prom_cli_s2.Series[nom_graf].Color       = Color.Red;
                dem_prom_cli_s2.Series[nom_graf].BorderWidth = 3;

                utilizacion_serv1.Series.Add(nom_graf);
                utilizacion_serv1.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                utilizacion_serv1.Series[nom_graf].Color       = Color.Blue;
                utilizacion_serv1.Series[nom_graf].BorderWidth = 3;

                utilizacion_serv2.Series.Add(nom_graf);
                utilizacion_serv2.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                utilizacion_serv2.Series[nom_graf].Color       = Color.Blue;
                utilizacion_serv2.Series[nom_graf].BorderWidth = 3;

                NrosAleatorios.GenerarNros(Convert.ToInt32(txtHs.Text));

                for (int i = 0; i < tiempos.Length; i++)
                {
                    ServidoresSerie ServidoresSerie_Exp;
                    TDS = new List <double>();

                    if (arribo)
                    {
                        TDS.Add(tiempos[i]);
                        TDS.Add(tiempos[i]);
                        ServidoresSerie_Exp = new ServidoresSerie(c, Convert.ToDouble(txtTEA.Text), TDS);
                    }
                    else
                    {
                        TDS.Add(Convert.ToDouble(this.txtTDS1.Text));
                        TDS.Add(Convert.ToDouble(this.txtTDS2.Text));
                        ServidoresSerie_Exp = new ServidoresSerie(c, tiempos[i], TDS);
                    }

                    while (ServidoresSerie_Exp.reloj < Convert.ToDouble(txtHs.Text))
                    {
                        char proximo_evento = ServidoresSerie_Exp.rutinadetiempo();
                        if (proximo_evento == 'a')
                        {
                            ServidoresSerie_Exp.arribo();
                        }
                        else if (proximo_evento == 'b')
                        {
                            ServidoresSerie_Exp.partida_arribo(proximo_evento);
                        }
                        else if (proximo_evento == 'c')
                        {
                            ServidoresSerie_Exp.partida_arribo(proximo_evento);
                        }
                        else if (proximo_evento == 'd')
                        {
                            ServidoresSerie_Exp.partida_arribo(proximo_evento);
                        }
                        else
                        {
                            ServidoresSerie_Exp.partida();
                        }
                    }

                    cli_en_cola_s1.Series[nom_graf].Points.Add(new DataPoint(tiempos[i], ServidoresSerie_Exp.CantPromClientesColaS(0)));
                    cli_en_cola_s2.Series[nom_graf].Points.Add(new DataPoint(tiempos[i], ServidoresSerie_Exp.CantPromClientesColaS(1)));
                    cli_cola1.Add(ServidoresSerie_Exp.CantPromClientesColaS(0));
                    cli_cola2.Add(ServidoresSerie_Exp.CantPromClientesColaS(1));

                    dem_prom_cli_s1.Series[nom_graf].Points.Add(new DataPoint(tiempos[i], ServidoresSerie_Exp.DemPromedioS(0)));
                    dem_prom_cli_s2.Series[nom_graf].Points.Add(new DataPoint(tiempos[i], ServidoresSerie_Exp.DemPromedioS(1)));
                    dem_prom1.Add(ServidoresSerie_Exp.DemPromedioS(0));
                    dem_prom2.Add(ServidoresSerie_Exp.DemPromedioS(1));

                    utilizacion_serv1.Series[nom_graf].Points.Add(new DataPoint(tiempos[i], ServidoresSerie_Exp.UtilServidor(0)));
                    utilizacion_serv2.Series[nom_graf].Points.Add(new DataPoint(tiempos[i], ServidoresSerie_Exp.UtilServidor(1)));
                    utilizacion1.Add(ServidoresSerie_Exp.UtilServidor(0));
                    utilizacion2.Add(ServidoresSerie_Exp.UtilServidor(1));

                    NrosAleatorios.ReiniciarR();
                }

                cli_en_cola_s1.ChartAreas[0].AxisY.Maximum    = DameMaximo(cli_cola1) * 1.2;
                dem_prom_cli_s1.ChartAreas[0].AxisY.Maximum   = DameMaximo(dem_prom1) * 1.2;
                utilizacion_serv1.ChartAreas[0].AxisY.Maximum = DameMaximo(utilizacion1) * 1.2;

                cli_en_cola_s2.ChartAreas[0].AxisY.Maximum    = DameMaximo(cli_cola2) * 1.2;
                dem_prom_cli_s2.ChartAreas[0].AxisY.Maximum   = DameMaximo(dem_prom2) * 1.2;
                utilizacion_serv2.ChartAreas[0].AxisY.Maximum = DameMaximo(utilizacion2) * 1.2;

                NrosAleatorios.ReiniciarN();
            }
            else
            {
                string mensaje = null;
                switch (msj)
                {
                case (1):
                    mensaje = "Existen campos vacíos.";
                    break;

                case (2):
                    mensaje = "Verifique el formato las horas: deben ser enteras.";
                    break;

                case (3):
                    mensaje = "Los TDS tienen que ser números decimales entre 0,1 y 1.";
                    break;

                case (4):
                    mensaje = "El TEA tiene que ser un decimal entre 0,1 y 1.";
                    break;

                case (5):
                    mensaje = "Los TDS tienen que ser números decimales entre 0,1 y 1.";
                    break;

                case (6):
                    mensaje = "El TEA tiene que ser un decimal entre 0,1 y 1.";
                    break;

                case (7):
                    mensaje = "Debe ingresar el TEA o los TDS";
                    break;

                default: break;
                }
                MessageBox.Show(mensaje, "¡ Atención !", MessageBoxButtons.OK);
            }
        }
        private void btn_simular_Click(object sender, EventArgs e)
        {
            int msj = Validar(this.Controls);

            if (msj == 0)
            {
                String nom_graf = "Exponencial";
                cli_cola    = new List <double>();
                dem_prom    = new List <double>();
                utilizacion = new List <double>();

                cli_en_cola.Series.Clear();
                dem_prom_cli.Series.Clear();
                utilizacion_serv.Series.Clear();

                cli_en_cola.Series.Add(nom_graf);
                cli_en_cola.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                cli_en_cola.Series[nom_graf].Color       = Color.Green;
                cli_en_cola.Series[nom_graf].BorderWidth = 3;

                dem_prom_cli.Series.Add(nom_graf);
                dem_prom_cli.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                dem_prom_cli.Series[nom_graf].Color       = Color.Red;
                dem_prom_cli.Series[nom_graf].BorderWidth = 3;

                utilizacion_serv.Series.Add(nom_graf);
                utilizacion_serv.Series[nom_graf].ChartType   = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                utilizacion_serv.Series[nom_graf].Color       = Color.Blue;
                utilizacion_serv.Series[nom_graf].BorderWidth = 3;

                NrosAleatorios.GenerarNros(Convert.ToInt32(txtHs.Text));

                for (int i = 0; i < tiempos.Length; i++)
                {
                    ServidorSimple ServidorSimple_Exp;

                    if (arribo)
                    {
                        ServidorSimple_Exp = new ServidorSimple(Convert.ToDouble(txtTEA.Text), tiempos[i]);
                    }
                    else
                    {
                        ServidorSimple_Exp = new ServidorSimple(tiempos[i], Convert.ToDouble(txtTDS.Text));
                    }

                    while (ServidorSimple_Exp.reloj < Convert.ToDouble(txtHs.Text))
                    {
                        char proximo_evento = ServidorSimple_Exp.rutinadetiempo();
                        if (proximo_evento == 'a')
                        {
                            ServidorSimple_Exp.arribo();
                        }
                        else
                        {
                            ServidorSimple_Exp.partida();
                        }
                    }

                    DataPoint punto = new DataPoint(tiempos[i], ServidorSimple_Exp.CantPromClientesCola);
                    cli_en_cola.Series[nom_graf].Points.Add(punto);
                    cli_cola.Add(ServidorSimple_Exp.CantPromClientesCola);

                    punto = new DataPoint(tiempos[i], ServidorSimple_Exp.DemPromedio);
                    dem_prom_cli.Series[nom_graf].Points.Add(punto);
                    dem_prom.Add(ServidorSimple_Exp.DemPromedio);

                    punto = new DataPoint(tiempos[i], ServidorSimple_Exp.UtilServidor);
                    utilizacion_serv.Series[nom_graf].Points.Add(punto);
                    utilizacion.Add(ServidorSimple_Exp.UtilServidor);

                    NrosAleatorios.ReiniciarR();
                }

                cli_en_cola.ChartAreas[0].AxisY.Maximum      = DameMaximo(cli_cola) * 1.2;
                dem_prom_cli.ChartAreas[0].AxisY.Maximum     = DameMaximo(dem_prom) * 1.2;
                utilizacion_serv.ChartAreas[0].AxisY.Maximum = DameMaximo(utilizacion) * 1.2;

                NrosAleatorios.ReiniciarN();
            }
            else
            {
                string mensaje = null;
                switch (msj)
                {
                case (1):
                    mensaje = "Existen campos vacíos.";
                    break;

                case (2):
                    mensaje = "Verifique el formato las horas: deben ser enteras.";
                    break;

                case (3):
                    mensaje = "El TDS tiene que ser un decimal entre 0,1 y 1.";
                    break;

                case (4):
                    mensaje = "El TEA tiene que ser un decimal entre 0,1 y 1.";
                    break;

                case (5):
                    mensaje = "El TDS tiene que ser un decimal entre 0,1 y 1.";
                    break;

                case (6):
                    mensaje = "El TEA tiene que ser un decimal entre 0,1 y 1.";
                    break;

                case (7):
                    mensaje = "Debe ingresar un TEA o un TDS";
                    break;

                default: break;
                }
                MessageBox.Show(mensaje, "¡ Atención !", MessageBoxButtons.OK);
            }
        }