PROYECTO FINAL – PROGRAMACIÓN
Título sugerido: “Solucionando un problema real con programación”
1. Descripción general del proyecto
Como proyecto final de la asignatura de Programación, deberás diseñar y desarrollar
un programa completo que resuelva un problema real o cercano a tu vida diaria.
Ejemplos de problemas (puedes escoger otro):
• Sistema sencillo para calcular notas finales de un curso.
• Calculadora de descuentos y total a pagar en una tienda.
• Programa para calcular salario neto con deducciones.
• Simulador de ahorros o intereses en una cuenta bancaria.
• Sistema para calcular promedios, máximos y mínimos en una lista de datos
(ventas, temperaturas, puntuaciones, etc.).
TU PROGRAMA DEBE OBLIGATORIAMENTE UTILIZAR TODOS LOS ELEMENTOS
VISTOS EN CLASE DURANTE EL AÑO ESCOLAR.
2. Objetivo del proyecto
Al finalizar el proyecto, el estudiante será capaz de:
• Implementar una solución en código utilizando todos los elementos de
programación vistos durante el año.
• Comprobar, probar y depurar su programa para que funcione correctamente con
distintos datos de entrada.
3. Requisitos técnicos (OBLIGATORIOS)
Tu programa debe usar, al menos una vez, cada uno de los siguientes elementos:
1. Operadores aritméticos básicos
o Suma (+), Resta (-), Multiplicación (*), División (/ o //).
o Deben ser parte del cálculo principal del problema.
2. Función round()
o Usarla para redondear algún resultado (por ejemplo, total a pagar,
promedio, interés, etc.).
3. Función abs()
o Usarla para obtener el valor absoluto en alguna parte del cálculo
(diferencias, cambios, errores, etc.).
4. Función pow() (o el operador **)
o Usarla para elevar números a una potencia (por ejemplo, crecimiento,
interés compuesto, etc.).
5. Función range()
o Usarla en un bucle para repetir una acción un número determinado de
veces (por ejemplo, leer N datos, generar un listado, etc.).
6. Bucle while
o Usar un while para repetir una acción hasta que se cumpla una condición
(por ejemplo, menú que se repite hasta que el usuario elija salir, validación
de datos, etc.).
7. Bucle for
o Usar un for para recorrer una secuencia (por ejemplo, lista de notas, lista
de precios, varios intentos, etc.).
8. Condicional if y else
o Usar al menos una estructura de decisión que tenga if y else (puede incluir
también elif si lo deseas).
9. Compuertas lógicas
Debes aplicar en tus decisiones lógicas el uso de:
o and
o or
o not
o Lógica tipo NAND → combinación de not con and (por ejemplo: not
(condicion1 and condicion2))
o Lógica tipo NOR → combinación de not con or (por ejemplo: not
(condicion1 or condicion2))
Estas compuertas deben aparecer en condiciones reales del programa, no solo
“por escribirlas”.
4. Entregables
Cada estudiante deberá entregar:
1. Archivo del programa
o Archivo con el código fuente, proyecto_final.py).
2. Descripción del problema (máximo 1 página)
o Explicar en lenguaje sencillo:
§ ¿Qué problema resuelve el programa?
§ ¿Quién lo podría usar?
§ ¿Qué datos pide y qué resultados muestra?
3. Comentarios en el código
o El código debe tener comentarios breves explicando las partes más
importantes (inicio, cálculos, decisiones, bucles, etc.).
5. Recomendaciones para el estudiante
• Revisa la lista de elementos (operadores, funciones, bucles, condiciones,
compuertas lógicas) y ve marcando cuáles ya usaste.
• Prueba tu programa con datos correctos y también con datos “complicados”
para verificar si funciona bien.
• Cuida la presentación del código: identación, nombres de variables claros y
orden lógico.
• Antes de entregar, verifica la rúbrica para revisar si estás cumpliendo todo.
RÚBRICA FINAL – PROYECTO DE PROGRAMACIÓN
Puntaje Total: 100 puntos Nombre del estudiante:
50% Código – 50% Sustentación Nivel:
Nº Criterio del Código Descripción de Logro Puntaje
1 Operadores Usa correctamente suma, resta, multiplicación 5 pts
aritméticos y división dentro del programa.
2 Función round() Aplica round() de forma útil y coherente en los 5 pts
cálculos.
3 Función abs() Utiliza abs() adecuadamente en una parte 5 pts
relevante del programa.
4 Función pow() o ** Usa potencias de forma correcta dentro de su 5 pts
solución.
5 Función range() Emplea range() apropiadamente en un bucle o 5 pts
estructura repetitiva.
6 Bucle while Implementa un while útil, funcional y bien 5 pts
controlado.
7 Bucle for Utiliza for de manera lógica para recorrer o 5 pts
repetir acciones.
8 Condiciones if y else Aplica correctamente decisiones en el flujo del 5 pts
programa.
9 Compuertas lógicas Usa correctamente combinaciones lógicas 5 pts
(AND, OR, NOT) para tomar decisiones.
10 Lógica NAND y Implementa correctamente expresiones 5 pts
NOR como not(A and B) y not(A or B).
Subtotal Código: 50 pts
Nº Criterio de Descripción de Logro Puntaje
Sustentación
1 Explicación del Explica claramente qué problema resuelve el 10 pts
problema programa y por qué es útil.
2 Explicación del Describe paso a paso cómo funciona su 10 pts
funcionamiento programa (entradas, procesos y salidas).
3 Dominio del Demuestra que entiende su propio código: 10 pts
código decisiones, bucles, funciones y lógica usada.
4 Demostración Ejecuta el programa en vivo mostrando que 10 pts
práctica funciona con varios ejemplos.
5 Claridad, Habla con claridad, responde preguntas y 10 pts
seguridad y demuestra dominio del tema.
comunicación
Subtotal Sustentación: 50 pts