Example #1
0
        private void testNombreProblemas()
        {
            KarelotitlanDB karelotitlan = new KarelotitlanDB();
            List <String>  problemas    = karelotitlan.nombreProblemas();

            foreach (String problema in problemas)
            {
                txtLog.AppendText(problema);
                txtLog.AppendText("\r\n");
            }
        }
Example #2
0
        private int[] ListaDeProblemas()
        {
            KarelotitlanDB karelotitlan = new KarelotitlanDB();
            var            problemas    = karelotitlan.problemas();
            List <int>     ids          = new List <int>();

            foreach (var problema in problemas)
            {
                ids.Add(problema.idProblema);
            }
            return(ids.ToArray());
        }
Example #3
0
        private ProblemaTema()
        {
            KarelotitlanDB karelotitlan = new KarelotitlanDB();
            var            temas        = karelotitlan.temas();

            idATema     = new Dictionary <int, Tema>();
            nombreATema = new Dictionary <string, Tema>();
            foreach (var tema in temas)
            {
                idATema[tema.idTema]     = tema;
                nombreATema[tema.nombre] = tema;
            }
        }
        private ProblemaDificultad()
        {
            KarelotitlanDB karelotitlan = new KarelotitlanDB();
            var            dificultades = karelotitlan.dificultades();

            idADificultad     = new Dictionary <int, Dificultad>();
            nombreADificultad = new Dictionary <string, Dificultad>();
            foreach (var dificultad in dificultades)
            {
                idADificultad[dificultad.idDificultad] = dificultad;
                nombreADificultad[dificultad.nombre]   = dificultad;
            }
        }
Example #5
0
        private void testHistorias()
        {
            KarelotitlanDB karelotitlan = new KarelotitlanDB();
            var            usuarios     = karelotitlan.historiasUsuarios();

            foreach (KeyValuePair <int, List <int> > usuario in usuarios)
            {
                txtLog.AppendText(usuario.Key.ToString());
                txtLog.AppendText(":");
                foreach (int problema in usuario.Value)
                {
                    txtLog.AppendText(" " + problema.ToString());
                }
                txtLog.AppendText("\r\n");
            }
        }
Example #6
0
        private void testProblemas()
        {
            KarelotitlanDB katelotitlan = new KarelotitlanDB();
            var            problemas    = katelotitlan.problemas();

            foreach (var problema in problemas)
            {
                string info = "idProblema: " + problema.idProblema.ToString() + ", " +
                              "Problema: " + problema.nombre + ", " +
                              "idTema: " + problema.idTema.ToString() + ", " +
                              "Tema: " + problema.nombreTema + ", " +
                              "Descripcion tema: " + problema.descripcionTema + ", " +
                              "Dificultad: " + problema.dificultad.ToString() + ", " +
                              "Nombre Dificultad: " + problema.nombreDificultad + ", " +
                              "Descripcion Dificultad: " + problema.descripcionDificultad + ", " +
                              "Origen: " + problema.origen;
                txtLog.AppendText(info);
                txtLog.AppendText("\r\n");
            }
        }
Example #7
0
        public void iniciaModelo()
        {
            KarelotitlanDB karelotitlan = new KarelotitlanDB();

            if (incluyeCero)
            {
                historias = karelotitlan.historiasUsuariosIncluido0();
            }
            else
            {
                historias = karelotitlan.historiasUsuarios();
            }
            problemas = new Dictionary <int, Problema>();
            var problems = karelotitlan.problemas();

            foreach (var problem in problems)
            {
                problemas[problem.idProblema] = problem;
            }
            temas               = karelotitlan.temas();
            dificultades        = karelotitlan.dificultades();
            historiasDificultad = new Dictionary <int, Dictionary <int, List <int> > >();
            nivelUsuarios       = new Dictionary <int, Dictionary <int, List <int> > >();
            foreach (var tema in temas)
            {
                historiasDificultad[tema.idTema] = new Dictionary <int, List <int> >();
                nivelUsuarios[tema.idTema]       = new Dictionary <int, List <int> >();
            }
            foreach (KeyValuePair <int, List <int> > usuario in historias)
            {
                foreach (var tema in temas)
                {
                    historiasDificultad[tema.idTema][usuario.Key] = new List <int>();
                    nivelUsuarios[tema.idTema][usuario.Key]       = new List <int>();
                }
                foreach (var idProblema in usuario.Value)
                {
                    Problema problema = problemas[idProblema];
                    historiasDificultad[problema.idTema][usuario.Key].Add(problema.dificultad);
                    foreach (var tema in temas)
                    {
                        if (tema.idTema != problema.idTema)
                        {
                            historiasDificultad[tema.idTema][usuario.Key].Add(-1);
                        }
                    }
                }
            }
            foreach (var tema in temas)
            {
                foreach (KeyValuePair <int, List <int> > usuario in historiasDificultad[tema.idTema])
                {
                    int         nivelUsuario = 0;
                    Queue <int> ventana      = new Queue <int>();
                    foreach (int nivel in usuario.Value)
                    {
                        if (nivel > 0)
                        {
                            ventana.Enqueue(nivel);
                        }
                        if (ventana.Count > rango)
                        {
                            ventana.Dequeue();
                        }
                        nivelUsuario = Math.Max(nivelUsuario, calculaNivel(ventana));
                        nivelUsuarios[tema.idTema][usuario.Key].Add(nivelUsuario);
                    }
                }
            }
            iniciaProbabilidadNivel();
            iniciaProbabilidadResolverProblema();
            iniciaProbabilidadInterseccion();
            iniciaProbabilidaResolverProblema();
            iniciaProbabilidaNivel();
        }