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