Sesión 12: Evaluación 2¶
Objetivo¶
Evaluar la resolución de problemas iterativos y de procesamiento de datos con ciclos, listas, búsqueda, matrices y diccionarios.
Producto de la sesión¶
Resuelve una evaluación práctica mediante programas que identifiquen entrada, proceso y salida y presenten resultados verificables.
Resultado esperado¶
Construye soluciones para problemas de la unidad 2 usando for, while, listas, cadenas, búsqueda, ordenación, matrices y diccionarios, comprobando el resultado con casos de prueba.
Alcance de la sesión¶
- Resolución individual de problemas con ciclos y estructuras de datos.
- Aplicación de
for,while, listas, búsqueda, ordenación, matrices y diccionarios según el problema. - Organización de la solución en entrada, proceso y salida.
- Verificación de resultados con casos normales y límite.
Criterio de resolución¶
Esta evaluación integra ciclos y estructuras de datos de la unidad 2. El punto de partida sigue siendo comprender el enunciado, reconocer los datos de entrada, ordenar el proceso y definir una salida verificable.
Antes de escribir código, redacta el algoritmo en lenguaje natural o pseudocódigo. Luego implementa la solución y pruébala con un caso normal, un caso límite y un caso inválido o no encontrado cuando corresponda.
Indicaciones¶
- Lee cada problema completo antes de escribir código.
- Diseña al menos un caso de prueba por problema.
- Mantén nombres de variables claros.
- Verifica el resultado antes de entregar.
Problema 1: Control de ventas semanales¶
Registra 5 montos de ventas, calcula el total, el promedio y luego ordena los montos de menor a mayor sin usar funciones automáticas de ordenación.
Entradas esperadas: cinco montos numéricos
Salida esperada: total, promedio y lista ordenada
ventas = []
for i in range(5):
ventas.append(float(input(f'Venta {i + 1}: ')))
# Desarrolla aquí la solución
Problema 2: Control de acceso con intentos¶
Solicita una clave hasta que sea correcta o hasta agotar 3 intentos. Al final muestra si el acceso fue concedido o denegado.
Entradas esperadas: clave ingresada en cada intento
Salida esperada: mensaje de acceso concedido o acceso denegado
clave_correcta = 'fp2026'
intentos = 0
# Desarrolla aquí la solución
Problema 3: Análisis de palabras¶
Lee una lista de 5 palabras, cuenta cuántas tienen más de 5 letras y construye una nueva lista con esas palabras en mayúsculas.
Entradas esperadas: cinco palabras
Salida esperada: cantidad de palabras con más de 5 letras y nueva lista en mayúsculas
palabras = []
for i in range(5):
palabras.append(input(f'Palabra {i + 1}: '))
# Desarrolla aquí la solución
Problema 4: Búsqueda de producto y ordenación de precios¶
Registra 4 nombres de productos con sus precios en una lista de diccionarios. Luego solicita un nombre para buscarlo y ordena los precios de menor a mayor sin usar sort().
Entradas esperadas: cuatro productos con su precio y el nombre de un producto a buscar
Salida esperada: resultado de la búsqueda y lista de precios ordenada
productos = []
for i in range(4):
nombre = input(f'Producto {i + 1}: ')
precio = float(input('Precio: '))
productos.append({'nombre': nombre, 'precio': precio})
buscado = input('Producto a buscar: ')
# Desarrolla aquí la solución
Problema 5: Operaciones matemáticas con matrices¶
Dadas dos matrices 2x2 y un escalar, calcula la transpuesta de la primera matriz, su producto por escalar y el producto entre ambas matrices. Si la primera matriz tiene inversa, muéstrala también.
Entradas esperadas: dos matrices 2x2 y un escalar
Salida esperada: transpuesta, producto por escalar, producto de matrices e inversa de la primera matriz o mensaje de que no existe
A = [[1, 2], [3, 4]]
B = [[2, 0], [1, 2]]
escalar = 3
# Desarrolla aquí la solución
Problema 6: Consulta y actualización de inventario¶
Usa un diccionario para almacenar productos y cantidades. Consulta un producto y muestra si está disponible o agotado. Si existe, actualiza su cantidad con un nuevo valor.
Entradas esperadas: nombre de producto y nueva cantidad
Salida esperada: estado del producto consultado y diccionario actualizado
inventario = {'teclado': 4, 'mouse': 0, 'monitor': 3}
producto = input('Producto a consultar: ')
# Desarrolla aquí la solución
Evaluación del producto de la sesión¶
Lista de cotejo para revisar el producto elaborado por el estudiante:
- Identifica las entradas, el proceso y la salida de cada problema.
- Usa
for,while, listas, búsqueda, ordenación, matrices y diccionarios según el problema. - Resuelve operaciones matemáticas con matrices cuando el problema lo solicita.
- Presenta resultados claros, ordenados y correctos según lo solicitado.
- Verifica la solución con casos de prueba antes de entregarla.
- Entrega la evidencia del trabajo realizado.
Antes de entregar, revisa que tu solución funcione con varios casos de prueba y que el código sea legible.