Problema para mostrar la nota faltante
La estudiante Isabella del programa de Filosofía está interesada en conocer el valor que necesita obtener en la cuarta nota para aprobar el curso de Matemáticas.
La nota definitiva del curso se calcula mediante un promedio aritmético de cuatro notas parciales.
Ella quiere que el programa le diga el nombre del curso con un mensaje que indique si: ya lo aprobó, ya lo perdió o si aún necesita cierto valor en la cuarta nota para aprobarlo.
Finalmente ella quiere que el programa sirva para los otros cursos de la carrera que también usan promedio aritmético.
Para la solución del problema debemos tener en cuenta lo siguiente:
Abstracción:
Para el primer interrogante, se debe identificar qué solicita el programa. En este caso, la meta del programa es determinar la cuarta nota para un curso que usa un promedio aritmético, además, se debe mostrar un mensaje que indique si aprobó o no aprobó la materia y la nota que necesita para pasar.
Para el segundo interrogante, se ignoran los elementos que no son necesarios para la solución del problema y se selecciona los más importante. En este caso los datos más importantes son: el nombre del curso, las tres notas parciales del curso y los mensajes que se desean como resultado: el curso ya se aprobó, el curso ya se reprobó y lo que necesita en la cuarta nota para aprobar.
Descomposición:
Para este interrogante se debe mostrar las acciones o partes que se requieren para solucionar el problema.
En este caso, la acción sería: Ingresar el nombre del curso, ingresar las tres notas parciales, calcular la cuarta nota del curso con promedio aritmético, generar el mensaje del curso y mostrar el mensaje.
Siempre las acciones se deben de tener la misma sintaxis, es decir, Verbo + Complemento
Antes de pasar a la tercera etapa es importante preguntarnos:
¿Qué se debe hacer para calcular la cuarta nota del curso con promedio aritmético?
Pensamos matemáticamente cómo se puede resolver....
La idea es sumar las cuatro notas y dividirlas por cuatro, es decir:
definitiva = (nota 1 + nota 2 + nota 3 + nota 4) / 4
Debemos despejar la cuarta nota, debido a que es la que necesitamos averiguar. Para ello, pasamos el 4 que esta dividienso las cuatro notas al otro lado a multiplicar, de esta forma:
definitiva * 4 = (nota 1 + nota 2 + nota 3 + nota 4)
Luego, pasamos la nota 1, la nota 2 y la nota 3 al otro lado a restar, de la siguiente manera:
definitiva * 4 - nota 1 - nota 2 - nota 3 = nota 4
Y, como la nota mínima para pasar el curso es 3, entonces, la variable definitiva la reemplazamos por 3.0. Quedando así:
3 * 4 - nota 1 - nota 2 - nota 3 = nota 4
Lo que equivale a:
12 - nota 1 - nota 2 - nota 3 = nota 4 o a su vez:
nota 4 = 12 - nota 1 - nota 2 - nota 3
Reconocimiento de patrones:
Para responder este interrogante se debe identificar que elementos de ejercicios anteriores me pueden servir para solucionar el problema actual.
En este caso, podemos usar la función ingresar_real, mostrar_mensaje.
Codificación:
Posible solución :
Se define la función ingresar texto, para ingresar el nombre del curso.
Un texto se ingresa con la función input, str.
Se define la función ingresar real para ingresar la nota 1, la nota 2 y la nota 3.
Se define la función calcularla cuarta nota, teniendo en cuenta la nota 1, la nota 2 y la nota 3.
Se define la función mostrar mensaje. En esta función se hace necesario trabajar las estructuras de selección simple para determinar la condición, es decir, si la nota 4 es menor a 0 (nota mínima) quiere decir que la nota se aprobó, por otro lado, si la nota es mayor a 5 (nota máxima) quiere decir que ya reprobó el curso, de lo contrario, se mostrara un mensaje indicando la nota que necesita para aprobar el curso.
Se ingresa el mensaje teniendo en cuenta f string (imprime un mensaje por pantalla utilizando una “cadena de formato” ), {} - se utilizan para imprimir un dato ya calculado o ingresado anteriormente y finalmente, todo el mensaje va entre comillas
Se muestra el mensaje con la función mostrar_mensaje (print).
Temas a profundizar para la solución de este problema: