Solucion problema 17: El cuarto

Como he visto que muchos usuarios tienen problemas en el cuarto y ademas me pidieron la solucion, creo que es momento de ayudar un poco, iniciemos con como se plantea el problema: en las consideraciones dice lo siguiente:

* Karel siempre empieza pegado a una de las paredes del cuarto y se mueve en contra de las manecillas del reloj.
*El cuarto siempre es rectangular o cuadrado.
* No se sabe en que posicion esta la puerta.
* No existen obstaculos de por medio.
* Karel debe finalizar afuera del cuarto sin importar su orientacion final.

Deduciendo esto si karel inicia pegado a una pared y se mueve en contra de las manecillas del reloj, siempre iniciara en una posicion como la que monstramos en la imagen (siempre pegado a la pared y así gira en contra de las mancillas del reloj.

cuartotuto

si te fijas siempre va a ir hacia las manecillas del reloj asi que forcosamente inicia en una de estas 4 posiciones.

ahora de aqui podemos sacar 2 conclusiones mas:

Si la derecha esta libre encontramos la salida.

Si el frente esta bloqueado hay una pared y tenemos que girar a la izquerda y continuar buscando una salida del lado izquierdo.

El codigo en este caso seria así:

iniciar-programa
inicia-ejecucion
mientras derecha-bloqueada hacer inicio
si frente-bloqueado entonces gira-izquierda;
si frente-libre entonces avanza;
fin;
apagate;
termina-ejecucion
finalizar-programa

como puedes ver aqui lo que hace es lo que deducimos anteriormente mientras que la derecha esta bloqueada revisa si el frente esta libre, si no esta libre entonces gira a la izquierda y si tiene el frente libre avanza;

esto se va a hacer hasta que la derecha este libre.

Si lo corres asi, te daras cuenta de que siempre en todos los mundos quedas un paso antes de salir ahora hay que salir para salir es tan facil como salir a la derecha.

para salir seria este codigo

gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;

ahora lo ponemos todo junto:

iniciar-programa
inicia-ejecucion
mientras derecha-bloqueada hacer inicio
si frente-bloqueado entonces gira-izquierda;
si frente-libre entonces avanza;
fin;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
apagate;
termina-ejecucion
finalizar-programa

prueba tu codigo y veras que en la mayoria de los mundos funciona como deseas pero hay mundos en los que no, por las esquinas ahora explico eso (en realidad con este codigo tendrias 80 puntos, pero queremos 100 no ?)

Aqui esta la falla:

Cuarto error

al correr el codigo pasa esto:

Cuarto error 2

Ahora ya vez cual es el error, te dire como resolverlo pero no la solucion:

primero revisa si tienes el frente-libre si no lo tienes libre entonces sal de manera normal:

posible caso

ahora si lo tienes libre avanza una ve mas y revisa tu derecha, si la derecha esta libre regresa 1 cuadro y apagate, si la derecha esta bloqueada, regresa un cuadro y sal a la derecha:

derecha libre aqui la derecha esta libre asi que solo nos regresamos uno y terminamos

derecha bloqueadaEn este ejemplo la derecha esta bloqueada asi que nos regresamos 1 y salimos

Y listo haciendo esto tienes tu solucion!

Bueno cualquier duda o aclaracion sobre este problema pon un comentario aqui!

3 comentarios to “Solucion problema 17: El cuarto”

  1. como se pone a karel en el centro???

  2. que onda a odos
    el asunto de mi comentario es que
    tengo algun problema con el problema del cuarto
    me avian comentado que con un parche lo podia solucionar
    pero ya lo e intentadode muchas maneras y solo empeoro mi codigo
    y alguien me pudiera ayudar se lo agradeceria mucho o talves pudieramos
    acer trueques de programas
    asi que ps mi avatar en gira-izquerda es “phrazesbass” chequenlo y si a alguien le interesa alguno de mis problemas estoy disponible 100% para cambiarlo por el programa delcuarto o por lomenos una ayudadita util
    dannypokeazul@hotmail.com
    agreguen y la neta chido si se pudiera y ya

  3. ushis clau Says:

    estan bien estupidos
    eso no comíla

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: