Título: Script adivinar numero en bash Publicado por: andaluz en 11 Noviembre 2011, 17:56 pm Hola a todos, he realizado un script y una vez realizado no es del todo eficiente.
El problema lo tengo con los números aleatorios de inicio y fin, aquí os dejo el script que yo he realizado haber si me pueden ayudar a resolverlo. tiene algunos "echo" de mas porque los he ido utilizado para ayudarme. Código
Título: Re: Script adivinar numero Publicado por: andaluz en 12 Noviembre 2011, 17:15 pm Nadie consigue solucionar el ejercicio?? yo es que estoy probando de varias maneras pero no consigo solucionar el ejercicio.
Espero que me puedan ayudar, Saludos Título: Re: Script adivinar numero Publicado por: hervasiop12345 en 12 Noviembre 2011, 19:06 pm Código: #! /bin/bash # La estrategia será proponer siempre el número mitad entre el tope superior y # el inferior. Por conveniencia, partimos del intervalo [0,11], para que ambos # extremos se consideren siempre como "ya probados" myguess=`date +%N | cut -c2` myguess=$(( $myguess+1 )) # Aleatorio entre 1 y 10 a través de los nanosegundos bottom=0 top=11 while true do while true do echo -n "¿ El número es el $myguess ? " read respuesta case $respuesta in correcto) echo "¡¡ El número era el $myguess !!" exit ;; mayor) bottom=$myguess break ;; menor) top=$myguess break ;; *) echo "Conteste (correcto|mayor|menor)" continue ;; esac done antguess=$myguess myguess=$(( ($top+$bottom)/2 )) echo top=$top bottom=$bottom myguess=$myguess antguess=$antguess if [ $(( $bottom+1 )) -eq $top ] then echo "Tramposo: dijiste que el número era mayor que $bottom y menor que $top" break; fi done Aquí te dejo una buena solución , publicada por un profesor mio Título: Re: Script adivinar numero Publicado por: andaluz en 12 Noviembre 2011, 19:22 pm gracias!!!
Título: Re: Script adivinar numero Publicado por: andaluz en 13 Noviembre 2011, 12:00 pm la solucion facilitada por hervasiop12345 es correcta, pero me gustaria solucionar el ejercicio de la forma que yo lo puse al principio.
el fallo me lo da al darle nuevo valor a la variable inicio y fin, por eso se van los rangos, Espero que me puedan ayudar a encontrar la solucion a mi problema, Saludos Título: Re: Script adivinar numero en bash Publicado por: leogtz en 13 Noviembre 2011, 18:33 pm Lo que siempre he usado para generar números con rango:
Código
Un ejemplo solamente.... Título: Re: Script adivinar numero en bash Publicado por: andaluz en 17 Noviembre 2011, 13:32 pm ok gracias leo
Título: Re: Script adivinar numero en bash Publicado por: andaluz en 17 Noviembre 2011, 14:27 pm esa forma de sacar aleatorio esta bien, pero la que yo tengo tambien esta bien, el problema creo que esta en la implementacion del algoritmo. aqui os dejo el nuevo ejercicios que yo he confeccionado, es igual que el anterior, pero le he añadido algunas condiciones al while.
otra forma de generar el aleatorio la he dejado comentada y utiliza la proporcionada por Leo. espero que me puedan ayudar a resolverlo. Código
Título: Re: Script adivinar numero en bash Publicado por: andaluz en 22 Noviembre 2011, 10:59 am Alguien me ayuda a solucionar este ejercicio??
el numero aleatorio me lo da bien, el problema esta en los limites de mayor y menor que no me los pone bien ya que he ejecutado el ejercicio. Espero que me puedan ayudar, Saludos Título: Re: Script adivinar numero en bash Publicado por: andaluz en 22 Noviembre 2011, 12:59 pm Ya esta solucionado!!!!
Saludos |