El Gobierno Nacional a través de su Ministerio de Salud requiere algunos datos sobre la campaña de vacunación para la mitigación del COVID, en tal sentido se necesitan los siguientes datos: Listado de ciudadanos que no se han vacunado Listado de ciudadanos que han recibido las dos vacunas Listado de ciudadanos que solamente han recibido la vacuna de pfizer Listado de ciudadanos que solamente han recibido la vacuna de Astrazeneca Para resolver el ejercicio considere lo siguiente: Cree un conjunto ficticio de 500 ciudadanos Cree un conjunto ficticio de 75 ciudadanos vacunados con pfizer Cree un conjunto ficticio de 75 ciudadanos vacunados con astrazeneca Aplique operaciones de conjuntos. En lo posible intente que se genere un reporte en PDF. (No obligatorio). Importante: La tarea debe presentarse únicamente en C#,
Aquí te presento una solución en C# que crea un conjunto ficticio de 500 ciudadanos y los vacuna con Pfizer y Astrazeneca. Luego, se aplican operaciones de conjuntos para obtener los listados solicitados. ```csharp using System; using System.Collections.Generic; using System.Linq; public class Ciudadano { public string Nombre { get; set; } public string Vacuna { get; set; } public bool Vacunado { get; set; } } class Program { static void Main(string[] args) { // Crear un conjunto ficticio de 500 ciudadanos var ciudadanos = new List<Ciudadano>(); var aleatorio = new Random(); for (int i = 0; i < 500; i++) { ciudadanos.Add(new Ciudadano { Nombre = $"Ciudadano {i}", Vacuna = "", Vacunado = false }); } // Vacunar 75 ciudadanos con Pfizer var pfizer = ciudadanos.Take(75).ToList(); pfizer.ForEach(c => c.Vacuna = "Pfizer"); pfizer.ForEach(c => c.Vacunado = true); // Vacunar 75 ciudadanos con Astrazeneca var astrazeneca = ciudadanos.Skip(75).Take(75).ToList(); astrazeneca.ForEach(c => c.Vacuna = "Astrazeneca"); astrazeneca.ForEach(c => c.Vacunado = true); // Vacunar los restantes ciudadanos var restantes = ciudadanos.Skip(150).ToList(); restantes.ForEach(c => c.Vacunado = true); // Aplicar operaciones de conjuntos var noVacunados = ciudadanos.Where(c => !c.Vacunado).ToList(); var dosVacunas = ciudadanos.Where(c => c.Vacunado && c.Vacuna != "").ToList(); var pfizerSolo = ciudadanos.Where(c => c.Vacunado && c.Vacuna == "Pfizer").ToList(); var astrazenecaSolo = ciudadanos.Where(c => c.Vacunado && c.Vacuna == "Astrazeneca").ToList(); // Imprimir resultados Console.WriteLine("Listado de ciudadanos que no se han vacunado:"); noVacunados.ForEach(c => Console.WriteLine(c.Nombre)); Console.WriteLine("\nListado de ciudadanos que han recibido las dos vacunas:"); dosVacunas.ForEach(c => Console.WriteLine(c.Nombre)); Console.WriteLine("\nListado de ciudadanos que solamente han recibido la vacuna de Pfizer:"); pfizerSolo.ForEach(c => Console.WriteLine(c.Nombre)); Console.WriteLine("\nListado de ciudadanos que solamente han recibido la vacuna de Astrazeneca:"); astrazenecaSolo.ForEach(c => Console.WriteLine(c.Nombre)); // Generar reporte en PDF (opcional) // Puedes utilizar bibliotecas como iTextSharp o EPPlus para generar un reporte en PDF // Aquí te dejo un ejemplo básico con iTextSharp using (var pdfDoc = new iTextSharp.text.Document()) { using (var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, new System.IO.FileStream("reporte.pdf", System.IO.FileMode.Create))) { pdfDoc.Open(); pdfDoc.Add(new iTextSharp.text.Paragraph("Listado de ciudadanos que no se han vacunado:")); noVacunados.ForEach(c => pdfDoc.Add(new iTextSharp.text.Paragraph(c.Nombre))); pdfDoc.Add(new iTextSharp.text.Paragraph("\nListado de ciudadanos que han recibido las dos vacunas:")); dosVacunas.ForEach(c => pdfDoc.Add(new iTextSharp.text.Paragraph(c.Nombre))); pdfDoc.Add(new iTextSharp.text.Paragraph("\nListado de ciudadanos que solamente han recibido la vacuna de Pfizer:")); pfizerSolo.ForEach(c => pdfDoc.Add(new iTextSharp.text.Paragraph(c.Nombre))); pdfDoc.Add(new iTextSharp.text.Paragraph("\nListado de ciudadanos que solamente han recibido la vacuna de Astrazeneca:")); astrazenecaSolo.ForEach(c => pdfDoc.Add(new iTextSharp.text.Paragraph(c.Nombre))); pdfDoc.Close(); } } } } ``` Recuerda que debes agregar la biblioteca iTextSharp a tu proyecto para generar el reporte en PDF. Puedes hacerlo siguiendo estos pasos: 1. Instala la biblioteca iTextSharp mediante NuGet: `Install-Package iTextSharp` 2. Agrega la referencia a la biblioteca iTextSharp en tu proyecto. Espero que esto te ayude. ¡Si tienes alguna pregunta o necesitas más ayuda, no dudes en preguntar!