TP M3: Ejercicio 23 #13
santiemanuel
started this conversation in
Soluciones
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Enunciado:
Escribir una función que simule una calculadora científica que permita calcular el seno, coseno, tangente, exponencial y logaritmo neperiano. La función preguntará al usuario el valor y la función a aplicar, y mostrará por pantalla una tabla con los enteros de 1 al valor introducido y el resultado de aplicar la función a esos enteros.
Resolución
Explicación por componentes
Diccionario
Luego de importar las funciones necesarias, tenemos un diccionario con la siguiente estructura:
clave: string
:valor: función
La clave es el nombre que el usuario utilizará para llamar a una función específica, aquí podríamos colocar sin/sen/seno independientemente según querramos en nuestra implementación, este es el dato que vamos a recibir como entrada.
Por qué un diccionario, la función
input
siempre nos devuelve una cadena, y el parámetro de función no lo es, es el identificador de la función que queremos llamar, por este motivo lo colocamos en el valor del diccionario para hacer la llamada correcta.Función: Validar opción
Aquí pediremos la función que se desea aplicar, y dentro de la función esta podemos crear un ciclo de comprobación.
Al no saber la cantidad de veces a repetir, usamos el ciclo
while
, y este se repite mientras la opción ingresada no sea una clave del diccionariofunciones
. Una vez que el pedido del usuario sea una clave válida, podemos salir del ciclo y devolver esta cadena.Función: Validar número
Ahora necesitamos un valor mayor igual que 1, entonces ponemos como condición mientras la entrada sea menor que 1. Esta validación se podría mejorar para primero comprobar que sea un entero válido pero complicaría la explicación más allá del problema.
Función: Calcular lista
Aquí es donde se llamará a la función (ya por su identificador), las
n
veces que se nos haya pedido. Evaluamos la función elegida para uni
, y lo guardamos envalor
. Y a su vez guardamos este dato en una lista. Una vez terminados losn
valores devolvemos la lista de los resultados para la función elegida.Función: Mostrar tabla
Aquí recibimos el nombre de función que ingresó el usuario, ya que tenemos disponible esta información, y la lista que guardó los resultados de aplicar dicha función. El resto de la función es solo formato de
f-strings
para crear una tabla formateada.Uso de las funciones en conjunto
En el bloque:
Tenemos el flujo del programa.
funcion
.resultado
.funciones
con la cadenafuncion
, y este nos devuelve la función como identificador para poder utilizarlo encalcular_lista
.mostrar_tabla
que, con la cadenafuncion
y la listaresultado
nos muestra la tabla final.Ejemplo de uso
Función: sin
Valor: 10
Salida
Beta Was this translation helpful? Give feedback.
All reactions