Beispiel #1
0
 public Form1()
 {
     matriz = new int[10];
     ordena = new Ordenamiento();
     busca  = new Busqueda();
     InitializeComponent();
 }
        public void OrdenarShell()
        {
            var numero1 = 5;
            var numero2 = 4;
            var numero3 = 12;
            var numero4 = 3;
            var numero5 = 6;
            var numero6 = 2;


            var esperado1 = 2;
            var esperado2 = 3;
            var esperado3 = 4;
            var esperado4 = 5;
            var esperado5 = 6;
            var esperado6 = 12;

            Ordenamiento ordenamiento = new Ordenamiento();

            int[] actual = ordenamiento.OrdenarShell(numero1, numero2, numero3, numero4, numero5, numero6);

            Assert.AreEqual(esperado1, actual[0]);
            Assert.AreEqual(esperado2, actual[1]);
            Assert.AreEqual(esperado3, actual[2]);
            Assert.AreEqual(esperado4, actual[3]);
            Assert.AreEqual(esperado5, actual[4]);
            Assert.AreEqual(esperado6, actual[5]);
        }
        public List <ControlAcceso> GetListado(Boolean soloActivo, Plaza plaza, Ordenamiento ordenamiento)
        {
            List <ICriterion> lista = new List <ICriterion>();

            lista.Add(Restrictions.Eq("Habilitado", true));

            if (soloActivo)
            {
                lista.Add(Restrictions.Eq("Activo", true));
            }
            if (plaza != null)
            {
                lista.Add(Restrictions.Eq("of.Plaza", plaza));
            }

            Order ord = null;

            if (ordenamiento == Ordenamiento.Nombre)
            {
                ord = Order.Asc("Nombre");
            }
            if (ordenamiento == Ordenamiento.FechaUltimaConexion)
            {
                ord = Order.Desc("FechaUltimaConexion");
            }

            List <KeyValuePair <String, String> > aliases = new List <KeyValuePair <string, string> >();

            aliases.Add(new KeyValuePair <string, string>("Oficina", "of"));

            return(GetByCriteria(lista.ToArray(), new Order[] { ord }, aliases));
        }
Beispiel #4
0
        public IActionResult Privacy(bool boton)
        {
            Ordenamiento ListaOrdenada = new Ordenamiento(Singleton.Instance.ClientsList);

            Singleton.Instance.ClientsList = ListaOrdenada.retornar();
            return(View(Singleton.Instance.ClientsList));
        }
        public void OrdenarPersonas()
        {
            ///Arange--Organizar datos
            var persona1 = new Estudiante();

            persona1.Nombre     = "Carlos";
            persona1.Apellido   = "Jaramillo";
            persona1.Nacimiento = new DateTime(2000, 5, 12);

            var persona2 = new Estudiante();

            persona2.Nombre     = "Andres";
            persona2.Apellido   = "Ortiz";
            persona2.Nacimiento = new DateTime(2010, 8, 26);

            var persona3 = new Estudiante();

            persona3.Nombre     = "Mateo";
            persona3.Apellido   = "Chauca";
            persona3.Nacimiento = new DateTime(2006, 8, 26);

            var esperado1 = "Andres";
            var esperado2 = "Carlos";
            var esperado3 = "Mateo";

            //// Act-Ejecutar
            Ordenamiento      ordenamiento = new Ordenamiento();
            List <Estudiante> actual       = ordenamiento.Ordenar(persona1, persona2, persona3);

            ///Assert
            Assert.AreEqual(esperado1, actual[0].Nombre);
            Assert.AreEqual(esperado2, actual[1].Nombre);
            Assert.AreEqual(esperado3, actual[2].Nombre);
        }
        public void TresElementos()
        {
            //Organizar datos
            var primero = 45;
            var segundo = 23;
            var tercero = 15;

            var esperado0 = 15; //primer valor
            var esperado1 = 23; //segundo valor

            Ordenamiento ordenamiento = new Ordenamiento();
            List <int>   esperados    = ordenamiento.Ordenar(primero, segundo, tercero);

            Assert.AreEqual(esperado0, esperados[0]);
            Assert.AreEqual(esperado1, esperados[1]);
        }
        public void OrdenarHeap()
        {
            int[] arreglo = { 25, 1, 85, 64 };

            var esperado1 = 1;
            var esperado2 = 25;
            var esperado3 = 64;
            var esperado4 = 85;

            Ordenamiento ordenamiento = new Ordenamiento();

            int[] actual = ordenamiento.Ordenar(arreglo);
            Assert.AreEqual(esperado1, actual[0]);
            Assert.AreEqual(esperado2, actual[1]);
            Assert.AreEqual(esperado3, actual[2]);
            Assert.AreEqual(esperado4, actual[3]);
        }
        public void OrdenarBurbuja()
        {
            var numero1 = 10;
            var numero2 = 6;
            var numero3 = 4;

            var esperado1 = 4;
            var esperado2 = 6;
            var esperado3 = 10;

            Ordenamiento ordenamiento = new Ordenamiento();

            int [] actual = ordenamiento.OrdenarBurbuja(numero1, numero2, numero3);

            Assert.AreEqual(esperado1, actual[0]);
            Assert.AreEqual(esperado2, actual[1]);
            Assert.AreEqual(esperado3, actual[2]);
        }
Beispiel #9
0
        public void TresElementos()
        {
            // Arange-- Organizar datos
            var primero = 45;
            var segundo = 20;
            var tercero = 15;

            var esperado  = 15; // primer valor
            var esperado2 = 20; //segundo valor

            //Act--Ejecutar
            Ordenamiento ordenamiento = new Ordenamiento();
            List <int>   esperados    = ordenamiento.Ordenar(primero, segundo, tercero);

            //Assert

            Assert.AreEqual(esperado, esperados[0]);
            Assert.AreEqual(esperado2, esperados[1]);
        }
        public void OrdenarRapido()
        {
            int[] orden  = { 3, 4, 2, 1 };
            int   inicio = 0;
            int   fin    = 3;

            var esperado1 = 1;
            var esperado2 = 2;
            var esperado3 = 3;
            var esperado4 = 4;

            Ordenamiento ordenamiento = new Ordenamiento();

            int[] actual = ordenamiento.Ordenrapido(orden, inicio, fin);

            Assert.AreEqual(esperado1, actual[0]);
            Assert.AreEqual(esperado2, actual[1]);
            Assert.AreEqual(esperado3, actual[2]);
            Assert.AreEqual(esperado4, actual[3]);
        }
Beispiel #11
0
        static void Main(string[] args)
        {
            Console.WriteLine("QuickSort desde F#");
            Console.Write("Lista separada por comas: ");
            var items = Console.ReadLine();

            var listCs = ToListInt(items);
            var listFs = Microsoft.FSharp.Collections.ListModule.OfSeq(listCs);

            //fs
            var result = Ordenamiento.Rapido(listFs);
            //
            var resultFormateado = result.Select(r => r.ToString())
                                   .Aggregate((acc, item) => $"{acc},{item}");

            Console.WriteLine("\r\n\r\nResultado:");
            Console.WriteLine(resultFormateado);

            Console.ReadLine();
        }
        public void OrdenarQuick()
        {
            var numero1 = 3;
            var numero2 = 6;
            var numero3 = 4;
            var numero4 = 1;
            var numero5 = 11;

            var esperado1 = 1;
            var esperado2 = 3;
            var esperado3 = 4;
            var esperado4 = 6;
            var esperado5 = 11;

            Ordenamiento ordenamiento = new Ordenamiento();

            int[] actual = ordenamiento.Ordenarquick(numero1, numero2, numero3, numero4, numero5);

            Assert.AreEqual(esperado3, actual[2]);
            Assert.AreEqual(esperado4, actual[3]);
            Assert.AreEqual(esperado5, actual[4]);
        }
Beispiel #13
0
        static void Main(string[] args)
        {
            string       programa  = "";
            string       opcion    = "Y";
            Menor        Programa1 = new Menor();
            Mayor        Programa2 = new Mayor();
            Ordenamiento Programa3 = new Ordenamiento();

            do
            {
                Console.Clear();
                Console.Write("----Seleccione el programa que desea abrir----\n\n1)Programa de algoritmo recursivo para encontrar el minimo en una sucesion finita de numeros\n2)Programa de algoritmo recursivo para encontrar el maximo en una sucesion finita de numeros\n3)Programa de algoritmo recursivo para invertir un vector\n\nTu eleccion: ");
                programa = Console.ReadLine();
                Console.Clear();
                if (programa == "1")
                {
                    Programa1.RealizaOperacion();
                }
                else if (programa == "2")
                {
                    Programa2.RealizaOperacion();
                }
                else if (programa == "3")
                {
                    Programa3.RealizaOperacion();
                }
                else
                {
                    Console.Write("Ingrese una opcion correcta");
                }

                Console.Write("Desea Realizar otra operacion? (Y/N)");
                opcion = Console.ReadLine().ToUpper();
            } while (opcion == "Y");
            Console.Write("Saliendo del programa. . . ");
            Console.ReadLine();
        }
Beispiel #14
0
 public ListaEstablecimientosViewModel()
 {
     Establecimientos = new List <Establecimiento>();
     Categorias       = new List <Categoria>();
     Orden            = Ordenamiento.MayorPuntaje;
 }
        private ListaEstablecimientosViewModel CrearViewModel(bool esMapa, int pagina, Ordenamiento orden, Filtro filtro)
        {
            IMongoQuery query = null;
            Tag tag = null;

            var listaTagsFiltrados = new List<Tag>();
            var tags = Database.GetCollection<Tag>("Tag");

            query = Query<Tag>.EQ(x => x.Valor, filtro.NivelEducativo.Valor);
            tag = tags.FindOne(query);
            listaTagsFiltrados.Add(tag);
            filtro.NivelEducativo = tag;
            filtro.Filtrado = false;

            if (!String.IsNullOrWhiteSpace(filtro.Titulo.Valor))
            {
                query = Query<Tag>.EQ(x => x.Valor, filtro.Titulo.Valor);
                tag = tags.FindOne(query);
                listaTagsFiltrados.Add(tag);
                filtro.Titulo = tag;
                filtro.Filtrado = true;
            }

            if (!String.IsNullOrWhiteSpace(filtro.Gestion.Valor))
            {
                query = Query<Tag>.EQ(x => x.Valor, filtro.Gestion.Valor);
                tag = tags.FindOne(query);
                listaTagsFiltrados.Add(tag);
                filtro.Gestion = tag;
                filtro.Filtrado = true;
            }

            if (!String.IsNullOrWhiteSpace(filtro.TipoDeEstablecimiento.Valor))
            {
                query = Query<Tag>.EQ(x => x.Valor, filtro.TipoDeEstablecimiento.Valor);
                tag = tags.FindOne(query);
                listaTagsFiltrados.Add(tag);
                filtro.TipoDeEstablecimiento = tag;
                filtro.Filtrado = true;
            }

            var categoriasYaSeleccionadas = listaTagsFiltrados.Select(x => x.CategoriaNombre);
            var categorias = Database.GetCollection<Categoria>("Categoria");
            query = Query<Categoria>.NotIn(x => x.Nombre, categoriasYaSeleccionadas);
            if (filtro.NivelEducativo.Valor != "Secundario")
            {
                query = Query.And(query, Query<Categoria>.NE(x => x.Nombre, "Titulo"));
            }
            var categoriasParaMostrar = categorias.Find(query);
            var listaCategorias = categoriasParaMostrar.ToList();

            var establecimientos = Database.GetCollection<Establecimiento>("Establecimiento");
            query = Query<Establecimiento>.Where(e => e.NivelTipo.Any(t => t.NivelEducativo.Valor == filtro.NivelEducativo.Valor));

            if (!String.IsNullOrWhiteSpace(filtro.Titulo.Valor))
            {
                query = Query.And(query, Query<Establecimiento>.EQ(x => x.Titulo.Valor, filtro.Titulo.Valor));
            }
            if (!String.IsNullOrWhiteSpace(filtro.Gestion.Valor))
            {
                query = Query.And(query, Query<Establecimiento>.EQ(x => x.Gestion.Valor, filtro.Gestion.Valor));
            }
            if (!String.IsNullOrWhiteSpace(filtro.TipoDeEstablecimiento.Valor))
            {
                query = Query.And(query, Query<Establecimiento>.Where(e => e.NivelTipo.Any(t => t.TipoDeEstablecimiento.Valor == filtro.TipoDeEstablecimiento.Valor)));
            }
            var establecimientosConTag = establecimientos.Find(query);

            var cantidadEstablecimientos = establecimientosConTag.Count();

            var listaDeEstablecimientos = new List<Establecimiento>();
            var geoJsonEstablecimientos = "";

            if (esMapa)
            {
                var geoJson = String.Join(",", establecimientosConTag
                    .Select(x => @"{ ""type"": ""Feature"" ," + Environment.NewLine
                        + @"""geometry"":" + x.GeoJson + "," + Environment.NewLine
                        + @" ""properties"": {" + Environment.NewLine
                        + @" ""id"":""" + x.Id + @"""," + Environment.NewLine
                        + @" ""nombre"":""" + x.Nombre.Replace(@"""", "'") + @"""," + Environment.NewLine
                        + @" ""nivelTipo"": """ + string.Join(" | ", x.NivelTipo) + @"""," + Environment.NewLine
                        + @" ""direccion"": """ + x.Direccion.Replace(@"""", "'") + @"""," + Environment.NewLine
                        + @" ""likes"": " + x.Likes + ", " + Environment.NewLine
                        + @" ""show_on_map"": true" + Environment.NewLine
                        + @"} } "));
                geoJsonEstablecimientos = @"{ ""type"": ""FeatureCollection""," + Environment.NewLine
                                    + @" ""features"": [" + geoJson + "] }";
            }
            else
            {
                IOrderedEnumerable<Establecimiento> establecimeintosOrdenados = null;

                if (orden == Ordenamiento.MayorPuntaje)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderByDescending(x => x.Likes);
                }
                if (orden == Ordenamiento.MenorPuntaje)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderBy(x => x.Likes);
                }
                if (orden == Ordenamiento.NombreAscendente)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderBy(x => x.Nombre);
                }
                if (orden == Ordenamiento.NombreDescendente)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderByDescending(x => x.Nombre);
                }

                listaDeEstablecimientos = establecimeintosOrdenados
                    .Skip(TamañoDePagina * (pagina - 1))
                    .Take(TamañoDePagina)
                    .ToList();
            }
            var totalDePaginas = Convert.ToInt32(Math.Ceiling((double)cantidadEstablecimientos / TamañoDePagina));
            totalDePaginas = (totalDePaginas == 0) ? 1 : totalDePaginas;

            var establecimientoViewModel = new ListaEstablecimientosViewModel
            {
                EsMapa = esMapa,
                Pagina = pagina,
                Orden = orden,
                TotalDePaginas = totalDePaginas,
                Filtro = filtro,
                Categorias = listaCategorias,
                Establecimientos = listaDeEstablecimientos,
                GeoJsonEstablecimientos = geoJsonEstablecimientos,
            };
            return establecimientoViewModel;
        }
 public void initialize()
 {
     ordenamientoT = new Ordenamiento(null, 0, 0, "", "");
 }
        private ListaEstablecimientosViewModel CrearViewModel(bool esMapa, int pagina, Ordenamiento orden, Filtro filtro)
        {
            IMongoQuery query = null;
            Tag         tag   = null;

            var listaTagsFiltrados = new List <Tag>();
            var tags = Database.GetCollection <Tag>("Tag");

            query = Query <Tag> .EQ(x => x.Valor, filtro.NivelEducativo.Valor);

            tag = tags.FindOne(query);
            listaTagsFiltrados.Add(tag);
            filtro.NivelEducativo = tag;
            filtro.Filtrado       = false;

            if (!String.IsNullOrWhiteSpace(filtro.Titulo.Valor))
            {
                query = Query <Tag> .EQ(x => x.Valor, filtro.Titulo.Valor);

                tag = tags.FindOne(query);
                listaTagsFiltrados.Add(tag);
                filtro.Titulo   = tag;
                filtro.Filtrado = true;
            }

            if (!String.IsNullOrWhiteSpace(filtro.Gestion.Valor))
            {
                query = Query <Tag> .EQ(x => x.Valor, filtro.Gestion.Valor);

                tag = tags.FindOne(query);
                listaTagsFiltrados.Add(tag);
                filtro.Gestion  = tag;
                filtro.Filtrado = true;
            }

            if (!String.IsNullOrWhiteSpace(filtro.TipoDeEstablecimiento.Valor))
            {
                query = Query <Tag> .EQ(x => x.Valor, filtro.TipoDeEstablecimiento.Valor);

                tag = tags.FindOne(query);
                listaTagsFiltrados.Add(tag);
                filtro.TipoDeEstablecimiento = tag;
                filtro.Filtrado = true;
            }

            var categoriasYaSeleccionadas = listaTagsFiltrados.Select(x => x.CategoriaNombre);
            var categorias = Database.GetCollection <Categoria>("Categoria");

            query = Query <Categoria> .NotIn(x => x.Nombre, categoriasYaSeleccionadas);

            if (filtro.NivelEducativo.Valor != "Secundario")
            {
                query = Query.And(query, Query <Categoria> .NE(x => x.Nombre, "Titulo"));
            }
            var categoriasParaMostrar = categorias.Find(query);
            var listaCategorias       = categoriasParaMostrar.ToList();

            var establecimientos = Database.GetCollection <Establecimiento>("Establecimiento");

            query = Query <Establecimiento> .Where(e => e.NivelTipo.Any(t => t.NivelEducativo.Valor == filtro.NivelEducativo.Valor));

            if (!String.IsNullOrWhiteSpace(filtro.Titulo.Valor))
            {
                query = Query.And(query, Query <Establecimiento> .EQ(x => x.Titulo.Valor, filtro.Titulo.Valor));
            }
            if (!String.IsNullOrWhiteSpace(filtro.Gestion.Valor))
            {
                query = Query.And(query, Query <Establecimiento> .EQ(x => x.Gestion.Valor, filtro.Gestion.Valor));
            }
            if (!String.IsNullOrWhiteSpace(filtro.TipoDeEstablecimiento.Valor))
            {
                query = Query.And(query, Query <Establecimiento> .Where(e => e.NivelTipo.Any(t => t.TipoDeEstablecimiento.Valor == filtro.TipoDeEstablecimiento.Valor)));
            }
            var establecimientosConTag = establecimientos.Find(query);

            var cantidadEstablecimientos = establecimientosConTag.Count();

            var listaDeEstablecimientos = new List <Establecimiento>();
            var geoJsonEstablecimientos = "";

            if (esMapa)
            {
                var geoJson = String.Join(",", establecimientosConTag
                                          .Select(x => @"{ ""type"": ""Feature"" ," + Environment.NewLine
                                                  + @"""geometry"":" + x.GeoJson + "," + Environment.NewLine
                                                  + @" ""properties"": {" + Environment.NewLine
                                                  + @" ""id"":""" + x.Id + @"""," + Environment.NewLine
                                                  + @" ""nombre"":""" + x.Nombre.Replace(@"""", "'") + @"""," + Environment.NewLine
                                                  + @" ""nivelTipo"": """ + string.Join(" | ", x.NivelTipo) + @"""," + Environment.NewLine
                                                  + @" ""direccion"": """ + x.Direccion.Replace(@"""", "'") + @"""," + Environment.NewLine
                                                  + @" ""likes"": " + x.Likes + ", " + Environment.NewLine
                                                  + @" ""show_on_map"": true" + Environment.NewLine
                                                  + @"} } "));
                geoJsonEstablecimientos = @"{ ""type"": ""FeatureCollection""," + Environment.NewLine
                                          + @" ""features"": [" + geoJson + "] }";
            }
            else
            {
                IOrderedEnumerable <Establecimiento> establecimeintosOrdenados = null;

                if (orden == Ordenamiento.MayorPuntaje)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderByDescending(x => x.Likes);
                }
                if (orden == Ordenamiento.MenorPuntaje)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderBy(x => x.Likes);
                }
                if (orden == Ordenamiento.NombreAscendente)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderBy(x => x.Nombre);
                }
                if (orden == Ordenamiento.NombreDescendente)
                {
                    establecimeintosOrdenados = establecimientosConTag.OrderByDescending(x => x.Nombre);
                }

                listaDeEstablecimientos = establecimeintosOrdenados
                                          .Skip(TamañoDePagina * (pagina - 1))
                                          .Take(TamañoDePagina)
                                          .ToList();
            }
            var totalDePaginas = Convert.ToInt32(Math.Ceiling((double)cantidadEstablecimientos / TamañoDePagina));

            totalDePaginas = (totalDePaginas == 0) ? 1 : totalDePaginas;

            var establecimientoViewModel = new ListaEstablecimientosViewModel
            {
                EsMapa                  = esMapa,
                Pagina                  = pagina,
                Orden                   = orden,
                TotalDePaginas          = totalDePaginas,
                Filtro                  = filtro,
                Categorias              = listaCategorias,
                Establecimientos        = listaDeEstablecimientos,
                GeoJsonEstablecimientos = geoJsonEstablecimientos,
            };

            return(establecimientoViewModel);
        }