예제 #1
0
        //Metodos
        public int Monitoreo()
        {
            int resultado = 0;

            try
            {
                //asi como también registrar información al momento de su procesamiento
                string mensaje = "Input: " + (String.Join(", ", Valores.ToArray())) + " / " + "S: " + ConstanteS + " / " + "M: " + ConstanteM;
                Console.WriteLine(mensaje);
                _log.Info(mensaje);

                //Anomalia 1
                //La diferencia entre el valor mínimo y máximo recibido sea mayor a una constante S
                if (Valores.Max() - Valores.Min() > ConstanteS)
                {
                    //mensaje = "Anomalia encontrada: diferencia = " + (input.Max() - input.Min()) + ". S = " + s;
                    mensaje = "Anomalia encontrada: diferencia mayor a S.";
                    Console.WriteLine(mensaje);
                    _log.Info(mensaje);
                    resultado = 1;
                }

                //Anomalia 2
                //El valor promedio sea superior a una constante M
                if ((Valores.Average()) > ConstanteM)
                {
                    //mensaje = "Anomalia encontrada: promedio = " + (input.Average()) + ". S = " + m;
                    mensaje = "Anomalia encontrada: promedio mayor a M.";
                    Console.WriteLine(mensaje);
                    _log.Info(mensaje);
                    resultado = 2;
                }
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                resultado = -1;
            }
            return(resultado);
        }
예제 #2
0
        private void CalcularIntervalos()
        {
            var intervalos = new List <Intervalo>(CantidadIntervalos);

            var min  = Valores.Min();
            var max  = Valores.Max();
            var paso = (max - min) / CantidadIntervalos;

            var inicio = min;
            var fin    = min + paso;

            for (var i = 0; i < CantidadIntervalos; i++)
            {
                intervalos.Add(new Intervalo(inicio, fin));

                inicio = fin;
                fin   += paso;
            }

            intervalos.Last().Fin = max;

            Intervalos = intervalos;
        }