Validación de rango del espectro de luz visible en Python

Más ejercicios resueltos

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

El problema de validación del rango del espectro de luz visible es un ejercicio básico que permite entender el funcionamiento de las condicionales dobles. 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 doble empleando como herramienta el lenguaje de programación Python. Si deseas conocer con más detalle el enunciado del ejercicio validación de rango del espectro de luz visible, haz click en el siguiente enlace.

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

A continuación presentamos la solución al problema de la validación del rango del espectro de luz visible usando una selectiva doble en Python. Se analizará la solución considerando los siguientes puntos:

  • Lectura de datos
  • Control de flujo cuando la condición es verdadera
  • Control de flujo cuando la condición es falsa

Lectura de datos

La primera tarea a realizar, es la lectura de los datos de entrada. 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 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 el nombre \texttt{lon\_onda}. 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.

lon_onda=float(input("Ingrese longitud de onda (nm): ")) 

Control de flujo cuando la condición es verdadera

Luego de realizar la lectura de la longitud de onda, se debe reconocer si dicha longitud de onda pertenece al rango visible. Para que dicha onda de luz pertenezca al rango de luz visible, la longitud de onda se debe encontrar entre 380 y 780 nanómetros. ¿Cómo podemos determinar si la longitud de onda se encuentra en dicho rango? Pues usando una selectiva doble.  En la condición de la selección doble se deben usar dos expresiones lógicas unidas por el operador de conjunción.

La condición sería \texttt{lon\_onda>=380 and lon\_onda<=780} como se puede apreciar. Es importante recordar que los operadores relacionales en Python son binarios, es decir admiten únicamente dos operandos, por lo que para gestionar un rango de valores, debe hacerse uso de conectores lógicos. Si la condición se cumple, se imprime el mensaje \texttt{Dentro del espectro visible}.

on_onda=float(input("Ingrese longitud de onda (nm): "))

if lon_onda >= 380 and lon_onda <= 780:         
    print("La longitud de onde se encuentra dentro del espectro visible") 

Control de flujo cuando la condición es falsa

Hasta el momento nuestra solución es capaz de detectar o reconocer una onda de luz en el espectro visible, pero no nos dice nada cuando no está dentro del rango. Como queremos que se emita un mensaje cuando se está fuera del espectro visible, debe incluir el comando \texttt{else} para que el flujo se dirija hacia otro conjunto de instrucciones, en caso la condición sea falsa. En nuestra solución, cuando la condición se hace falsa, se imprime el mensaje \texttt{Fuera del espectro visible}.

lon_onda=float(input("Ingrese longitud de onda (nm): "))
         
if lon_onda >= 380 and lon_onda <= 780:
    print("La longitud de onde se encuentra dentro del espectro visible")
else:
    print("La longitud de onde no se encuentra dentro del espectro visible") 

Conclusión

Hemos presentado en este artículo, una propuesta de solución al problema de validación del rango del espectro de luz visible usando Python. Se ha utilizado para el control de flujo la estructura selectiva doble. 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 *