Creación de Reporte de Evaluaciones por Asignatura en Programación OO
Clase 27 de 35 • Curso de C# con .Net Core 2.1
Contenido del curso
- 2

Reutilización de Código en C y Programación Orientada a Objetos
10:30 - 3

Herencia y Polimorfismo en Programación Orientada a Objetos
11:42 - 4

Polimorfismo en Programación Orientada a Objetos
13:17 - 5

Polimorfismo en Programación: Uso y Errores Comunes en Visual Studio
07:09 - 6

Validación y Conversión de Tipos en C# para Gestión de Objetos Escuela
12:44 - 7

Sobrescritura de Método ToString para Depuración Eficiente
08:15
- 11

Manejo Avanzado de Métodos y Parámetros en Programación
15:43 - 12

Manejo de Parámetros de Salida en Visual Studio Code
04:38 - 13

Sobrecarga de Métodos para Parámetros de Salida Opcionales
05:51 - 14

Optimización de Listas: Buenas Prácticas en C#
04:16 - 15

Uso de Diccionarios en C# para Gestión de Datos en Aplicaciones
11:15 - 16

Creación y Manejo de Diccionarios en C# para Aplicaciones Escolares
10:48 - 17

Uso de Constantes y Enumeraciones para Optimizar Diccionarios en C#
11:34 - 18

Creación y Manejo de Diccionarios en C# para Gestión Escolar
13:47 - 19

Impresión de Diccionarios en Visual Studio con C#
09:37 - 20

Filtrado y Personalización de Impresión en C#
11:47 - 21

Uso del operador switch en Visual Studio para optimizar código
14:30 - 22

Optimización de Algoritmos y Eventos en C#
12:52 - 23

Diccionarios y Refactoring en Programación Básica
02:13
- 24

Consultas y Reportes en Proyectos C# Básicos
11:42 - 25

Generación segura de reportes en sistemas de información
10:21 - 26

Generación de Reportes en Visual Studio Code
11:48 - 27

Creación de Reporte de Evaluaciones por Asignatura en Programación OO
08:32 - 28

Creación de Reportes Complejos con LinQ en Visual Studio
10:52 - 29

Cálculo del Promedio de Notas Agrupadas por Alumno y Asignatura
10:47 - 30

Creación de Tipos de Datos Personalizados en Programación Avanzada
12:05 - 31

Generación de Reportes con LINQ en C#
02:09
¿Cómo se integra el diseño de un reporte de evaluaciones por asignatura?
En el ámbito de la programación orientada a objetos, buscamos optimizar cada paso para lograr funcionalidades más sofisticadas con el menor esfuerzo posible. Al diseñar un reporte que lista las evaluaciones por cada asignatura, se hace uso de una lista previamente desarrollada que agrupa las asignaturas. Este enfoque promueve la reutilización del código y mejora la eficiencia del proceso.
¿Cómo obtengo la lista de asignaturas y evaluaciones?
Para obtener la lista de asignaturas, se recurre a un método ya existente, getListaDeAsignaturas. Sin embargo, al también necesitar las evaluaciones, se introduce una salida adicional en este método. Esto previene la duplicidad de operaciones, maximizando la eficiencia del código:
// Obtenemos la lista de asignaturas y la lista de evaluaciones
var listaAsignaturas = GetListaDeAsignaturas(out var listaEvaluaciones);
De esta forma, se evita realizar consultas idénticas repetidamente, reduciendo carga innecesaria en el sistema.
¿Cómo se asocian las evaluaciones a cada asignatura?
La clave radica en asociar las evaluaciones específicas a cada asignatura mediante un enfoque de filtrado. Utilizamos un bucle for each para recorrer cada asignatura y aplicar un filtro sobre las evaluaciones que correspondan al nombre de la asignatura actual. Este método garantiza que cada asignatura tenga su conjunto de evaluaciones único y correctamente asociado.
foreach (var asignatura in listaAsignaturas)
{
// Filtramos las evaluaciones que corresponden a la asignatura actual
var evaluacionesPorAsignatura = listaEvaluaciones
.Where(evaluacion => evaluacion.Asignatura.Nombre == asignatura.Nombre)
.ToList();
// Añadimos estas evaluaciones al diccionario
listaDeAsignacionesPorAsignaturas[asignatura.Nombre] = evaluacionesPorAsignatura;
}
Este código asegura que el diccionario se construya correctamente, manteniendo la integridad de las relaciones entre asignaturas y evaluaciones.
¿Cómo realizar pruebas y corroboraciones en el sistema?
La verificación de la correcta implementación del sistema se lleva a cabo mediante la depuración y la ejecución del programa. Se examina el diccionario resultante para confirmar que todas las asignaturas y sus respectivas evaluaciones están correctamente listadas. Es relevante evaluar los resultados dentro del contexto del sistema, asegurándose de que cada materia presente las evaluaciones de los estudiantes relacionados.
Mejora del sistema: ¿Cómo calcular promedios de estudiantes?
El próximo paso en la creación de reportes implica calcular el promedio de cada estudiante en cada asignatura. Esto se logrará extendiendo la funcionalidad actual para proporcionar un análisis más detallado del rendimiento estudiantil en diversos contextos. La planificación de este nuevo reporte será fundamental en el desarrollo de nuestra clase siguiente, enfocándonos en técnicas que integren datos de manera precisa y eficiente.
La flexibilidad y extensibilidad del código son principios básicos en esta área de la programación, y aseguran que continuemos implementando soluciones efectivas y adaptables a las necesidades de los usuarios.