# Evaluación Parcial 4

**Ejecución práctica**
**Estudiante**

| Sigla | Nombre Asignatura | Tiempo Asignado | % Ponderación |
|---|---|---|---|
| FPY1101 | FUNDAMENTOS DE PROGRAMACION | 7 horas | 25% |

---

## 1. Instrucciones

**Descripción**

- Esta evaluación tiene como objetivo medir los resultados de aprendizaje de la **Experiencia de Aprendizaje 3**.
- La evaluación contempla **1 ejercicio** que medirá distintos contenidos.
- El **tiempo** asignado para desarrollar esta evaluación en **laboratorio** es de **7 horas pedagógicas**.
- La evaluación se realiza de manera **individual**.
- Las instrucciones se proporcionarán **presencialmente** el día de la evaluación.
- Esta evaluación consiste en una **ejecución práctica** que medirá los siguientes **Indicadores de Logro**:
  - IL 3.1 – Identifica arreglos que permitan el almacenamiento de datos según los requerimientos del problema planteado.
  - IL 3.2 – Utiliza arreglos para la inserción, eliminación, modificación y búsqueda de datos temporales para cumplir con los requerimientos del problema planteado.
  - IL 4.1 – Programa funciones que permitan la reutilización de código según el problema planteado.
  - IL 4.2 – Integra funciones invocadas desde el programa principal para dar solución al problema planteado.
- La evaluación se centra en el **desarrollo de programa en Python** para dar respuesta al problema planteado.

---

## 2. Pauta de Evaluación: Lista de Cotejo

| Categorías de respuesta | % logro | Descripción niveles de logro |
|---|---|---|
| Desempeño Logrado | 100% | Cumple completamente con la ejecución del estándar. |
| Desempeño No Logrado | 0% | No alcanza el estándar; presenta dificultades o errores en la ejecución. |

| # | Indicador de Evaluación | Desempeño Logrado | Desempeño No Logrado | Ponderación IE |
|---|---|---|---|---|
| 1 | Define una lista vacía destinada a almacenar los registros del sistema antes de comenzar a operar. | | | 4% |
| 2 | Construye cada registro como un diccionario que contiene exactamente las claves indicadas en el enunciado, con valores del tipo de dato correspondiente a cada campo. | | | 3% |
| 3 | Almacena el registro construido en la lista de datos en el momento y con el método correcto según el enunciado. | | | 2% |
| 4 | El campo de estado del diccionario se inicializa con un valor que representa la condición inactiva o falsa al momento de crear cada registro, independientemente de los datos ingresados. | | | 3% |
| 5 | Las variables y claves del diccionario tienen nombres descriptivos que reflejan su propósito en el contexto del problema, y el código presenta una indentación consistente. | | | 3% |
| 6 | Programa la funcionalidad para agregar el registro a la lista únicamente cuando todos los campos y datos son válidos. | | | 5% |
| 7 | Usa técnica correcta de recorrido de datos. | | | 4% |
| 8 | Programa una lógica de búsqueda que entrega la posición del registro encontrado o un indicador explícito de que no existe acorde a la condición definida en el enunciado. | | | 5% |
| 9 | Programa el criterio de eliminación de un registro utilizando el resultado de la búsqueda acorde a la condición definida en el enunciado. | | | 5% |
| 10 | Programa la lógica de actualización utilizando el resultado de búsqueda y modifica la información según la condición definida en el enunciado. | | | 6% |
| 11 | Define una función para imprimir las opciones del menú en pantalla acorde a la condición planteada en el enunciado. | | | 3% |
| 12 | Define una función para leer la opción del menú que valida el valor ingresado acorde a la condición planteada en el enunciado. | | | 4% |
| 13 | Define una función para agregar registros que recibe la lista como parámetro, solicita cada campo al usuario, invoca las funciones de validación y agrega el registro solo cuando todas las validaciones son satisfactorias. | | | 4% |
| 14 | Define una función para buscar un registro acorde a la condición planteada en el enunciado. | | | 4% |
| 15 | Define una función para eliminar registros que invoca la función de búsqueda para localizar el elemento, sin duplicar la lógica de búsqueda dentro de ella. | | | 5% |
| 16 | Define una función para actualizar el campo de estado de todos los registros que recibe la lista como parámetro y aplica la condición especificada en el enunciado. | | | 5% |
| 17 | Define a lo menos una de las funciones de validación con responsabilidad única: cada una recibe el dato a validar. | | | 1% |
| 18 | Las condiciones aplicadas en cada función de validación corresponden exactamente a las restricciones definidas en el enunciado para cada campo. | | | 5% |
| 19 | Los mensajes de retroalimentación al usuario ante datos inválidos se muestran en la función que solicita los datos, y no dentro de las funciones de validación. | | | 4% |
| 20 | Implementa la función de mostrar menú y la función de leer opción en cada iteración del ciclo, utilizando el valor retornado para controlar el flujo. | | | 6% |
| 21 | Desarrolla la lógica del programa principal para dirigir la ejecución hacia la función correspondiente según cada opción del menú, incluyendo la opción de salida. | | | 6% |
| 22 | La lista de registros se pasa como argumento a todas las funciones que la necesitan, sin acceder a ella como variable global. | | | 7% |
| 23 | El ciclo principal del menú permanece activo y permite ejecutar múltiples operaciones de forma consecutiva hasta que el usuario selecciona la opción de salida. | | | 6% |
| | **TOTAL** | | | **100%** |
