Primer Concurso de Programación de la Región Cañada Cprog-UNCA SOLUCIONES ETAPA I Problema 3. Descripción: Karel y su hermanita Gretel fueron a la feria, a los dos hermanos se les ocurrió entrar al juego del laberinto en el cual se tenían escondidas 8 monedas (zumbadores). Si ellos recogían todas las monedas podrían quedarse con ellas y juntaba menos tendría qque ue devolverlas. Problema: Se presenta un mundo delimitado por paredes, dentro de este se encuentran 8 zumbadores, Karel tiene que recoger todos los zumbadores y salir. Consideraciones: Karel debe recoger todas las monedas utilizando las estructuras de ccontrol de repetición y decisión. Entrada: Mundo: Compuesto ompuesto por los elementos elementos que se muestran en la imagen “Mundo Inicial”. Mochila: Contiene 0 zumbadores. zumbador Posición: (2,2) Orientación: oeste. Mundo Inicial 1 Salida: Mundo:: Se mostrará como en la imagen “Mundo Final”. Mochila: Contiene 8 zumbadores. Posición: (1,2) Orientación: oeste. Mundo Final 2 SOLUCION: iniciar-programa instruccion gira-derecha gira como inicio define-nueva-instruccion repetir 3 veces gira-izquierda; izquierda; fin; inicia-ejecucion repetir 2 veces inicio gira-izquierda; fin; mientras frente-libre libre hacer avanza; mientras frente-bloqueado bloqueado hacer gira gira-izquierda; mientras frente-libre libre hacer avanza; mientras frente-bloqueado bloqueado hacer gira gira-derecha; avanza; gira-derecha; avanza; coge-zumbador; mientras frente-bloqueado bloqueado hacer gira gira-izquierda; avanza; gira-derecha; si frente-libre libre entonces avanza; gira-izquierda; mientras frente-libre libre hacer avanza; repetir 2 veces inicio si frente-bloqueado bloqueado entonces gira-derecha; gira mientras frente-libre libre hacer avanza; fin; si frente-bloqueado bloqueado entonces gira-izquierda; gira avanza; gira-izquierda; avanza; coge-zumbador; mientras derecha-bloqueada bloqueada hacer avanza; si derecha-libre libre entonces gira gira-derecha; mientras frente-libre libre hacer avanza; 3 mientras frente-bloqueado bloqueado hacer gira gira-derecha; repetir 2 veces inicio mientras frente-libre libre hacer avanza; ava mientras frente-bloqueado bloqueado hacer gira gira-izquierda; fin; mientras derecha-bloqueada bloqueada hacer avanza; si derecha-libre libre entonces gira gira-derecha; mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-derecha; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira repetir 2 veces inicio mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-derecha; gira fin; mientras frente-libre libre hacer avanza; coge-zumbador; repetir 2 veces inicio gira-izquierda; fin; mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira mientras frente-libre libre hacer avanza; coge-zumbador; repetir 2 veces inicio gira-izquierda; fin; mientras derecha-bloqueada bloqueada hacer avanza; si derecha-libre libre entonces gira gira-derecha; mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-derecha; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira mientras derecha-bloqueada bloqueada hacer avanza; si derecha-libre libre entonces gira gira-derecha; mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira 4 avanza; gira-izquierda; avanza; coge-zumbador; repetir 2 veces inicio gira-izquierda; fin; mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira avanza; bloqueada hacer avanza; mientras izquierda-bloqueada si izquierda-libre libre entonces gira-izquierda; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-derecha; gira avanza; gira-derecha; avanza; coge-zumbador; repetir 2 veces gira-izquierda; izquierda; repetir 2 veces inicio mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira fin; libre hacer avanza; mientras frente-libre si frente-bloqueado bloqueado entonces gira-derecha; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira avanza; gira-izquierda; libre hacer avanza; mientras frente-libre si frente-bloqueado bloqueado entonces gira-derecha; gira avanza; coge-zumbador; mientras frente-libre libre hacer avanza; si frente-bloqueado oqueado entonces gira-izquierda; gira 5 mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-derecha; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira repetir 2 veces avanza; gira-izquierda; mientras frente-libre hacer acer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira mientras frente-libre libre hacer avanza; coge-zumbador; izquierda; repetir 2 veces gira-izquierda; mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-derecha; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-izquierda; gira mientras frente-libre libre hacer avanza; si frente-bloqueado bloqueado entonces gira-derecha; gira repetir 3 veces avanza; zumbador; repetir 8 veces deja-zumbador; apagate; termina-ejecucion finalizar-programa 6