Grupo 308 de Informática | Karel


Recoge los zumbadores

 

Descripción del problema:
  • Karel se encuentra inicialmente orientado hacia el NORTE, en la esquina inferior izquierda de un cuarto rectangular. 
  • El cuarto rectangular puede tener cualquier medida de 1x1 hasta 20x20.
  • Hay varios zumbadores tirados en el cuarto, en varias posiciones del mismo.
  • Debes hacer un programa que haga que Karel recorra todo el cuarto y recoja todos los zumbadores que encuentre. 
  • Una vez que tenga todos los zumbadores deberá depositarlos en la esquina inferior izquierda del cuarto y apagarse.
  • No importa la dirección con la que termine Karel.

El siguiente es la imagen del mundo de ejemplo.

Solución para el mundo de ejemplo:
Si tu programa funciona correctamente, al final de la ejecución se debe observar como en la siguiente imagen. (No importa hacia donde quede orientado Karel).




1 comentario:

  1. iniciar-programa
    define-nueva-instruccion caminaAvanza como inicio
    mientras junto-a-zumbador hacer inicio
    coge-zumbador;
    fin;
    mientras frente-libre hacer inicio
    avanza;
    mientras junto-a-zumbador hacer inicio
    coge-zumbador;
    fin;
    fin;
    fin;

    define-nueva-instruccion GirarAvanzar como inicio
    mientras no-orientado-al-este hacer inicio
    caminaAvanza;
    si derecha-libre entonces inicio
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
    avanza;
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
    caminaAvanza;
    si izquierda-libre entonces inicio
    gira-izquierda;
    avanza;
    gira-izquierda;
    fin
    sino inicio
    gira-izquierda;
    fin;
    fin
    sino inicio
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
    fin;
    fin;
    fin;

    define-nueva-instruccion regresa como inicio
    gira-izquierda;
    gira-izquierda;
    mientras frente-libre hacer inicio
    avanza;
    fin;
    gira-izquierda;
    mientras frente-libre hacer inicio
    avanza;
    fin;
    fin;

    define-nueva-instruccion dejarZumbadores como inicio
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;
    fin;

    inicia-ejecucion
    GirarAvanzar;
    regresa;
    dejarZumbadores;
    apagate;
    termina-ejecucion
    finalizar-programa

    ResponderEliminar