Procedimiento para obtener un número aleatorio utilizando la función RANDOM% de BASH.
Explicación "paso a paso", utilizando la sintaxis necesaria para un programa para este lenguaje de programación.
Recuerda introducir la línea
#!/bin/bash
al inicio del script para que el mismo funcione. Si quieres, también puedes agregar (debajo del #!/bin/bash) el comando clear, para limpiar la pantalla y que tu programa luzca mejor.
# Preguntaremos al usuario cuáles serán los valores (mínimo y máximo) permitidos, y
# los guardaremos en las variables min y max, respectivamente.
read -p "Introduzca el valor mínimo: " min
read -p "Introduzca el valor máximo: " max
# Ahora, determinaremos cuántos números estarán involucrados en la generación
# del número aleatorio. Esto se logra restándole al máximo el mínimo. Si se busca
# hallar un número entre 50 y 100, estarán involucrados 50 números en el proceso
# 100 (valor máximo) - 50 (valor mínimo) = 50 números.
base=$(($max-$min))
# Sumaremos 1 al valor obtenido, para que el sistema de aleatoriedad interno de BASH
# no produzca valores a partir de 0, sino a partir de 1 (de este modo, en lugar de
# producirse valores entre 0 y 49, se producirán entre 1 y 50).
base=$((base+1))
# Generaremos un número aleatorio que tendrá como límite mayor el valor calculado
# hasta ahora. Si se buscaba un número entre el 50 y el 100, con este procedimiento,
# obtendremos, en realidad, un número del 1 al 50.
n_aleatorio=$(( RANDOM% $base ))
# Al valor aleatorio generado, debemos sumarle el mínimo, para ajustar los límites del
# número verdaderamente buscado. Recordemos que los límites, originalmente, eran
# 50 y 100, pero hubo que convertirlos en 1 (mínimo) y 50 (máximo) debido al
# funcionamiento interno de BASH para este tipo de procedimiento.
n_aleatorio=$((n_aleatorio+$min))
echo ""
echo "El número aleatorio resultante, es el siguiente:" $n_aleatorio
echo ""
No hay comentarios.:
Publicar un comentario