//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); }
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; }