Beispiel #1
0
        public List <Proyecto> AgregarProyecto()
        {
            Console.WriteLine("Escriba Y para ingresar");
            var res = Console.ReadLine();

            while (res == "Y")
            {
                Console.WriteLine("Escriba el nombre del proyecto");

                var nom = Console.ReadLine();
                Console.WriteLine("Escriba el codigo del proyecto");
                var cod        = Console.ReadLine();
                var miProyecto = new Proyecto()
                {
                    Nombre = nom,
                    Codigo = int.Parse(cod)
                };
                proyectos.Add(miProyecto);
                Console.WriteLine("Escriba Y para ingresar");
                res = Console.ReadLine();
            }
            return(proyectos);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            //Func<double, double, double> raiz = CalcularRaiz;
            //Func<double, double, double> potencia = (x, y) => { return Math.Pow(x, y); };

            //Console.WriteLine($"la raiz es: { potencia(6, 3)}");
            //Console.WriteLine($"la raiz es: {raiz(6, 3)}");
            Proyecto pro = new Proyecto();
            //pro.AgregarProyecto();
            //pro.AgregarProyecto2();
            //pro.Listar();
            //ANOTAR TODOS LOS PROYECTOS CUYA DURACION ES MEYOR A 6 Y MENORES A 12
            var proy   = pro.AgregarProyecto2();
            var listar = pro.proyectos;

            Console.WriteLine($"Los proyectos cuya duracion es mayor a 6 y menor a 12 son:  ");
            var proyMayor = pro.proyectos.Where(x => x.Duracion > 6 && x.Duracion < 12).ToList();

            pro.Listar(proyMayor);
            Console.WriteLine();
            //obtener todos los proyectos que empiecen por B
            Console.WriteLine("Proyectos que empiezan con la letra B");
            var proyectosB = from p in pro.proyectos
                             where (p.Nombre.StartsWith("B"))
                             select p;

            pro.Listar(proyectosB.ToList());
            Console.WriteLine();
            //obtener los proyectos cuyo codigo sea multiplo de 7
            Console.WriteLine("proyectos con multiplo de 7");
            var proyMul = pro.proyectos.Where(x => x.Codigo % 7 == 0).ToList();

            pro.Listar(proyMul);
            Console.WriteLine();
            //Agrupar los proyectos que tengan duracion inferior a 6 ,superior a 6 superior a 10
            var gruposProys = pro.proyectos.GroupBy(x =>
            {
                if (x.Duracion < 6)
                {
                    return("son menores a 6");
                }
                else if (x.Duracion > 6 && x.Duracion < 10)
                {
                    return("Entre 6 y 10");
                }
                else
                {
                    return("Mayores a 10");
                }
            });

            foreach (var grupoProy in gruposProys)
            {
                Console.WriteLine("Grupo de proyectos " + grupoProy.Key + "------Cantidad----" + grupoProy.Count());
                foreach (var item in grupoProy)
                {
                    Console.WriteLine("El nombre proyecto: " + item.Nombre + "\r\n" + "Codigo proyecto: " + item.Codigo);
                }
            }

            Console.WriteLine();
            //obtener el promedio de la duracion de todos los proyectos
            var avgSumT = pro.proyectos.Average(x => x.Duracion);

            Console.WriteLine("El promedio de los proyectos es: " + avgSumT);
            Console.WriteLine();

            //obtener el nombre del proyecto con mas duracion
            var dato    = pro.proyectos.Max(y => y.Duracion);
            var maxSumT = pro.proyectos.Where(x => x.Duracion == dato).Select(x => x.Nombre).FirstOrDefault();

            Console.WriteLine($"El maximo de todos es: {maxSumT} ");
            Console.WriteLine();

            //Seleccionar el nombre y el area del proyecto con duracion mayor a 6
            var da      = pro.proyectos.Max(a => a.Area);
            var dat     = pro.proyectos.Max(y => y.Duracion);
            var maxAreT = pro.proyectos.Where(x => x.Duracion > 6).Select(x => x.Nombre).FirstOrDefault();

            Console.WriteLine($"El maximo de todos es: {maxAreT} cuyo area es: {da}");
            Console.WriteLine();

            //Verificar si existe un proyecto con una duracion superior a 24
            var MayV = pro.proyectos.All(x => x.Duracion > 24);

            Console.WriteLine("¿Existen proyectos que sean mayores a 24?: " + MayV);
            Console.WriteLine();

            //Sumar las duraciones de  los proyectos cuyo codigo sea superior a 20
            var SumMa = pro.proyectos.Where(x => x.Codigo > 20).Sum(y => y.Duracion);

            Console.WriteLine("la suma de las duraciones de los proyectos con codigos superior a 20 es: " + SumMa);
            Console.WriteLine();


            //tomar los dos primeros proyectos cuyo codigo sea superior a 30
            var TomarDP = pro.proyectos.Take(2).Where(x => x.Codigo > 30);

            pro.Listar(TomarDP);
            Console.ReadLine();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            //Delegados
            //Se definen con func<int,int> donde el primer valor es el que retorna, y los siguientes los parametros que recibe
            //Un delegado siempr retorna algo
            //Func<double, double> exp = CalcularExponente;
            //Console.WriteLine($"Resultado: {exp}");

            //Func<int,int> doble


            Proyecto project = new Proyecto();

            project.proyectos = project.AgregarProyecto2();
            var proys = project.proyectos;



            //Consultas con LinQ
            //Una consulta no hace sobre la clase sino sobre la lista que tenga los datos



            //1.Obtener todos los proyectos cuya duracion sea mayor a 6 y menor a 12
            var rango = proys.Where(x => x.Duracion >= 6 && x.Duracion <= 12).ToList();
            //project.ImprimirProyectos(rango);



            //2.Obtener todos los proyectos que empiezen por b
            var projectsB = from p in proys
                            where (p.Nombre.StartsWith("B"))
                            select p;
            //project.ImprimirProyectos(projectsB.ToList());



            //3.Obtener todos los proyectos cuyo codigo sea multiplo de 7
            var multiplos = proys.Where(x => x.Codigo % 7 == 0).ToList();
            //project.ImprimirProyectos(multiplos);



            //4.Agrupar los proyectos que tengan duracion inferior a seis superior a seis y menor a diez y los que sean mayores a 10
            var gruposProy = proys.GroupBy(x => {
                if (x.Duracion < 6)
                {
                    return("Son menores que 6");
                }
                else if (x.Duracion >= 6 && x.Codigo < 10)
                {
                    return("Estan entre 6 y 10");
                }
                else if (x.Duracion >= 10)
                {
                    return("Es mayor que 10");
                }
                else
                {
                    return("No hay datos en este rango");
                }
            });
            //foreach (var agrupando in gruposProy) {
            //    Console.WriteLine($"Grupo de proyectos {agrupando.Key}");
            //    foreach(var item in agrupando) {
            //        Console.WriteLine($"***El nombre del proyecto {item.Nombre}***");
            //        Console.WriteLine($"La duracion del proyecto {item.Duracion}");
            //        Console.WriteLine("-");
            //    }
            //}



            //5.Obtener el promedio de la duracion de todos los proyectos
            var promedio = proys.Average(x => x.Duracion);
            //Console.WriteLine($"El promedio de los proyectos es: {promedio}");



            //6.Obtener el nombre del proyeccto con mas duracion
            var maximo    = proys.Max(x => x.Duracion);
            var maxNombre = (from p in proys
                             where (p.Duracion == maximo)
                             select p.Nombre).FirstOrDefault();
            //Console.WriteLine($"El maximo de todos los proyectos es: {maxNombre}");



            //7.Seleccionar el nombre y el area del proyecto con duracion mayor a seis, con firtsordefault
            var mayor6 = proys.FirstOrDefault(x => x.Duracion > 6);
            //if (mayor6 != null) {
            //    Console.WriteLine($"Nombre del proyecto: {mayor6.Nombre}");
            //    Console.WriteLine($"Codigo del proyecto: {mayor6.Codigo}");
            //    Console.WriteLine($"Duracion del proyecto: {mayor6.Duracion}");
            //}
            //else {
            //    Console.WriteLine("Objeto nulo");
            //}



            //8.Verificar si existe un proyecto con una duracion mayor a 24 con any
            var alguno = proys.Any(x => x.Duracion > 24);
            //Console.WriteLine($"Al menos la duracion de un proyecto es mayor a 24 {alguno}");



            //9.Sumar las duraciones de los proyectos cuyo codigo sea superior a 20
            var sumando = proys.Where(x => x.Codigo > 20).Sum(x => x.Duracion);
            //Console.WriteLine($"Suma de la duracion de proyectos con codigo superior a 20: {sumando}");



            //10.Tomar los 2 primeros proyectos cuyo codigo sea superior a 30
            var tomando = proys.Where(x => x.Codigo > 30).Take(2).ToList();
            //project.ImprimirProyectos(tomando);
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            Proyecto project = new Proyecto();

            project.proyectos = project.AgregarProyecto2();
            var proys = project.proyectos;


            //1 Obtener los proyectos cuya duracion sea mayor a 6 y menor a 12
            Console.WriteLine("Proyectos con duración mayor a 6 y menor a 12");
            var Dur = proys.Where(x => x.Duracion > 6 && x.Duracion < 12).ToList();

            project.ImprimirProyectos(Dur);

            //"2 Proy que empiecen por b
            Console.WriteLine("proyectos que empiezan por S");
            var proyectoB = from p in Proys
                            where (p.Nombre.StartsWhith("S"))
                            select p;

            //3 Proy con codigo mutiplo de 7
            Console.WriteLine("Proyectos con codigo mutiplo de 7");
            var multiplos = proys.Where(x => x.Codigo % 7 == 0).ToList();

            project.ImprimirProyectos(multiplos);

            //4 Agrupar proyectos con duracion >6, <10, >10
            Console.WriteLine(" proyectos con duracion mayor a 6, menor a 10 y mayor a 10");
            var durGrup = proys.GroupBy(x =>
                                        { if (x.Duracion > 6)
                                          {
                                              return("Son mayores que 6");
                                          }
                                          else if (x.Duracion < 10)
                                          {
                                              return("Son menores que 10");
                                          }
                                          else
                                          {
                                              return("Son mayores que 10");
                                          } });

            foreach (var grupoPro in durGrup)
            {
                console.WriteLine("Grupo de proyectos" + grupoPro.key + "Duración" + grupoPro.Count());
            }

            //5 Promedio de la duracion de los proyectos
            Console.WriteLine("Promedio de duración de todos los proyectos");
            var prom = proys.Average(x => x.Duracion);

            Console.WriteLine("El promedio de la duración de todos los proyectos es:" + prom);
            Console.WriteLine();

            //6 Nombre del proyecto con mas duración
            Console.WriteLine("Proyecto con mas duración");
            var maxDur = Proys.Max(x => x.Duracion);

            Console.WriteLine("El proyecto con mayor duracion es:" + maxDur);
            Console.WriteLine();

            //7 seleccionar el nombre y el area del proyecto con duracion mayor a seis
            Console.WriteLine("Nombre y area del proyecto con duracion mayor a seis");
            var mayor = proys.FirsOrDefault(x => x.Duracion > 6);

            if (mayor != null)
            {
                Console.WriteLine($"Nombre: {mayor.Nombre}");
                Console.WriteLine($"Codigo: {mayor.Codigo}");
                Console.WriteLine($"Duración: {mayor.Duracion}");
            }
            else
            {
                Console.WriteLine("Objeto nulo");
            }

            //8 Proyectos con duración mayor a 24
            Console.WriteLine("Proyectos con duración mayor a 24");
            var Dur = proys.Where(x => x.Duracion > 70).ToList();

            project.ImprimirProyectos(Dur);

            //9 suma de las duraciones con codigo mayor a 20
            Console.WriteLine("Suma de las duraciones con codigo mayor a 20");
            var sumDur = proys.Where(x => x.Codigo > 20).Sum(x => x.Duracion);

            Console.WriteLine("Suma de las duraciones con codigo mayor a 20" + sumDur);
            Console.WriteLine();

            //10 Tomar los dos primeros proyectos con codigo mayor a 30
            Console.WriteLine("primeros proyectos con codigo mayor a 30");
            var numPro = proys.Take(2).ToList();

            project.ImprimirProyectos(numPro);
            Console.WriteLine();
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            //Func<double, double, double> raiz = CalcularRaiz;
            //Func<double, double, double> potencia = (x, y) => { return Math.Pow(x, y); };

            //Console.WriteLine($"la raiz es: { potencia(6, 3)}");
            //Console.WriteLine($"la raiz es: {raiz(6, 3)}");
            Proyecto pro = new Proyecto();
            //pro.AgregarProyecto();
            //pro.AgregarProyecto2();
            //pro.Listar();
            var proy   = pro.AgregarProyecto2();
            var listar = pro.proyectos;

            Console.WriteLine($"Los proyectos cuya duracion es mayor a 6 y menor a 12 son:  ");
            var proyMayor = pro.proyectos.Where(x => x.Duracion > 6 && x.Duracion < 12).ToList();

            pro.Listar(proyMayor);
            Console.ReadLine();
            Console.WriteLine("Proyectos que empiezan con la letra B");
            var proyectosB = from p in pro.proyectos
                             where (p.Nombre.StartsWith("B"))
                             select p;

            pro.Listar(proyectosB.ToList());
            Console.ReadLine();
            //obtener los proyectos cuyo codigo sea multiplo de 7
            Console.WriteLine("proyectos con multiplo de 7");
            var proyMul = pro.proyectos.Where(x => x.Codigo % 7 == 0).ToList();

            pro.Listar(proyMul);
            Console.ReadLine();
            //Agrupar los proyectos que tengan duracion inferior a 6 ,superior a 6 superior a 10
            var gruposProys = pro.proyectos.GroupBy(x =>
            {
                if (x.Duracion < 6)
                {
                    return("son menores a 6");
                }
                else if (x.Duracion > 6 && x.Duracion < 10)
                {
                    return("Entre 6 y 10");
                }
                else
                {
                    return("Mayores a 10");
                }
            });

            foreach (var grupoProy in gruposProys)
            {
                Console.WriteLine("Grupo de proyectos " + grupoProy.Key + "------Cantidad----" + grupoProy.Count());
                foreach (var item in grupoProy)
                {
                    Console.WriteLine("El nombre proyecto: " + item.Nombre + "\r\n" + "Codigo proyecto: " + item.Codigo);
                }
            }

            Console.WriteLine();
            //obtener el promedio de la duracion de todos los proyectos
            var avgSumT = pro.proyectos.Average(x => x.Duracion);

            Console.WriteLine("El promedio de los proyectos es: " + avgSumT);
            Console.WriteLine();

            //obtener el nombre del proyecto con mas duracion
            var dato    = pro.proyectos.Max(y => y.Duracion);
            var maxSumT = pro.proyectos.Where(x => x.Duracion == dato).Select(x => x.Nombre).FirstOrDefault();

            Console.WriteLine($"El maximo de todos es: {maxSumT} ");
            Console.ReadLine();

            //Seleccionar el nombre y el area del proyecto con duracion mayor a 6
            var da      = pro.proyectos.Max(a => a.Area);
            var dat     = pro.proyectos.Max(y => y.Duracion);
            var maxAreT = pro.proyectos.Where(x => x.Duracion > 6).Select(x => x.Nombre).FirstOrDefault();

            Console.WriteLine($"El maximo de todos es: {maxAreT} cuyo area es: {da}");
            Console.ReadLine();
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            //Func<double, double, double> raiz = CalcularRaiz;
            //Func<double, double, double> potencia = (x, y) => { return Math.Pow(x, y); };

            //Console.WriteLine($"la raiz es: { potencia(6, 3)}");
            //Console.WriteLine($"la raiz es: {raiz(6, 3)}");
            Proyecto pro = new Proyecto();
            //pro.AgregarProyecto();
            var proy   = pro.AgregarProyecto2();
            var listar = pro.proyectos;

            //pro.Listar();

            Console.WriteLine("//**********duracion sea mayor a 6 y menores a 12***********//");
            var proyMayor = pro.proyectos.Where(x => x.Duracion > 6 && x.Duracion < 12).ToList();

            Console.WriteLine($"los proyectos cuya duracion sea mayor a 6 y menores a 12 son ");
            pro.Listar(proyMayor);

            Console.WriteLine("//**********Proyectos que empiecen por  b ***********//");

            var proyectosB = from p in pro.proyectos
                             where (p.Nombre.StartsWith("B"))
                             select p;

            pro.Listar(proyectosB.ToList());

            Console.WriteLine("//**********obtener todos los proyectos cuyo codigo sea multiplo de 7 ***********//");
            var proyPrimo = pro.proyectos.Where(x => x.Codigo % 7 == 0).ToList();

            pro.Listar(proyPrimo);


            Console.WriteLine("//**********obtener todos los proyectos que tengan una duracion inferior a 6 entre 6 y 10 y mayor a 10 ***********//");
            var proyDuracion = pro.proyectos.GroupBy(x =>
            {
                if (x.Duracion < 6)
                {
                    return("son menores que 6");
                }
                else if (x.Duracion >= 6 && x.Duracion < 10)
                {
                    return("Entre 6 y menores de 10");
                }
                else
                {
                    return("Son mayores a 10");
                }
            });

            foreach (var grupoProy in proyDuracion)
            {
                Console.WriteLine("Grupo de proyectos" + grupoProy.Key + "___Cantidad______" + proyDuracion.Count());
                foreach (var item in grupoProy)
                {
                    Console.WriteLine("El nombre del Proyecto:" + item.Nombre + "\r\n" + "El Codigo es :" + item.Nombre);
                }
            }


            Console.WriteLine("//**********obtener el promedio de la duracion de todos los proyectos***********//");
            var proyAVG = pro.proyectos.Average(x => x.Duracion);

            Console.WriteLine("El promedio de los proyectos es:" + proyAVG);

            Console.WriteLine("//**********obtener el nombre del proyecto con mas duracion ***********//");
            var dato     = pro.proyectos.Max(y => y.Duracion);
            var proyMaxx = pro.proyectos.Where(x => x.Duracion == dato).Select(x => x.Nombre).FirstOrDefault();

            Console.WriteLine($"el proyecto con mas duracion es {proyMaxx} ");
            Console.WriteLine();

            //Console.WriteLine("//**********seleccionar el nombre y el area del proyecto con duracion mayor a 6 ***********//");
            //var area = pro.proyectos.Select(y => y.Area);
            //var proyArea = pro.proyectos.Where(x => x.Duracion>6).Select(x => x.Nombre).FirstOrDefault();
            //Console.WriteLine($"el proyecto con mas duracion es {proyArea} ");
            //Console.ReadLine();
        }
Beispiel #7
0
        static void Main(string[] args)
        {
            //Func<double, double, double> raiz = CalcularRaiz;
            //Func<double, double, double> potencia = (x, y) => { return Math.Pow(x, y); };

            //Console.WriteLine($"la raiz es: { potencia(6, 3)}");
            //Console.WriteLine($"la raiz es: {raiz(6, 3)}");

            Proyecto pro = new Proyecto();
            //pro.AgregarProyecto();
            var proy   = pro.AgregarProyecto2();
            var Listar = pro.proyectos;


            Console.WriteLine("*******Duracion mayores a 6 y menos de 12********");
            var proyMayor = pro.proyectos.Where(x => x.Duracion > 6 && x.Duracion < 12).ToList();

            pro.Listar(proyMayor);



            Console.WriteLine("******Proyectos que empiecen por b*******");
            var proyectosB = from p in pro.proyectos
                             where (p.Nombre.StartsWith("B"))
                             select p;

            pro.Listar(proyectosB.ToList());


            Console.WriteLine("******obtener los proyectos cuyo codigo sea multiplo de 7******");
            var proyPrimo = pro.proyectos.Where(x => x.Codigo % 7 == 0).ToList();

            pro.Listar(proyPrimo);

            Console.WriteLine("obtener todos los proyectos que tengan una duracion inferior a 6 y 10 y mayor a 10");
            var proyDuracion = pro.proyectos.GroupBy(x =>
            {
                if (x.Duracion < 6)
                {
                    return("son menores a 6");
                }
                else if (x.Duracion >= 10 && x.Duracion < 10)
                {
                    return("Entre 10 y menores a 10");
                }
                else
                {
                    return("son mayores a 10");
                }
            }
                                                     );

            foreach (var proyDuraciones in proyDuracion)
            {
                Console.WriteLine("Grupo de proyectos " + proyDuraciones.Key + "------cantidad-----" + proyDuraciones.Count());
                foreach (var item in proyDuraciones)
                {
                    Console.WriteLine("El proyecto" + item.Nombre +
                                      "\r\n" + "Duracion Proyecto:" + item.Duracion);
                }
            }
            Console.WriteLine("Obtener el promedio de la diracionde los proyectos");
            var proPro = pro.proyectos.Average(x => x.Duracion);

            Console.WriteLine("El promedio de los proyectos es :" + proPro);


            Console.WriteLine("obtener el nombre del proyecto con mas duracion");
            var dato  = pro.proyectos.Max(y => y.Duracion);
            var pory3 = pro.proyectos.Where(x => x.Duracion == dato).Select(x => x.Nombre).FirstOrDefault();

            Console.WriteLine($"El proyecto con mas duraciones {pory3}");

            // Ejercicio 7

            Console.WriteLine("seleccionar el nombre y el area del proyecto con duracion mayor a 6");
            var datos = pro.proyectos.Max(y => y.Duracion);
            var are   = pro.proyectos.Max(z => z.Area);
            var pory2 = pro.proyectos.Where(x => x.Duracion == datos || z = > z.Area == are).Select(x => x.Nombre).FirstOrDefault();

            Console.WriteLine($"El proyecto con mas duraciones {pory2}");



            Console.ReadLine();
        }