示例#1
0
        public static void TamanoRelativo(FileInfo Archivo)
        {
            Iterador i = Aplicacion.getInstancia().ColeccionDato.Iterador();
            Dato     d;
            Double   LocSobreMetodos   = 0;
            Double   SumaLogaritmo     = 0;
            Double   PromedioLogaritmo = 0;
            Double   Contador          = 0;
            Double   Calculo1          = 0;
            Double   SumaCalculo1      = 0;
            Double   Varianza          = 0;
            Double   Desviacion        = 0;
            Double   RangoVS           = 0;
            Double   RangoS            = 0;
            Double   RangoM            = 0;
            Double   RangoL            = 0;
            Double   RangoVL           = 0;

            while (i.tieneSiguiente())
            {
                d = i.Siguiente();

                LocSobreMetodos = d.x / d.y;
                LocSobreMetodos = Math.Log(LocSobreMetodos);

                SumaLogaritmo += LocSobreMetodos;
                Contador++;
            }

            PromedioLogaritmo = SumaLogaritmo / Contador;

            i = Aplicacion.getInstancia().ColeccionDato.Iterador();

            while (i.tieneSiguiente())
            {
                d = i.Siguiente();

                LocSobreMetodos = d.x / d.y;
                LocSobreMetodos = Math.Log(LocSobreMetodos);

                Calculo1      = Math.Pow(LocSobreMetodos - PromedioLogaritmo, 2);
                SumaCalculo1 += Calculo1;
            }

            Varianza   = SumaCalculo1 / (Contador - 1);
            Desviacion = Math.Sqrt(Varianza);
            RangoVS    = Math.Exp(PromedioLogaritmo - (2 * Desviacion));
            RangoS     = Math.Exp(PromedioLogaritmo - Desviacion);
            RangoM     = Math.Exp(PromedioLogaritmo);
            RangoL     = Math.Exp(PromedioLogaritmo + Desviacion);
            RangoVL    = Math.Exp(PromedioLogaritmo + (2 * Desviacion));

            String Respuesta = String.Empty;

            Respuesta = String.Format("{0} *** VS = {1} *** S = {2} *** M = {3} *** L = {4} *** VL = {5}", Archivo.Name, Math.Round(RangoVS, 4), Math.Round(RangoS, 4), Math.Round(RangoM, 4), Math.Round(RangoL, 4), Math.Round(RangoVL, 4));

            Console.WriteLine(Respuesta);
        }
示例#2
0
        public static void Proxy()
        {
            //GeneradorDeDatosAleatorios generador = new GeneradorDeDatosAleatorios();
            //IAlumno alumno = new AlumnoProxy(generador.stringAleatorio(8), generador.numeroAleatorio(9999999).getValor());
            //Icomparable legajo = new Numero(generador.numeroAleatorio(999).getValor());
            //Icomparable promedio = new Numero(generador.numeroAleatorio(10).getValor());

            //alumno.setLegajo(legajo);
            //alumno.setPromedio(promedio);
            //alumno.SetCalificacion(5);

            //alumno.respondePreguta(2);

            //Console.WriteLine(alumno);

            Teacher              teachaer = new Teacher();
            Collection           students = new ListOfStudent();
            Icoleccionable       cola     = new Cola();
            FabricaDeComparables fabrica  = new FabricaDeAlumnosProxy();

            TP3.llenar(cola, fabrica);
            Iterador iter = cola.crearIterador();

            while (!iter.Fin())
            {
                var alumno = (IAlumno)iter.Actual();
                students.addStudent(new AdaptadorEstudiante_Student(alumno));
                iter.Siguiente();
            }

            teachaer.setStudents(students);
            teachaer.teachingAClass();
            Console.ReadKey();
        }
示例#3
0
        public void cerrar()
        {
            Iterador iter = mejores.crearIterador();

            while (!iter.Fin())
            {
                Console.WriteLine("Nombre: " + ((Vendedor)iter.Actual()).getNombre() + " " + "Bonus: " + ((Vendedor)iter.Actual()).getBonus());
                iter.Siguiente();
            }
        }
示例#4
0
        public static void imprimirElementos(Icoleccionable coleccion)
        {
            Iterador iter = coleccion.crearIterador();

            while (!iter.Fin())
            {
                Console.WriteLine(iter.Actual());
                iter.Siguiente();
            }
        }
示例#5
0
        public static void setEstrategia(Iestrategia estrategia, Icoleccionable coleccion)
        {
            Iterador iter = coleccion.crearIterador();

            while (!iter.Fin())
            {
                ((Alumno)iter.Actual()).setEstrategia(estrategia);
                iter.Siguiente();
            }
        }
示例#6
0
        public static void jornadaDeVentas(Icoleccionable vendedores)
        {
            Iterador iter = vendedores.crearIterador();

            while (!iter.Fin())
            {
                Random rnd   = new Random();
                int    monto = rnd.Next(1, 7000);
                ((Vendedor)iter.Actual()).venta(monto);
                Thread.Sleep(100);
                iter.Siguiente();
            }
        }
示例#7
0
        private static Double Media()
        {
            Double   Promedio = 0;
            int      Contador = 0;
            Iterador i        = ControlAplicacion.getInstancia().Lista.Iterador();

            while (i.tieneSiguiente())
            {
                Promedio = Promedio + i.Siguiente();
                Contador++;
            }

            Promedio = Promedio / Contador;

            return(Math.Round(Promedio, 2));
        }
示例#8
0
        public static void  Adapter()
        {
            Teacher              teachaer = new Teacher();
            Collection           students = new ListOfStudent();
            Icoleccionable       cola     = new Cola();
            FabricaDeComparables fabrica  = new FabricaDeAlumnosConcretos();

            TP3.llenar(cola, fabrica);
            Iterador iter = cola.crearIterador();

            while (!iter.Fin())
            {
                var alumno = (Alumno)iter.Actual();
                students.addStudent(new AdaptadorEstudiante_Student(alumno));
                iter.Siguiente();
            }

            teachaer.setStudents(students);
            teachaer.teachingAClass();
            Console.ReadKey();
        }
示例#9
0
        /// <summary>
        /// Calculos de regresion
        /// </summary>
        /// <param name="Archivo">Recibe el archivo para mostrarlo en la consolo con sus resultados</param>
        public static void Regresion(FileInfo Archivo)
        {
            Iterador i = Aplicacion.getInstancia().Lista.Iterador();
            Nodo     NodoActual;

            Double SumaXCuadrado = 0;
            Double SumaXporY     = 0;
            Double SumaYCuadrado = 0;
            Double SumaX         = 0;
            Double SumaY         = 0;
            Double Contador      = 0;

            while (i.tieneSiguiente())
            {
                NodoActual = i.Siguiente();

                SumaX         += NodoActual.x;
                SumaY         += NodoActual.y;
                SumaXCuadrado += Math.Pow(NodoActual.x, 2);
                SumaYCuadrado += Math.Pow(NodoActual.y, 2);
                SumaXporY     += (NodoActual.x * NodoActual.y);
                Contador++;
            }

            Double B1 = (SumaXporY - (Contador * (SumaX / Contador) * (SumaY / Contador))) / (SumaXCuadrado - (Contador * Math.Pow((SumaX / Contador), 2)));

            Double rxy = ((Contador * SumaXporY) - (SumaX * SumaY)) / (Math.Sqrt(((Contador * SumaXCuadrado) - Math.Pow(SumaX, 2)) * ((Contador * SumaYCuadrado) - Math.Pow(SumaY, 2))));

            Double r2 = Math.Pow(rxy, 2);

            Double B0 = (SumaY / Contador) - B1 * (SumaX / Contador);

            Double yk = B0 + B1 * 386;

            String Respuesta = String.Empty;

            Respuesta = String.Format("{0} *** B0 = {1} *** B1 = {2} *** rxy = {3} *** r2 = {4} *** yk = {5}", Archivo.Name, Math.Round(B0, 4), Math.Round(B1, 4), Math.Round(rxy, 4), Math.Round(r2, 4), Math.Round(yk, 4));

            Console.WriteLine(Respuesta);
        }
示例#10
0
        private static Double DesviacionEstandar(Double Promedio)
        {
            Double   DesviacionEstandar = 0;
            int      Contador           = 0;
            Iterador i = ControlAplicacion.getInstancia().Lista.Iterador();

            Double Resta;
            Double Suma = 0;

            while (i.tieneSiguiente())
            {
                Resta = i.Siguiente() - Promedio;
                Resta = Math.Pow(Resta, 2);
                Suma  = Suma + Resta;

                Contador++;
            }

            DesviacionEstandar = Math.Sqrt(Suma / (Contador - 1));

            return(Math.Round(DesviacionEstandar, 2));
        }
示例#11
0
        public static void ReglaSimpson()
        {
            Iterador i = Aplicacion.getInstancia().ColeccionDato.Iterador();
            Dato     d;

            while (i.tieneSiguiente())
            {
                d = i.Siguiente();

                String Respuesta = "";
                Double Segmentos = 10;
                Double W         = d.x2 / Segmentos;
                Double RaizPi    = Math.Sqrt(Math.PI);
                Double t1        = CalcularGama((d.dof + 1) / 2);
                Double t2        = CalcularGama(d.dof / 2);
                Double Constante = Math.Pow(d.dof * Math.PI, 0.5);

                double[] VectorCalculos = new double[10];
                Double   CalculoTotal   = 0;

                for (int x = 0; x <= 10; x++)
                {
                    for (int y = 0; y <= 9; y++)
                    {
                        switch (y)
                        {
                        case 0:
                            VectorCalculos[0] = x;
                            break;

                        case 1:
                            VectorCalculos[1] = x * W;
                            break;

                        case 2:
                            VectorCalculos[2] = 1 + (Math.Pow(VectorCalculos[1], 2) / d.dof);
                            break;

                        case 3:
                            VectorCalculos[3] = Math.Pow(VectorCalculos[2], t1);
                            break;

                        case 4:
                            VectorCalculos[4] = t1 / (Constante * t2);
                            break;

                        case 5:
                            VectorCalculos[5] = -((d.dof + 1) / 2);
                            break;

                        case 6:
                            VectorCalculos[6] = (1 + (Math.Pow(VectorCalculos[1], 2) / d.dof));
                            break;

                        case 7:
                            VectorCalculos[7] = VectorCalculos[4] * Math.Pow(VectorCalculos[6], VectorCalculos[5]);
                            break;

                        case 8:

                            if (x == 0 || x == 10)
                            {
                                VectorCalculos[8] = 1;
                            }
                            else if (x == 1 || x == 3 || x == 5 || x == 7 || x == 9)
                            {
                                VectorCalculos[8] = 4;
                            }
                            else if (x == 2 || x == 4 || x == 6 || x == 8)
                            {
                                VectorCalculos[8] = 2;
                            }

                            break;

                        case 9:
                            VectorCalculos[9] = (W / 3) * VectorCalculos[8] * VectorCalculos[7];
                            CalculoTotal     += VectorCalculos[9];
                            break;
                        }
                    }
                }

                Respuesta = String.Format("x1 = {0} - x2 = {1} - dof = {2} - p = {3}", d.x1, d.x2, d.dof, Math.Round(CalculoTotal, 5));

                Console.WriteLine(Respuesta);
            }
        }