Reconocimiento de notas musicales en Python

Más ejercicios resueltos

Si deseas revisar más ejercicios resueltos, haz click en el siguiente botón. 

El problema de reconocimiento de notas musicales es un ejercicio básico que permite entender el funcionamiento de las condicionales simples. En este artículo analizamos con bastante detalle este ejercicio poniendo énfasis en la lógica de programación y en la estructura algorítmica selectiva simple empleando como el lenguaje de programación Python. Si deseas conocer con más detalle el enunciado del ejercicio reconocimiento de notas musicales, haz click en el siguiente enlace.

El análisis de este ejercicio se encuentra sintetizado en el vídeo «Selectiva Simple en Python» en nuestro canal de YouTube. Te invitamos a que lo visites.

A continuación presentamos la solución al problema del reconocimiento de la nota musical La usando una selectiva simple en Python. Se analizará la solución considerando los siguientes puntos:

  • Lectura de datos
  • Control de flujo

Lectura de datos​

Para la lectura de datos en Python usaremos la función \texttt{input}. Esta función retorna una cadena de caracteres por lo que para poder obtener el valor leído como  número real usamos la función \texttt{float}. La cadena de caracteres que se escribe en la función \texttt{input}, es un mensaje que se le presentará al usuario, antes de que se realice la lectura.

La variable que almacenará el número real la hemos identificado con \texttt{frecuencia}. Esta variable almacenará la referencia al valor leído. A diferencia de ANSI C y Java, en Python no es necesario que declaremos las variables antes de su uso. Además no es necesario indicarle el tipo de dato. Python le asignará un tipo de dato a la referencia de acuerdo al valor que contiene.

frecuencia=float(input("Ingrese frecuencia (Hz): ")) 

Control de flujo​

Para el control de flujo usaremos una selectiva simple. Hay que tener en cuenta que en Python, el operador de comparación de igualdad es \texttt{==}. Es muy común, sobre todos para los que están iniciando en el mundo de la programación en Python, confundirlo con el operador de asignación \texttt{=}. Python emitirá un mensaje de error en caso intente usar el operador de asignación en la condición de la selectiva simple.

frecuencia=float(input("Ingrese frecuencia (Hz): "))

if frecuencia == 440:
    print("A") 

Conclusión

Hemos presentado en este artículo, una propuesta de solución al problema de reconocimiento de la nota La en su primera octava usando Python. Se ha utilizado para el control de flujo la estructura selectiva simple. Podrá descargar la solución propuesta en el repositorio GitHub de iterando++ a través del siguiente enlace

Hemos preparado otros artículos adicionales en donde describimos al detalle la implementación de este problema PSeInt y en otros lenguajes de programación. Te invitamos a leer los siguientes artículos de iterando++

Si te interesa profundizar más en el desarrollo en Python, los dos mejores libros que se han escrito son Learning Python de Mark Lutz y Python Crash Course de Eric Matthes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *