Sesión 5: Evaluación 1¶
Objetivo¶
Evaluar la resolución de problemas secuenciales y condicionales, incluyendo decisiones simples, dobles, múltiples, anidadas y selección por match-case.
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 1 usando variables, operadores, decisiones y match-case, comprobando el resultado con casos de prueba.
Alcance de la sesión¶
- Resolución de problemas secuenciales y condicionales de manera individual.
- Aplicación de variables, operadores, decisiones y
match-casesegú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 la resolución de problemas secuenciales y condicionales. 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.
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: Boleta de pago de un trabajador¶
Lee las horas ordinarias, horas extra, pago por hora y bonificación porcentual de un trabajador. Considera que la hora extra vale 1.25 veces la hora normal y calcula sueldo base, pago por horas extra, bonificación y sueldo final.
Entradas esperadas: horas ordinarias, horas extra, pago por hora y bonificación porcentual
Salida esperada: sueldo base, pago por horas extra, bonificación y sueldo final
horas_ordinarias = float(input('Horas ordinarias: '))
horas_extra = float(input('Horas extra: '))
pago_por_hora = float(input('Pago por hora: '))
bonificacion_porcentual = float(input('Bonificación porcentual: '))
# Desarrolla aquí la solución
Problema 2: Evaluación de postulantes¶
Solicita la edad, el puntaje, la asistencia y si realizó el pago de inscripción. Clasifica al postulante como Pasa directo si cumple todas las condiciones; Pasa con observación si cumple edad y puntaje, pero falla una de las otras condiciones; y No pasa en los demás casos.
Entradas esperadas: edad, puntaje, asistencia y pago de inscripción
Salida esperada: clasificación final del postulante y mensaje de observación
edad = int(input('Edad: '))
puntaje = float(input('Puntaje: '))
asistencia = float(input('Asistencia: '))
pago_inscripcion = input('¿Pagó inscripción? (si/no): ').strip().lower()
# Desarrolla aquí la solución
Problema 3: Descuento en una compra¶
Lee el monto de una compra. Si el monto es mayor o igual que 100, aplica un descuento del 10%; de lo contrario, no aplica descuento. Muestra el descuento obtenido y el total a pagar.
Entradas esperadas: monto de compra
Salida esperada: descuento aplicado y total a pagar
monto = float(input('Monto de compra: '))
# Desarrolla aquí la solución
Problema 4: Clasificación de desempeño académico¶
Lee la nota final de un estudiante y clasifícala como Destacado, Esperado, En proceso o Requiere refuerzo. Si la nota está fuera del rango de 0 a 20, muestra un mensaje de validación.
Entradas esperadas: nota final
Salida esperada: clasificación del desempeño o mensaje de nota fuera de rango
nota = float(input('Nota final: '))
# Desarrolla aquí la solución
Problema 5: Menú académico con match-case¶
Lee una opción numérica de un menú académico y muestra la acción correspondiente. Usa match-case para atender las opciones 1, 2, 3 y 4, y considera un caso general para valores no válidos.
Entradas esperadas: opción numérica del menú
Salida esperada: acción correspondiente o mensaje de opción no válida
opcion = int(input('Opción del menú: '))
# Desarrolla aquí la solución con match-case
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 estructuras secuenciales, decisiones simples, dobles, múltiples, anidadas y
match-casesegún el problema. - 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.